The Omron D6T series consists of highly sensitive MEMS thermal sensors that measure surface temperature non-contact via infrared detection. Unlike conventional motion sensors, they can detect stationary humans based on their body heat, making them suitable for energy conservation and security applications.
Operation
The sensor directs far-infrared (radiant heat) onto a thermopile, producing an electromotive force proportional to temperature. An internal ASIC then converts this into a digital temperature reading, which is sent through the I²C bus, easing software development. Unlike pyroelectric sensors that only detect motion, the D6T can detect stationary objects and humans based on their body heat.
| Type of measurement | Model | Power voltage | Measurement, range, accuracy | Communication | Note |
|---|---|---|---|---|---|
![]() Non-Contact Thermal Sensor | Omron D6T-32L ![]() | 5V | Number of elements: 1024 (32 × 32) Current consumption: 19 mA Object temperature detection: D6T-32L-01A: 0 to 200°C | I²C | Response time: 200 msec Arduino lib |
![]() Non-Contact Thermal Sensor | Omron D6T-44L ![]() | 5V | Number of elements: 16 (4 × 4) Current consumption: 5 mA Object temperature detection: D6T-44L-06: 5 .. 50°C D6T-44L-06H: 5 .. 200°C | I²C | Response time: 300 msec Arduino lib |
![]() Non-Contact Thermal Sensor | Omron D6T-8L ![]() | 5V | Number of elements: 8 (1 × 8) Current consumption: 5 mA Object temperature detection: D6T-8L-09: 5 .. 50°C D6T-8L-09H: 5 .. 200°C | I²C | Response time: 250 msec Arduino lib |
![]() Non-Contact Thermal Sensor | Omron D6T-1A ![]() | 5V | Number of elements: 1 (1 × 1) Current consumption: 3.5 mA Object temperature detection: D6T-1A-01: 5 .. 50°C D6T-1A-02: -40 .. 80°C | I²C | Response time: 100 msec Arduino lib |
If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.
Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.
To read the Omron D6T-1A (D6T-1A-01 or D6T-1A-02) with an Arduino, you use the I²C interface. The sensor has a fixed 7-bit address of 0x0A.
Wiring (5V Logic)
The D6T-1A requires a 4.5V to 5.5V supply.
Arduino Example Code
This code uses the standard Wire.h library to request a 5-byte data packet (1 byte for ambient temperature PTAT, 2 bytes for the object temperature, and a PEC error check byte).
#include <Wire.h> #define D6T_ADDR 0x0A // I2C 7-bit address #define D6T_CMD 0x4C // Read command void setup() { Wire.begin(); Serial.begin(115200); Serial.println("Omron D6T-1A Initialized"); } void loop() { uint8_t rbuf[5]; // D6T-1A returns 5 bytes (2 for PTAT, 2 for Object, 1 for PEC) // Step 1: Send command to sensor Wire.beginTransmission(D6T_ADDR); Wire.write(D6T_CMD); Wire.endTransmission(); // Step 2: Request 5 bytes Wire.requestFrom(D6T_ADDR, 5); int i = 0; while (Wire.available() && i < 5) { rbuf[i++] = Wire.read(); } // Step 3: Convert data (Little Endian: Lower byte + Higher byte << 8) // Temperature = raw_value * 0.1 float t_ptat = (rbuf[0] + (rbuf[1] << 8)) * 0.1; float t_obj = (rbuf[2] + (rbuf[3] << 8)) * 0.1; Serial.print("Ambient (PTAT): "); Serial.print(t_ptat, 1); Serial.print(" C | "); Serial.print("Object: "); Serial.print(t_obj, 1); Serial.println(" C"); delay(500); }
Key Technical Details
This page has been accessed for: Today: 5, Until now: 20