Open FLIR is the first open source, medium resolution, and broadband forward looking infrared (FLIR) camera.
This thermal camera is based on a Heimann Sensor thermopile array module, detailed in docs/HeimannArrays9-9-16.pdf
and the sample datasheet (docs/HTPA 32x32d L2.1_0.8 (Hi)S Rev2 Datasheet.pdf
.) Previous attempts at open source thermal cameras have been based on the Melexis MLX90621, an earlier and lower resolution thermopile array. For comparison, the datasheet for this part is also available at docs/MLX90621-Datasheet-Melexis.pdf
.
Code is in source/GUI/
, and should work out of the box on a Raspberry Pi with I2C enabled. It is dependent on OpenCV, and a handful of other Python packages.
Models for 3D printing are in case/
.
Research on noise characteristics of the camera and possible uses/limitations for gas sensing are archived in noise/
.
The hardware involved is extremely straightforward: a Raspberry Pi communicates with the Heimann sensor over I2C and displays the images to the user. The sensor should be connected to the Raspberry Pi GPIO pins 3 and 5, and can be powered from the 3.3V and ground pins of the GPIO port. This does not interfere with the use of SPI for touch screen communication. The system is powered from a USB power bank.
- Raspberry Pi Zero (or Raspberry Pi)
- LCD screen (e.g.) and HDMI cable
- Raspberry Pi camera (e.g.)
- Heimann HTPA32x32dL3.6/0.9 (purchased through Boston Electronics)
- USB power bank (e.g.) and USB cable with switch
- Case (3D printed files included in repository)
- Bracket for attaching Heimann sensor to case
The application consists of a Python class for interfacing with the module (htpa.py
) and a GUI (dualcam.py
). The GUI allows for control of the sensor clock frequency, current, and bias. The default settings are the settings used for the module factory calibration, and seem to produce the best results.
- The sensor calibration programmed into the EEPROM at the factory does not seem to match the noise profile of the images captured from the device.
- The HDMI cable is super janky.