Mlx90614 Proteus Library
The MLX90614 is a contactless IR temperature sensor with a digital SMBus/I2C output (addressable), commonly used to measure object and ambient temperatures. Proteus lacks an official behavioral model for the device; creating a custom library enables circuit simulation and firmware testing.
This code snippet illustrates reading the object temperature register.
#include <Wire.h>
#define MLX90614_ADDR 0x5A
#define MLX90614_OBJ_TEMP 0x07
void setup()
Serial.begin(9600);
Wire.begin();
void loop()
float temp = readTemperature();
Serial.print("Object Temperature: ");
Serial.print(temp);
Serial.println(" C");
delay(1000);
float readTemperature()
int16_t rawTemp;
Wire.beginTransmission(MLX90614_ADDR);
Wire.write(MLX90614_OBJ_TEMP);
Wire.endTransmission(false);
Wire.requestFrom(MLX90614_ADDR, 3);
if (Wire.available() >= 3)
uint8_t low = Wire.read();
uint8_t high = Wire.read();
uint8_t pec = Wire.read(); // Packet Error Code
rawTemp = (high << 8)
return NAN;
If you are working on a contactless temperature measurement project (like a forehead thermometer or HVAC monitor), you likely need the MLX90614 sensor. Unfortunately, Proteus does not include this sensor in its default library.
Here is how to get it running in your simulation.
Appendix A — Registers (condensed)
Appendix B — Code Samples (select excerpts)
Appendix C — Test Vectors
Appendix D — Change Log
Appendix E — References
Deliverables (suggested in repository)
Estimated development timeline (single developer) mlx90614 proteus library
If you want, I can:
Which deliverable should I produce first?
is a non-contact infrared (IR) thermometer that measures object temperatures ranging from
using IR radiation. Because Proteus does not include this sensor in its default library, you must manually add a third-party library to simulate it. 1. Downloading and Installing the Proteus Library
To use the MLX90614 in your simulation, you need library files (typically ) specifically designed for it. Locate Files
: Download the MLX90614 library package from a reliable source like The Engineering Projects Identify Library Files : Ensure you have three essential files: InfraredSensorsTEP.LIB InfraredSensorsTEP.IDX InfraredSensorsTEP.HEX
(This file is often required for the sensor's internal simulation logic). Installation Steps Navigate to your Proteus installation directory (usually
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\Data\LIBRARY Paste the files into the Restart Proteus to initialize the new components. 2. Basic Pin Configuration
The MLX90614 typically uses an I2C (SMBus) interface for communication. Tomson Electronics Description Connection Type Power supply (3.3V or 5V version) Connect to VCC Connect to GND Serial Clock Connect to Microcontroller SCL Serial Data Connect to Microcontroller SDA 3. Simulating in Proteus Once installed, you can build your circuit: Search for Component The MLX90614 is a contactless IR temperature sensor
: Open the "Pick Devices" window (press 'P') and search for "MLX90614" or "Infrared Sensor". Load HEX File
: Double-click the sensor in your schematic. In the properties panel, under Program File , browse and select the InfraredSensorsTEP.HEX file you downloaded earlier. Interactive Simulation : Most Proteus libraries include a
. During simulation, you can toggle this pin or adjust a potentiometer to simulate different temperature inputs. 4. Software Interfacing (Arduino Example)
To read data from the sensor in your simulation, use a standard library like the Adafruit MLX90614 Library Adafruit Learning System
How to Add Arduino UNO Library to Proteus | Step-by-Step Guide 25 Feb 2025 —
The MLX90614 Proteus library is a third-party simulation model designed to test non-contact temperature sensors by enabling I2C communication and simulating both object and ambient temperature ranges. It features an interactive, high-resolution modeling setup (17-bit ADC) essential for virtual testing with microcontrollers such as Arduino, though it requires manual installation into the Proteus library folder. For instructions on how to set up the library, see The Engineering Projects Mlx90614 proteus library - meredithquivavoter1973's Ownd
You should see the component appear. Place it on the schematic. It typically has 4 to 5 pins:
Approach: create a Proteus VSM (Virtual System Modelling) device using either:
Key behaviors to implement:
Implementation details: