Mlx90614 Proteus Library -

  • Recommended: start with high-level model implementing datasheet register map and allowing parameterized temperature inputs.
  • Model features to support:
  • Implementation notes:
  • Example pseudo-code snippet for an I2C read:
    on_i2c_read(register_address):
        if register_address == TOBJ:
            raw = round((object_temp + 273.15) / 0.02)
            return low_byte(raw), high_byte(raw)
        elif register_address == TA:
            ...
    
  • Paste the three downloaded files into the LIBRARY folder:

    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. mlx90614 proteus library

    By default, the library may output a fixed temperature (e.g., 26.5°C). To change it: Implementation notes:

  • Modify values (e.g., AMBIENT_TEMP=23.0).
  • Re-run simulation.
  • (Not all library versions support this – check your .HEX source.) Modify values (e.g.


    Search for "MLX90614 Proteus library" on GitHub or ElectroSome. You need 3 files:

    A functional simulation requires a specific circuit topology. The MLX90614 utilizes an open-drain interface; therefore, pull-up resistors are mandatory for the SCL and SDA lines.

    Recommended Circuit Setup: