Comprehensive Guide to Building and Using an MLX90614 Proteus Library
In the simulation model, you usually cannot "point" the sensor at an object to change the temperature reading dynamically.
Need the code? For Arduino users, use the Adafruit MLX90614 Library. It works seamlessly with the simulation if the I2C pins are connected correctly.
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup()
Serial.begin(9600);
mlx.begin();
void loop()
Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC());
Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
delay(500);
MLX90614 Infrared Thermometer Sensor Library for Proteus
The MLX90614 is a non-contact infrared thermometer sensor that can measure the temperature of an object without physically touching it. It is widely used in various applications such as temperature monitoring, heat detection, and thermal imaging. In this article, we will discuss how to use the MLX90614 library in Proteus, a popular circuit simulation software.
Introduction to MLX90614
The MLX90614 is a miniature infrared thermometer sensor that uses a thermopile detector to measure the infrared radiation emitted by an object. It has a high accuracy of ±0.5°C and a wide temperature range of -20°C to 120°C. The sensor communicates with the microcontroller using I2C protocol.
Proteus Library for MLX90614
To simulate the MLX90614 sensor in Proteus, we need to add the library to the software. Here are the steps to follow:
Using the MLX90614 Library in Proteus
Once you have added the library to Proteus, you can start using it in your project. Here are the steps to follow:
Simulation and Testing
Once you have set up the MLX90614 component in your Proteus project, you can simulate and test its functionality. Here are the steps to follow:
Example Code
To demonstrate the use of the MLX90614 library in Proteus, here is an example code in C:
#include <16F877A.h>
#include <MLX90614.h>
void main()
// Initialize the MLX90614 component
MLX90614_Init();
while (1)
// Read the temperature
float temperature = MLX90614_ReadTemperature();
// Display the temperature on the virtual terminal
printf("Temperature: %.2f°C\r\n", temperature);
// Delay for 1 second
delay_ms(1000);
This code initializes the MLX90614 component, reads the temperature, and displays it on the virtual terminal.
Conclusion
In this article, we discussed how to use the MLX90614 library in Proteus to simulate and test the functionality of the infrared thermometer sensor. We covered the steps to download and add the library to Proteus, configure the component, and simulate and test its functionality. We also provided an example code to demonstrate the use of the MLX90614 library. With this library, you can design and test your projects that use the MLX90614 sensor in a simulated environment before moving to the hardware implementation.
Important Note: Proteus does not include the MLX90614 in its default library. You must download or create a custom library. This guide covers both methods.
.HEX file you downloaded (part of the library).8MHz (or match your code).You should see temperature readings in the Virtual Terminal or Serial Monitor.
Troubleshooting:
- If no output, check I2C pull-ups (4.7kΩ).
- If "I2C device not responding", verify the MLX90614's
.HEXfile path.- Some libraries require +3.3V only – use a voltage regulator if needed.
A Proteus library for MLX90614 enables realistic SMBus/I2C simulation for firmware and circuit testing. Implementing a VSM behavioral model that supports temperature registers, PEC, EEPROM, and configurable parameters provides useful fidelity for typical development tasks.
If you want, I can generate:
MLX90614 Infrared Thermometer Library for Proteus
The MLX90614 is a non-contact infrared thermometer that can measure temperature in a wide range of applications. In this write-up, we will explore how to use the MLX90614 library in Proteus, a popular simulation software for electronic circuits.
Introduction
The MLX90614 is a high-accuracy infrared thermometer that uses advanced thermopile technology to measure temperature. It has a wide temperature measurement range of -40°C to 125°C and an accuracy of ±0.5°C. The device communicates with microcontrollers using the I2C protocol.
Proteus Library
To use the MLX90614 in Proteus, you need to download and install the MLX90614 library. The library provides a virtual model of the device that can be used in your Proteus simulations.
Step-by-Step Installation
Adding the MLX90614 to Your Proteus Schematic
Configuring the MLX90614
Simulation and Testing
Example Code
Here is an example code snippet in C that demonstrates how to read temperature data from the MLX90614 using the I2C protocol:
#include <stdint.h>
#include <stdbool.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#define MLX90614_I2C_ADDRESS 0x5A
void mlx90614_init()
// Initialize I2C communication
TWBR = 0x18; // 100 kHz
TWSR = 0x00;
uint16_t mlx90614_read_temperature() (1 << TWSTA);
while (!(TWISr & (1 << TWINT)));
TWIDR = (MLX90614_I2C_ADDRESS << 1)
int main()
mlx90614_init();
while (1)
uint16_t temperature = mlx90614_read_temperature();
// Process temperature data
return 0;
This code snippet demonstrates how to initialize the I2C communication, send a read command to the MLX90614, and read temperature data from the device.
Conclusion
The MLX90614 library for Proteus provides a convenient way to simulate and test the MLX90614 infrared thermometer in your electronic circuits. By following the steps outlined in this write-up, you can easily add the MLX90614 to your Proteus schematic and start simulating and testing your projects.
The MLX90614 Proteus library is a specialized simulation tool that allows engineers and students to virtually prototype non-contact temperature measurement systems before moving to physical hardware. Because the is a digital sensor using the SMBus (I2C) protocol
, a dedicated Proteus library is essential to provide the necessary simulation model (
files) that responds to I2C commands from microcontrollers like the Arduino Uno Key Features for Simulation Dual-Temperature Monitoring : High-quality libraries simulate both (environment) and
(target) temperatures, often providing interactive buttons in Proteus to adjust these values in real-time. Protocol Accuracy : The library replicates the sensor's 17-bit ADC and digital signal processing
, ensuring that the simulated I2C responses match the actual datasheet specifications for a resolution of approximately Hardware Pin Compatibility : Most libraries feature a standard 4-pin layout: (3.3V/5V), , allowing for direct connection to microcontrollers. Performance Review ⭐⭐⭐⭐⭐
Excellent for logic testing; accurately simulates the factory-calibrated SMBus output Ease of Use ⭐⭐⭐⭐ High, provided you follow the step-by-step guide files in the Proteus Integration ⭐⭐⭐⭐⭐ Works seamlessly with standard Arduino libraries like Adafruit_MLX90614 Availability
Standard Proteus installations often lack this sensor; it usually requires a third-party download from sources like The Engineering Projects Pros and Cons
The MLX90614 Proteus library is a custom simulation model designed to bridge the gap between physical hardware and virtual circuit design for the Melexis MLX90614 non-contact infrared temperature sensor. Because Proteus does not include a native model for this specific I2C-based sensor, users typically rely on third-party libraries—most notably those from The Engineering Projects. Key Features of the Proteus Library
Virtual Interaction: Since physical IR waves cannot be simulated in Proteus, these libraries often use a TestPin to mimic the presence of an object. Applying a HIGH or LOW voltage to this pin triggers the sensor's response in the simulation.
Protocol Support: The library accurately models the SMBus/I2C communication, allowing it to interface with microcontrollers like the Arduino Uno or Nano within the Proteus workspace.
Visual Representation: It provides a specific LIB (library) and IDX (index) file that adds the TO-39 package component to your Proteus "Pick Device" list. Review of Strengths & Limitations New Proteus Libraries of Digital Sensors mlx90614 proteus library
Interfacing the infrared temperature sensor in requires a specific component library since it is not included in the software by default. Follow this guide to set up the library and simulate your project. 1. Download and Install the Library
To see the MLX90614 in your component list, you must manually add the library files to the Proteus system folder. Acquire Files : Look for a trusted third-party MLX90614 Proteus Library zip file (common sources include The Engineering Projects or GitHub community repos). : The zip typically contains two main files: Copy to Proteus
Navigate to your Proteus installation directory. Common paths:
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Data\LIBRARY
C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY (this folder might be hidden). Paste both the files into this
: Close and reopen Proteus to refresh the component database. The Engineering Projects 2. Basic Circuit Connection The MLX90614 uses the I2C (SMBus) protocol, requiring only two data pins for communication. SparkFun Electronics
: Connect to 3.3V or 5V (depending on your specific sensor model). : Connect to the common circuit ground. SCL (Serial Clock)
: Connect to the I2C clock pin on your microcontroller (e.g., on Arduino Uno). SDA (Serial Data)
: Connect to the I2C data pin on your microcontroller (e.g., on Arduino Uno).
: In Proteus, these modules often include a "Test" pin where you can attach a Logic State Potentiometer to simulate changing temperature values during the run. Adafruit Learning System 3. Firmware Setup (Arduino Example)
To read data from the sensor in your code, you need a software library for your IDE. Adafruit Learning System MLX90614 IR Thermometer Hookup Guide - SparkFun Learn
The MLX90614 is a high-precision, non-contact infrared (IR) thermometer that measures temperature from a distance by detecting emitted infrared radiation. In simulation environments like Proteus 8 Professional, this sensor is not included in the default component database. To use it, you must manually install a third-party library to provide the schematic model and simulation behavior. 1. Key Features of the MLX90614 Measurement Range: Ambient temperature from and object temperature from High Precision: Includes a 17-bit ADC with a resolution of
Communication Interface: Uses the I2C-compatible SMBus protocol for easy connection to microcontrollers like Arduino.
Contactless Sensing: Ideal for measuring moving machinery, hazardous materials, or medical use cases where physical contact is impossible. 2. How to Install the MLX90614 Proteus Library
Since Proteus does not natively support the MLX90614, you must download a library (often found on platforms like The Engineering Projects) and follow these steps:
There is no official or native MLX90614 library for Proteus (from Labcenter Electronics). Proteus’s default component library does not include this specific IR temperature sensor. Title Comprehensive Guide to Building and Using an
However, you have several practical options to simulate an MLX90614 in Proteus: