Thermal Camera

by Stargrove1, published

Thermal Camera by Stargrove1 Feb 20, 2018
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



Thermal Camera by Stargrove1 is licensed under the Creative Commons - Attribution license.

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

6657Views 215Downloads Found in Camera


Thermal Camera

This Thermal Camera was inspired by the DIY Mini Thermal Camera from Adafruit, based on the 8 x 8 infrared grid array sensor amg8833. This version is based on the cheap ESP8266 and an ILI9341 touch screen. Two software versions are available, one is based to the Adafruit example, the second and more advanced regarding interpolation, is based on the code of Kris Kasprzak. Both were slightly enhanced to provide a portrait screen orientation, a thermal scale, a touch screen autoscale function, a lipo monitoring and a temperature measurement in the center.

By exchanging the micro controller, the total cost of hardware was reduced to around 55€. Since the design was kept simple and the code was available, this was a nice little weekend project.

UPDATE / 22.02.2018

For a new display driver which allows a higher framerate, the pin mapping was updated as well as the arduino sketches. Pin D3 and D8 have been swapped. Faster display driver included for the ESP8266 Wemos D1 Mini or Node MCU. Fixed battery display


Print Settings


Anycubic Linear Plus


Doesn't Matter








The parts were designed to be printed without supports, overhangs less than 45° and no part bigger than 100mm to be printable easily.

Custom Section




The assembly is very simply and consists of the following steps:

  1. Grip is attached to the body by two M4 screws which could be inserted directly to the PLA. The lens hole points to the front.
  2. The lipo, the loading circuit and the used micro controller are mounted with wire strips to the holder with the USB connectors facing to the top for easy loading and flashing. Why wire strips? By this, all different lipos, loader pcbs and different µC controllers could be used
  3. Installation of switch in the housing, it could be glued or screwed
  4. Wiring everything up
  5. The amg8833, the display and the electronics are inserted in the corresponding position
  6. Top is simply clipped in place and could be opened to update the software or to load the lipo


See attached screenshot for wiring. For battery monitoring, a 130kOhm resistor connects A0 of the Wemos D1 Mini and Lipo anode.


Two software version are available which could be used, both use the interrupt of the touch screen for user interaction. If a bigger µC (like the teensy 3.2) is used, the touch screen could be used, but the code needs to be enhanced for this feature. Wemos D1 Mini was set to 160MHz in Arduino IDE

Recommended version "ThermalCameraMod" is based on the work of Kris Kasprzak and provides a smooth and fast interpolation algorithm.

Adafruit example sketch for amg8833 with some extensions, this version provides less colors, less resolution but a higher framerate.

Required libraries (Arduino IDE manage libraries):

  • Adafruit AMG88xx Library
  • Adafruit ILI9341
  • Adafruit GFX Library
  • for ESP8266 (folders ending with TFT_eSPI) version, TFT_eSPI ZIP import from (https://github.com/Bodmer/TFT_eSPI)

For ESP8266 versions, uncomment the following lines in User_Setup.h:
define ILI9341_DRIVER

define TFT_CS PIN_D8 // Chip select control pin D8
define TFT_DC PIN_D3 // Data Command control pin
define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V

Camera manual

The camera starts after booting with a default temperature range. If the target temperatures do not fit the scale, a tap on the screen searches for the minimum and maximum temperature value and adapts the scale accordingly. A long press on the screen toggles the measurement of the center, the value is an average of the four center pixels from the raw data.


  • Temperature range ~ 0 - 80°C
  • Framerate up to 10Hz
  • Field of view 60°

More from Camera

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App
Comments deleted.

Thank you, the code is part of the download files, both variants are added in an zip file