I've been looking for a quick project that I could do on a rainy day (we're going to have lots of rain this winter )...
I was inspired by a blog post by fmilburn where he integrated the MLX90640 IR Camera from Melexis with an Adafruit Edge Badge and 3D printed a neat case for it MLX90640 IR Thermal Camera .
I bought a camera from Adafruit and I'm going to use it with one of my Wio Terminals. While I was perusing the Adafruit documentation I noticed that they had an example that used an MCP2221 USB-to-I2C device to interface the camera with Jupyter Notebooks running on a host PC. I have an MCP2221 and it uses a STEMMA QT I2C connector which is the same one used on the MLX90640, so connecting it just requires attaching a cable. I thought I'd give it a try before moving on to the Wio Terminal.
The Jupyter Notebook MLX90640 Thermal Camera.ipynb is available on github https://github.com/adafruit/Adafruit_Learning_System_Guides/tree/main/Jupyter_USB .
There is a requirement that the Adafruit Blinka CircuitPython library compatibility layer is installed in your environment. You can do that using another Jupyter Notebook MCP2221_Test.ipynb that will also check your MCP2221 installation.
Running the camera from the notebook is straightforward:
Setup environment and install requirements
Import libraries and connect to camera
Read frame from camera into numpy array
Plot the array
And finally run a continuous animation of frames from camera
Demo of thermal image of me sitting in front of camera. I noticed that when I put my hand up that it isn't very warm compared to my face. I have Raynaud's disease (essentially poor circulation in extremities - hands and feet), so maybe this could be used diagnostically...