How to build a low-resolution thermal camera at a low cost using Arduino
Thermal cameras are very useful tools, because they let us see heat that would normally be invisible to our eyes. Maybe you’re working on a custom PCB and want to see if any of the components generate excessive heat. Or maybe you’re concerned that your car’s exhaust headers don’t heat evenly and you want to see what’s going on. Thermal cameras tend to be expensive, but Vaclav Krejci (AKA upir on YouTube) has a video that explains how you can build your own low-resolution thermal camera without breaking the bank.
Krejci’s design only has an 8×8 resolution, which is the maximum native output of the AMG8833 infrared sensor array. By conventional digital camera standards, that is too low to be usable. But it is enough for some simple tasks you might want to perform with a thermal camera. At that resolution, the device will act almost like a non-contact thermometer that shows you 64 points. You can identify hot IC chips and even see large thermal currents.
The only components you need to replicate Krejci’s design are an Arduino UNO Rev3 board, an AMG8833 infrared sensor module, and an 8×8 RGB LED matrix (Krejci used a Sunfounder model). The sketch gathers the 64 values from the infrared sensor and then uses those to set the hue of each pixel in the LED matrix. The Colorduino library lets you set pixel colors using the HSV (hue, saturation, value) model, which makes it easy to change the color by adjusting the hue of each pixel.
The result is an LED display that shows a heat map, with cool areas being blue and very hot areas being red. The resolution is low, but each pixel has decent precision.