lucaong
Hello,
I am playing a bit with the MLX90640 far infrared thermal sensor array, and I wrote an Elixir library to interface with it. It is published on Hex as elixir_mlx90640, and it is designed to work on Linux platforms, such as Nerves. So far, I tested it on a Raspberry Pi Zero W.
The MLX90640 is an inexpensive thermal camera. It has a low resolution (36 x 24 pixels), but it is quite precise, and a nice sensor for the price. I found that interfacing it with micro-controllers or with Linux using the provided C++ libraries is a bit tricky and error prone (lots of gotchas), so I hope I made it easier to use it with this Elixir library.
Let me know what you think ![]()
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
:warning: Security advisory: Decimal DoS vulnerability
A vulnerability has been published for decimal where very large exponents can cau...
New
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
What IDE or editor are you using for Elixir development?
Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New
Other Trending Topics
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 5- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Matt
That is a really cool library. Great work
That sensor might be low resolution, but I can think of many real-world applications for it!
lucaong
I made a few fixes for Nerves, and created this example project for the Raspberry Pi (demo image on the repo page): GitHub - lucaong/nerves_thermal_camera: Thermal camera imaging with Elixir, Nerves, Raspberry Pi, and a MLX90640 sensor · GitHub
I have to say, it’s a really fun sensor to work with
GregMefford
That’s super awesome! I want one of these sensors now! Would be really neat to display onto a small LCD and have a hand-held thermal camera.
lucaong
I am waiting for a M5Stack device to make a small, battery powered thermal camera. Unfortunately on the ESP32 it’s going to be C, not Elixir, but it’s a convenient package. Alternatively, I am thinking to get a small screen and try out Scenic.
The fun part of doing it in Elixir is also that, once you get the pixel temperatures, there is so much you can do with the data: people presence detection is much easier than with normal cameras, and does not have many privacy concerns (you can easily detect people, but definitely cannot do face recognition), and the temperature measurements are actually very precise. Heat-seeking robots would also be another fun project!
One thing that would be great in the current Raspberry Pi setup, is to open a WiFi access point on the Pi instead of using an existing WiFi network. That way, one could just connect to the Pi access point and see the thermal imaging via browser, removing the current need to create a custom firmware image that contains the user’s WiFi credentials. I know a few people did something around Nerves and
hostapd, but I did not try yet. Anybody has advices?holder66
Here are instructions for setting up the raspi as a wifi access point: https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md
Best to do this using wired access!
If you want the raspi to auto-detect your home wifi network and use that if available, and become a wifi access point only if your home wifi network is unavailable, the instructions here work: Raspberry Connect - Raspberry Pi - Auto WiFi Hotspot Switch - Direct Connection
Caveat: I did this on a raspi 3, and using Raspian, not the Nerves-installed OS.