Electronics Design AU
Temperature Sensors

How Do You Interface an MLX90614 Non-Contact Infrared Temperature Sensor?

Last updated 15 July 2026 · 5 min read

Direct Answer

The MLX90614 (Melexis) is a factory-calibrated infrared thermopile sensor IC that measures an object's surface temperature without physical contact, communicating over a 2-wire SMBus/I2C-compatible interface and reporting both an ambient (on-chip) temperature and an object (infrared) temperature as separate 16-bit register values. It is a genuinely different sensing modality from the contact-based thermistors, RTDs, and thermocouples covered elsewhere on this site: instead of measuring its own temperature through physical thermal contact, it measures the infrared radiation the target surface emits, which means its accuracy depends on the target's emissivity (a configurable EEPROM setting, factory default 1.0), the sensor's fixed field-of-view/distance ratio, and the sensor's own ambient temperature compensation — none of which are considerations for a contact sensor.

Detailed Explanation

The MLX90614 is an infrared thermopile sensor: a small array of thermocouple junctions on a membrane that generates a voltage proportional to the infrared radiation striking it, combined with an on-chip ambient temperature sensor, a 17-bit ADC, and a DSP that converts both readings into calibrated temperature values. Unlike the contact sensing technologies covered elsewhere in this cluster — thermistors, RTDs, and digital contact sensor ICs — the MLX90614 never physically touches the object it measures. This makes it suited to targets that are moving, hard to reach, at extreme temperatures, or where contact itself would be undesirable (a rotating shaft, a live high-voltage busbar, or a hygienic food-contact surface).

The device outputs two independent temperature values over its digital interface: the on-chip ambient temperature (the sensor's own die temperature, used internally for compensation and separately readable) and the object temperature (the infrared-derived reading of whatever is within the sensor's field of view). Factory calibration is performed across the full operating range, typically to a stated accuracy of around ±0.5°C over a wide range for the standard-accuracy part, with a higher-accuracy variant calibrated to a tighter band (often cited as ±0.2°C) over a narrower range centred near human body temperature — confirm the exact figure for the specific part variant against the current datasheet, since accuracy grades and package options have changed across production generations.

Practical Examples

A non-contact forehead or ear thermometer product uses the higher-accuracy MLX90614 variant with a narrow-FOV lens, positioned at a fixed, repeatable distance from the measurement site — the fixed geometry is what makes the distance-to-spot-size ratio predictable and the reading repeatable, rather than the sensor being "aimed" freely like a handheld IR thermometer gun.

An industrial process-monitoring application — checking a conveyor-mounted heated component's surface temperature without contact — uses the standard-accuracy wide-FOV variant, with emissivity calibrated against the specific material (a painted metal enclosure, for instance) using a reference contact thermometer at a known process temperature, since the factory default emissivity of 1.0 is rarely correct for anything except close-to-black-body test targets.

The I2C/SMBus Interface

The MLX90614 communicates over a 2-wire bus that is SMBus-compliant and largely I2C-compatible, though not identical to a generic I2C peripheral — see what is I2C? for the shared electrical and protocol fundamentals. Practical interface details:

  • 7-bit slave address, factory-default 0x5A, changeable via EEPROM if multiple units share a bus (each must first be individually addressed and reprogrammed, since they all share the same default address out of the box).
  • PEC (Packet Error Code), an optional CRC byte appended to transactions, recommended for reliable communication given the device's relatively slow, DSP-mediated response characteristics.
  • Reading a temperature is a standard SMBus read-word command to the RAM register holding the ambient or object temperature; the raw 16-bit value is converted to Kelvin using the device's fixed 0.02 K/LSB resolution, then to °C or °F in firmware.
  • Writing EEPROM values (emissivity, slave address, and a few configuration bits) requires first writing 0x0000 to erase the target cell, then writing the new value in a second transaction — writing directly over a non-zero EEPROM cell without the erase step is a documented failure mode, not an optional step.
  • PWM output mode is available as an alternative to the digital bus, encoding the object temperature (and optionally a second value) as a duty-cycle-modulated signal — useful when a design has no free I2C bus or wants an analog-adjacent interface, at the cost of losing the ambient-temperature channel and register-level fault visibility.

