There was no other way, the review of M5Stick Plus C was stellar and the board received the title of the most featured ESP32 dev board per cm². Just as I thought, that you can’t improve the perfection, M5Stack decided to prove me wrong. They added a “predator” vision to it! Everything gets better if you add lasers or predator vision – that’s a fact. M5stick T-Lite is a M5Stick Plus C bundled with a thermal camera and it’s hot stuff you need to have in your toolbox right now.
M5Stick Plus C at heart
Everything I said in my review of M5Stick Plus C still applies. It is an excellent device to code, tinker and experiment with. M5Stick T-Lite ($79) is a bundle consisting of M5Stick Plus C ($19.95) and Thermal Camera Hat(MLX90640) ($65 when sold separately) which is available in more than one form factor. Getting the bundle also gets you a silicone sock and a small leash to keep the device wrapped around your wrist securely.
Whether you buy the M5Stick T-Lite bundle, or add the thermal camera hat to the M5Stick Plus C you already own – the result is the same – a small ESP32 device upgraded to a Predator vision! And it’s awesome. If you own another M5Stack device, you can also get the MLX90640 sensor that uses grove connectors instead for more free-form placement and wider compatibility with M5Stack devices.
In the hat form, the Thermal Camera Hat(MLX90640) connects via the I2C interface using GPIO Pins at the top of the M5Stick C (Address: 0x33 on GPIO26). It’s the same comm protocol as the standalone version of the thermal camera, it just uses a different GPIO for communications.
MLX90640
This tiny hat brings thermal imaging to M5Stack devices via an expansion port. It’s an array of thermal sensors that scan the angle of 110 ° × 75 ° and provide an effective resolution of 32x24px. The resolution may not sound impressive on paper. Still, if you quickly look up the prices of thermal cameras, you’ll quickly realise, that you have to pay a pretty penny for anything that comes with higer pixel density.
MLX90640 is capable of detecting temperatures in a generous 40°C ~ 300°C range with a resolution of ±1.5°C and a refresh rate of 0.5Hz-64Hz. That’s enough to quickly verify the thermal properties of a device in front of you, confirm if someone has a fever or detect heat leaks in your house!
Playing with M5stick T-Lite
As M5Stick Plus C has a built-in battery and is WiFi-enabled (2.4GHz), you can use M5stick T-Lite on the go. Completely wirelessly. Programing without wires is one of my favourite features of the M5Stack ecosystem. Connect the device to your local network (or an AP created by your laptop/M5Stack) and you are ready to go.
M5stick T-Lite comes with a thermal firmware pre-installed. If you just got the thermal camera hat, you’ll have to get the M5Stack burner and flash the initial firmware on your stick.
Firmware brings several different colour modes and overlay settings to provide visual cues and data to the user. There are 5 colour schemes and a couple of overlays that show the high/low temperature points and thermal histograms. The screen shows enough information to give you an idea of the thermal situation in front of the sensor without the screen clutter. I cannot overstate how nice the firmware is. It’s responsive and snappy, data is presented interestingly. All this from a device running an ESP32 inside!
Playing online
Once I stopped fooling around and pointing the camera at random things to see them in a predator vision, I connected the M5stick T-Lite to my WiFi (use AP setting to get the browser setup page at 192.168.4.1) and opened the web interface in my browser.
When connected online, you get access to a web server. It has everything you need: from GIU and configuration menu to a preview of the data available to be received via REST programmatically. M5Stack made it extremely easy to access all the information from M5stick T-Lite. At various URIs, I could either run the settings page from the computer or stream the device data in my preferred format:
- Text
- JSON
- Video Stream
These are pre-defined values that you can get without creating custom scripts. If you want to go further and create a custom overlay or send already processed data over REST, you can do so by running a Python script or using the block code builder in M5Stack IDE.Pre
Predator Selfie
Sample Text output
date Sat, 9 Mar 2024 time 13:59:31 GMT center 23.0 highest 25.4 average 23.1 lowest 21.3
Sample JSON output
{ "pwd": "0632", "datetime": "Sat, 9 Mar 2024 13:59:55 GMT", "interval": 30, "macaddr": "0c:8b:xx:xx:f7:a9", "center": 23.0, "average": 23.5, "highest": 28.3, "lowest": 21.3, "frame": [22.6,21.5,22.0,xx,xx,xx,xx and so on] }
In JSON output, frame
refers to temperature output from the sensor pixel by pixel.
M5stick T-Lite in NodeRED
To validate all this, I rigged a quick REST routine in NodeRED to test it. The flows are not particularly complex, but there was one hurdle I had to overcome to obtain the information from the local server.
My HTTP Requests were GET set to: http://10.0.0.190/json
and http://10.0.0.190/text
respectively.
As soon as I selected Disable strict HTTP parsing in the HTTP request, the whole thing started to spit out the values as intended. Note, that if you are getting the text output – it comes formatted as HTML and it needs further parsing.
If you want to try it for yourself, you can import the JSON to your NodeRED instance:
Final thoughts
M5Stack removed all the hassle from tinkering with thermal cameras. If you ever wanted to mock up a project or validate an idea, M5stick T-Lite is extremely easy to use. From visual inspection to retrieving heat data programmatically, you are only a couple of steps away from running a prototype that will suit your thermal needs. All of this costs less than $80 and fits in your pocket! What not to like? If you have any interesting use cases let me know in this Reddit thread.
🆓 – See the transparency note for details.