This implementation of the Thermal Camera was focused on a limited set of requirements, one of which was to confirm that CircuitPython was fast enough to read, scale, and display an array of temperature values at a useful frame rate. Not only was CircuitPython's performance acceptable, it made it possible to add a few features to make the camera more robust.
To become even more useful, this implementation could easily be modified or expanded with some additional work. What would you do?
Here are some ideas to get you thinking about the camera's potential upgrades:
- The code is already compatible with the PyBadge. What other devices could easily run the code? Hallowing M4? Internet of things (IoT) use via the PyPortal?
- For a non-portable version, replace the AMG8833 FeatherWing with the breakout board version connected via Stemma so that the sensor could be positioned independently from the display board.
- Provide a setup selection for switching between Celsius and Fahrenheit displayed values.
- Add a graph image that displays min/max/ave/alarm over time.
- Can the display be interpolated or the sensor upgraded to improve detail? Would CircuitPython be agile enough to maintain a reasonable frame rate?
- Store snapshots to the SD card as comma-delimited or JSON files.
- Image transfer to a phone via Bluetooth LE.
- Jazz up the button labels.
- 3D printed enclosure designed for mounting permanently.
Below is a PyGamer case cover ("skin") designed for this project.