Design Considerations

  • Set emissivity for the actual target material, not the factory default, using a reference measurement against a known-temperature sample — the single most common source of a "wrong" MLX90614 reading is an uncorrected emissivity mismatch, not a sensor fault.
  • Check the distance-to-spot-size ratio against the real mounting geometry, not just the nominal FOV angle — a target smaller than the sensor's spot size at the intended mounting distance will read an averaged, incorrect temperature.
  • Account for the sensor's own thermal environment. Because the MLX90614 measures infrared radiation relative to its own die temperature, a sensor mounted where it self-heats (near a hot component, in direct sunlight, or in a sealed enclosure with poor airflow) can introduce systematic offset error even with correct emissivity — see how to budget for error and calibrate a temperature sensor for combining this with other error sources into a system-level accuracy figure.
  • Confirm the accuracy grade and FOV variant match the application's actual requirement — a wide-FOV, standard-accuracy part is unsuitable for a small, precisely located target at any meaningful distance, while a narrow-FOV, high-accuracy part adds cost that's wasted on a coarse process-monitoring application.
  • Non-contact sensing integration: Zeus Design designs sensor interfacing and signal-chain circuits, including non-contact and contact temperature measurement, for industrial and consumer product applications.

Common Mistakes

  • Leaving emissivity at the factory default of 1.0 for a target material that isn't close to a black body radiator — shiny metals in particular can read tens of degrees low if emissivity isn't corrected.
  • Attempting to write a new EEPROM value without first erasing the cell to 0x0000 — this is a documented two-step write sequence, not a single register write, and skipping the erase step is a common bring-up failure.
  • Ignoring the field-of-view / distance relationship and mounting the sensor too far from a small target, producing a blended reading of the target and its surroundings rather than the target's true temperature.
  • Treating the MLX90614 as a drop-in replacement for a contact sensor in an application that actually needs true surface-contact temperature (such as monitoring a component's junction-adjacent case temperature) — infrared sensing measures surface-emitted radiation, which can differ meaningfully from a contact measurement depending on the surface's thermal properties and emissivity.

Frequently Asked Questions

What is emissivity, and why does the MLX90614 need it set correctly?
Emissivity is how efficiently a surface radiates infrared energy relative to a perfect black body (emissivity = 1.0). The MLX90614 infers temperature from the infrared radiation it detects, so a surface with lower emissivity than assumed radiates less energy than a black body at the same true temperature — read with the factory-default emissivity of 1.0, that surface will appear cooler than it actually is. Shiny or polished metal surfaces are the extreme case, often having an emissivity of 0.1–0.3, while most organic materials, painted surfaces, and skin are commonly cited in the 0.9–0.98 range as a starting point, always verified for the specific target material rather than assumed. The MLX90614 stores emissivity as a writable EEPROM value (0.1 to 1.0), which should be calibrated against a known-temperature reference of the actual target material for any application where absolute accuracy matters.
How does the MLX90614's field of view affect what temperature it actually reads?
The field of view (FOV) — typically specified around a 90° cone for the standard package, with narrower 35° and 10° lensed variants available for more targeted measurement — defines the area the sensor integrates infrared energy over at a given distance. At a longer distance, the sensor's spot size grows and the reading becomes an average over a larger area, which is a problem if the target is smaller than the spot or surrounded by a different-temperature background (a small component on a larger, cooler PCB, for example, will read cooler than the component's true temperature if the spot size exceeds the component). The datasheet's distance-to-spot-size ratio (D:S) — not just the nominal FOV angle — should be checked against the actual target size and mounting distance during design, not assumed adequate.

References

Related Questions

Related Forum Discussions