Working Principle
The AMG8833 (Grid-EYE) from Panasonic is an 8 × 8 infrared thermal imaging sensor that measures the temperature of 64 individual pixels across a 60° × 60° field of view. Each pixel is a thermopile — a series of micro-thermocouple junctions that generate a voltage proportional to the infrared radiation (8–14 µm) received from objects in its field of view. The sensor outputs a 64-element temperature array over I²C at up to 10 Hz.
Unlike single-point IR sensors (like the MLX90614), the AMG8833 provides spatial thermal information, enabling heat mapping, person detection, and thermal imaging at a fraction of the cost of professional thermal cameras. Resolution can be enhanced by software interpolation (bilinear/bicubic) from 8×8 to higher display resolutions.
Electrical Characteristics
| Parameter | Value |
|---|---|
| Resolution | 8 × 8 pixels (64 thermopiles) |
| Temperature Range | 0–80 °C object (high gain) / −20 to 100 °C (extended) |
| Accuracy | ±2.5 °C (or ±4.5 °C at edges) |
| Temperature Resolution | 0.25 °C per LSB |
| Field of View | 60° × 60° |
| Frame Rate | 1 or 10 Hz (selectable) |
| Interface | I²C (0x68 or 0x69, selectable via pad) |
| Supply Voltage | 3.3 V |
| Current Draw | ~4.5 mA active, ~0.8 mA standby |
| Interrupt | Programmable per-pixel temperature threshold interrupt |
Interfacing with an MCU
Connect 3.3 V, GND, SDA, SCL, and optionally INT (for thermal alarm interrupts). Read 128 bytes (64 pixels × 2 bytes each, 12-bit signed) from registers 0x80–0xFF. The Adafruit AMG88xx library handles the register reads and temperature conversion. For display, map pixel temperatures to a colour gradient (blue=cold → red=hot) on an OLED or TFT screen.
Calibration
- Internal thermistor: The AMG8833 has an on-die thermistor for ambient temperature compensation; read register 0x0E–0x0F to verify
- Emissivity assumption: The sensor assumes emissivity ε = 1.0 (blackbody). For shiny or metallic surfaces, actual temperature will be higher than reported
- Cross-pixel uniformity: Edge pixels may have slightly higher error; apply per-pixel offset correction if precision matters
- Distance/FOV: Each pixel covers 7.5° × 7.5°; at 1 m distance, each pixel sees approximately 13 cm × 13 cm
Code Example
/*
* AMG8833 8×8 Thermal Camera — Arduino
* Library: Adafruit_AMG88xx (install via Library Manager)
* Wiring: 3.3V, GND, SDA, SCL
*/
#include <Wire.h>
#include <Adafruit_AMG88xx.h>
Adafruit_AMG88xx amg;
float pixels[AMG88xx_PIXEL_ARRAY_SIZE]; /* 64 floats */
void setup() {
Serial.begin(115200);
if (!amg.begin()) {
Serial.println("AMG8833 not found!");
while (1);
}
Serial.println("AMG8833 Thermal Camera Ready");
delay(100);
}
void loop() {
amg.readPixels(pixels);
/* Print 8x8 thermal grid */
float minT = 999, maxT = -999;
for (int row = 0; row < 8; row++) {
for (int col = 0; col < 8; col++) {
float t = pixels[row * 8 + col];
if (t < minT) minT = t;
if (t > maxT) maxT = t;
Serial.print(t, 1);
Serial.print(" ");
}
Serial.println();
}
Serial.print("Range: ");
Serial.print(minT, 1); Serial.print(" - ");
Serial.print(maxT, 1); Serial.println(" C
");
/* Simple person detection */
if (maxT > 28.0) {
Serial.println("** WARM OBJECT DETECTED **");
}
delay(500);
}
Real-World Applications
People Detection, HVAC & Contactless Fever Screening
The AMG8833 is used in occupancy detection for smart buildings (count people without cameras for privacy), HVAC zone control (direct heating/cooling where people are), contactless fever screening (airport/office entrance), fire detection (hotspot identification), industrial equipment monitoring (detect overheating), robotics (obstacle thermal signature detection), and DIY thermal cameras. The low cost ($15–25) makes it accessible for projects that don’t need the resolution of FLIR cameras ($200+).
Limitations
- Low resolution: 8×8 pixels is extremely coarse; fine details are lost. Cannot identify faces or read text.
- Limited range: 0–80 °C standard; cannot measure high-temperature sources (soldering irons, flames).
- Emissivity dependent: Shiny and metallic surfaces reflect ambient IR, giving false-low readings.
- Distance limitation: At 5+ metres, each pixel covers a large area; individual hotspots become unresolvable.
- No video stream: 10 Hz max; not suitable for fast-moving thermal events.