Reference
MLX90614
Non-contact IR thermometer.
- Connects over
- I²C
- Address
- 0x5A
- Made by
- Melexis
- Datasheet
- melexis.com
Use it
hardware {
device mlx90614: MLX90614
}
every 1s {
let value: float = mlx90614.ambient()
log("mlx90614", "ambient={value}")
}
On its own, the declaration puts the MLX90614 on the first I²C bus (SDA 21, SCL 22 on the ESP32) at 0x5A. To choose the pins or the address, declare the bus and attach the device: device mlx90614: MLX90614 on i2c0 at 0x5A with i2c i2c0(sda: 21, scl: 22).
Methods
-
mlx90614.ambient() -> float
Ambient temperature °C
-
mlx90614.object() -> float
Object surface temperature °C
Wiring
| Pin | Connect to |
|---|---|
VCC | 3.3V or 5V |
GND | Ground |
SDA | Pull-up to VCC (often on breakout board) |
SCL | Pull-up to VCC |
PWM/SDA | Default is SMBus — pull-ups required; can be configured as PWM |
Specifications
- Voltage
- 3.0V – 5.0V (3.3V version is 'BCC' suffix; 5V version is 'AAA')
- Current
- 1.3 mA active
- Object temp
- −70°C to +382°C ±0.5°C
- Ambient temp
- −40°C to +125°C ±0.5°C
- Field of view
- ≈ 90° (BAA), ≈ 35° (BCC narrow)
Tips
- Reads object temp without contact — useful for non-invasive body temp / hotspot detection.
- Field of view matters — narrow FOV variants are better for small distant targets.
- Reflective surfaces lie to the IR sensor (a mirror reads your face temp, not the mirror's).
Alternatives worth knowing:
- MLX90640: 32×24 IR thermal camera — much more capable, much pricier.