Thermal Imaging with the FLiR Lepton 3.5


A thermal image of a MacBook taken by the Pocketbeagle-based thermal imaging camera
Like a lot of people I always wanted a thermal imaging camera. I occasionally have use for one to monitor heat generation in something I've designed, and they are useful for myriad of other applications as well. After borrowing a friend's unit repeatedly, I decided to design my own, aided by the availability of the FLiR Lepton 3.5 from groupgets.com. Over the course of a couple of years I made several different cameras as I learned how to reliability get data from the module. I started with a Teensy 3.2 based camera and was able to get an about 4 frames per second using a single SPI bus for both the camera and display. I played with the Raspberry Pi and found it difficult for a user-space process to reliably keep synced to the camera. That interested me in using the PRUs inside a Beaglebone Black and later a Pocketbeagle to create a video pipeline to offload the real-time chore from the main CPU. I was successful and built my own camera that remains a work in progress.

I documented my experience on hackaday.io.

My code and designs can be found on github.

The video pipeline running on the PRUs is the most interesting contribution. It users the linux remoteproc facility and requires only a few percent of main CPU time to keep a full 9 fps display running.
Block diagram of a Lepton 3.5 video pipeline implemented on the PRUs

Teensy Cam

Exploded view of Teensy version showing two shields, the LCD and battery

Three stacked shields and a battery

Teensy cam display describing different parts of the display

This version displays the temperature at a point in the image

Two images from the Teensy cam showing the impact of AGC

The Teensy platform is great for experimenting with various Lepton features. Here showing the capability of its AGC function to generate better imagery.

Beaglebone Black and Pocketbeagle

Beaglebone Black with FLiR and 3.5" LCD display

Beaglebone Black Platform

Beaglebone Black with 7" LCD display and window application

Early experiment with an application displaying data on a 7" touch screen. The screen is too large and power hungry for a portable camera.

Guts of pocketbeagle-based camera

Pocketbeagle camera using a modified version of my Solar Pi Platter for power management and IO expansion.

Exploded view of 3D printed camera case

3D printed enclosure

Thermal Imaging camera based on pocketbeagle