Create a low-res thermal camera with a Raspberry Pi Pico, an AMG8833 sensor and an ILI9341 screen with CircuitPython

As part of an ongoing Raspberry Pi Pico-based project, I wanted to create a thermal camera. To do this, I first of all went shopping to find what I needed. Here are the two components for this mini project:

They’re not cheap components, but they’re what you need. You can get a better thermal sensor. This one is only 8×8, so quite low-resolution, but you get some nice results out of it (see the video below).

I chose CircuitPython for the project, because I’ve learned by now that CP has an enormous number libraries.

As always, Adafruit have provided great guides to both products. The screen tutorial is available here and deals with both wiring up and programming it. The tutorial for the AMG8833 thermal camera (there are two types of breakout boards for the sensor) is available here.

How to combine them, though, that’s the trick. I found this tutorial which uses an Adafruit Pygamer board and the Featherwing version of the AMG8833 breakout. This was enough to get me going with translating the array of pixel values returned from the camera denoting sensed temperatures into colour blocks. I had to strip out a lot of functionality relating to the Pygamer board, which was a bit of a pain if I’m honest, but what I was left with should fit nicely into the project I’m working on.

Here’s the wiring that I used:

and you can find my stripped-down code on GitHub. You will need to save the code onto your Pico as code.py to make it run automatically on power-up. You will also need to copy over some libraries to your Pico, so just take a look at the imports at the top of the code for those. You can find the library bundle here.

Here’s the result of the mini-project:

3 comments for “Create a low-res thermal camera with a Raspberry Pi Pico, an AMG8833 sensor and an ILI9341 screen with CircuitPython

  1. Hello again. Your schematic above doesnt include the screen. But anyway, do you think that I should be able to use the screen on the Pimoroni Pico Explorer board instead? It will save me a few quid! 🙂

    • You probably can… You’ll need to use a different driver as it uses a ST7789 chip rather than the ILI9341. Adafruit do have an ST7789 driver, though, if you’re using CircuitPython, so that’ll likely help 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.