Close

tCam Progress

A project log for Lepton 3.5 Thermal Imaging Camera

Documenting my experiments with the FLIR Lepton 3.5 thermal imaging camera.

dan-julioDan Julio 04/24/2021 at 14:300 Comments

I have not given up on the goal of a full feature handheld thermal imaging camera with the features I want.  For the past several weeks I have had a chance to put significant effort into the original tCam prototype, now running on Firecam hardware because it has a 4-bit SD Card interface. 

Most of the work has been adding filesystem support and the ability to save and playback both images and videos with file formats that are compatible with the desktop application.  In addition I added commands to allow the application to offload image files from the camera and remotely control it.  While there are still performance issues - especially when attempting to stream or record and display images - the camera is feature complete - at least with respect to the features I envisioned when I started this project.  I plan to do some experimentation with buffering in the tCam-Mini code to improve performance (and also backfit some of the new command features).  I’ll see if those help tCam but I suspect it will still be necessary to offload Lepton VoSPI capture to another processor for best performance.

I am still contemplating the best hardware design for the final tCam camera but I plan to use this code with only driver changes.  The tCam codebase is about 24k total lines of C code, runs in seven FreeRTOS tasks and makes heavy use of the external PSRAM in the ESP32 WROVER module.  I did experience one of the ESP32 Revision 1 silicon bugs related to PSRAM access.  Very occasional data corruption (but repeatable, fortunately).  Replacing the strncpy library function with memcpy fixed the bug for me - probably because they have different instruction sequences.

Here are the various GUI screens showing operation of the camera from control to file management and image/video playback.

Discussions