The sensor comes with a breakout board that includes all the necessary components for operation, and it has two types of pins which are unsoldered. The user can choose to solder either type of pins depending on their preference or application requirements.
The module features two solder bridges for the I2C interface, which may or may not be soldered depending on the specific application. In most cases, these solder bridges do not need to be soldered for normal operation.
Principle of Work
Infrared thermometers like MLX90614 take advantage of the fact that any object above absolute zero emits infrared radiation proportional to its temperature. The MLX90614 contains an infrared thermopile detector and a signal conditioning processor. The detector senses IR radiation and converts it into an electrical signal, which is processed and sent to a microcontroller.

Field of View (FOV)
The MLX90614 has a 90° field of view. The measured object must fill the sensor’s FOV for accurate results. The sensing area increases with distance.

Features
- Mounted on breakout board with two types of pins and 10k pull-ups
- Easy to integrate
- Factory calibrated -40…+125°C (sensor) and -70…+380°C (object)
- Accuracy ±0.5°C (0…+50°C)
- High medical accuracy calibration
- Resolution: 0.02°C
- Single and dual zone versions
- SMBus compatible interface
- PWM output option
- Arduino compatible
- Compact and low cost
Specification
- Model: GY-906
- Chip: MLX90614ESF
- Power supply: 3–5V
- Operating Voltage: 3.3–5V DC
- Sensor Type: Infrared Thermometer
- Interface: I2C
- Accuracy: ±0.5°C at 25°C
- Resolution: 0.02°C
- Sensing Distance: 20mm
- FOV: 90°
- Standby Current: <1µA
- Response Time: <200ms
- Range: -70 to +380°C
- Operating Temp: -40 to +85°C
- Size: 16.8 x 11.46 x 6.2mm
- Detector Diameter: 8.2mm
Applications
- Non-contact temperature measurement
- Industrial monitoring
- Home automation
- Medical use
- Energy efficiency systems
Pin Connections
Pin |
Description |
VIN |
Power supply (3.3 - 5V) |
GND |
Ground |
SCL |
I2C clock |
SDA |
I2C data |

Sample Project
Circuit
Connect VCC to 5V (or 3.3V for 3.3V devices), GND to ground, SCL to Arduino SCL, SDA to Arduino SDA.

Library
Install Adafruit MLX90614 library via Arduino IDE Library Manager.

Code
#include "Adafruit_MLX90614.h"
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
while (!Serial);
if (!mlx.begin()) {
Serial.println("Error connecting to MLX sensor. Check wiring.");
while (1);
}
}
void loop() {
Serial.print("Ambient = ");
Serial.print(mlx.readAmbientTempC());
Serial.print("*C\tObject = ");
Serial.print(mlx.readObjectTempC());
Serial.println("*C");
Serial.print("Ambient = ");
Serial.print(mlx.readAmbientTempF());
Serial.print("*F\tObject = ");
Serial.print(mlx.readObjectTempF());
Serial.println("*F");
Serial.println();
delay(500);
}

Notes
Electromagnetic interference may affect results. Keep away from phones, microwaves, WiFi routers, and other devices.
References
The sensor comes with a breakout board that includes all the necessary components for operation, and it has two types of pins which are unsoldered. The user can choose to solder either type of pins depending on their preference or application requirements.
The module features two solder bridges for the I2C interface, which may or may not be soldered depending on the specific application. In most cases, these solder bridges do not need to be soldered for normal operation.
Principle of Work
Infrared thermometers like MLX90614 take advantage of the fact that any object above absolute zero emits infrared radiation proportional to its temperature. The MLX90614 contains an infrared thermopile detector and a signal conditioning processor. The detector senses IR radiation and converts it into an electrical signal, which is processed and sent to a microcontroller.

Field of View (FOV)
The MLX90614 has a 90° field of view. The measured object must fill the sensor’s FOV for accurate results. The sensing area increases with distance.

Features
- Mounted on breakout board with two types of pins and 10k pull-ups
- Easy to integrate
- Factory calibrated -40…+125°C (sensor) and -70…+380°C (object)
- Accuracy ±0.5°C (0…+50°C)
- High medical accuracy calibration
- Resolution: 0.02°C
- Single and dual zone versions
- SMBus compatible interface
- PWM output option
- Arduino compatible
- Compact and low cost
Specification
- Model: GY-906
- Chip: MLX90614ESF
- Power supply: 3–5V
- Operating Voltage: 3.3–5V DC
- Sensor Type: Infrared Thermometer
- Interface: I2C
- Accuracy: ±0.5°C at 25°C
- Resolution: 0.02°C
- Sensing Distance: 20mm
- FOV: 90°
- Standby Current: <1µA
- Response Time: <200ms
- Range: -70 to +380°C
- Operating Temp: -40 to +85°C
- Size: 16.8 x 11.46 x 6.2mm
- Detector Diameter: 8.2mm
Applications
- Non-contact temperature measurement
- Industrial monitoring
- Home automation
- Medical use
- Energy efficiency systems
Pin Connections
Pin |
Description |
VIN |
Power supply (3.3 - 5V) |
GND |
Ground |
SCL |
I2C clock |
SDA |
I2C data |

Sample Project
Circuit
Connect VCC to 5V (or 3.3V for 3.3V devices), GND to ground, SCL to Arduino SCL, SDA to Arduino SDA.

Library
Install Adafruit MLX90614 library via Arduino IDE Library Manager.

Code
#include "Adafruit_MLX90614.h"
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
while (!Serial);
if (!mlx.begin()) {
Serial.println("Error connecting to MLX sensor. Check wiring.");
while (1);
}
}
void loop() {
Serial.print("Ambient = ");
Serial.print(mlx.readAmbientTempC());
Serial.print("*C\tObject = ");
Serial.print(mlx.readObjectTempC());
Serial.println("*C");
Serial.print("Ambient = ");
Serial.print(mlx.readAmbientTempF());
Serial.print("*F\tObject = ");
Serial.print(mlx.readObjectTempF());
Serial.println("*F");
Serial.println();
delay(500);
}

Notes
Electromagnetic interference may affect results. Keep away from phones, microwaves, WiFi routers, and other devices.
References