What is a GY-906 sensor ?
The GY-906 is a ready-to-use digital infrared module based on the MLX90614 sensor from Melexis.
It allows for the remote measurement of an object's surface temperature using an integrated IR thermopile.
The module includes:
- the MLX90614ESF (main sensor),
- a 3.3 V regulator,
- I²C pull-up resistors,
- and sometimes a PWM output pin.
💡 In simple terms: it only requires 4 wires to use: VCC, GND, SDA, SCL.
Operating principle
Same principle as the MLX90614: the sensor measures the infrared radiation emitted by objects and converts the thermopile voltage into temperature.
The values (ambient temperature + object temperature) are digitized and corrected by the internal DSP.
Standard formula:
T(°C) = (Brut value x 0,02) - 273,15
Example of digital conversion (Arduino / ESP32)
GY-906 │ ├─ VCC → 3.3V / 5V ├─ GND → GND ├─ SDA → A4 (ou GPIO21) └─ SCL → A5 (ou GPIO22)
💡 No external resistance needed: the module is already equipped.
Example of I2C reading (Arduino)
#include <Wire.h> #include <Adafruit_MLX90614.h> Adafruit_MLX90614 mlx = Adafruit_MLX90614(); void setup() { Wire.begin(); Serial.begin(9600); mlx.begin(); } void loop() { Serial.print("Ambiante: "); Serial.print(mlx.readAmbientTempC()); Serial.print(" °C | Objet: "); Serial.print(mlx.readObjectTempC()); Serial.println(" °C"); delay(500); }
✅ Typical result:
Ambient: 24.8 °C | Object: 36.5 °C
Application areas
🧠 Connected objects (IoT) and home automation
🏥 Medical and portable thermometers
⚙️ Monitoring of motors, bearings, electronic boards
🧪 Experimental measurements and test stations
🤖 Robotics and thermal obstacle detection