+drew zeccola - I actually used an MLX90621 which I purchased from digikey for ~ $75. I haven't been pursuing this one so much as the prices have been coming down on the higher resolution sensors from both Flir and Seek Thermal. (Both of which have been successfully connected to the Raspberry Pi.) But the MLX sensors could still be extremely useful for some applications. The 16x4 especially lends itself to production line QC and such...
Bought one of these sensors a few years ago & just built one using a Raspberry Pi Zero with bult in wireless of course. Do you know how one could increse the frame rate of the thermal sensor to something a little more usierble. Have been playing with the code but was only abke to improve it slightly.
The refresh rate of the sensor can be increased to 512Hz by using the function mlx90620_set_refresh_hz() in mlxd.c. However I think the bottleneck is probably the Pi Zero CPU speed (and Python also). If you want maximum performance you would either want to implement this in C, or use a faster processor or both... But the graphics processing is what takes all of the overhead. So if you just wanted to read the thermal data and process it but don't need to visualize it in real time, then a Pi Zero would work fine. (The thermal data is only 64 pixels, so that's only 32k of pixels per second of thermal data. )
Yes, totally. The camera image and thermal data were overlaid as a demo. But anything could be done in software. (Also since I made this video both FLIR and Panasonic have released higher resolution thermal sensors around the same price range...)
The panasonic 'grid-eye' sensors are similar to the MLX but have a resolution of 8x8. (homepage- na.industrial.panasonic.com/products/sensors/sensors-automotive-industrial-applications/grid-eye-infrared-array-sensor) They are all some variation of I2C so they require soldering, a microcontroller(arduino Raspi, etc.) and some programming to get them up and running. AFA procuring the hardware itself, Digikey seems to have the best selection of thermal sensors. They carry all of the sensors I mentioned. (Search for 'Lepton' or 'grid eye' or 'thermopile array' to find available products. Google for the same + 'raspberry pi' to see how to integrate the hardware...) And of course, Good Luck!
I had no problem viewing the heat from a large candle flame at 3-4 meters but didn't try further. I think the max distance achievable will depend upon the size and heat differential of the object as well as the image sensor... (Once the 'hot' or 'cold' object gets much smaller than a pixel it has to be a lot hotter or colder than its surroundings to be visible.)
Hi I am trying to do the same with a Raspi 0 .... I am trying to use to so the reading and writing as suggested in the datasheet ... I am using the pigpio library for that but Reading oscillator trimming register fails But I am not getting any Ack from the slave ....
this project is open source. You are welcome to check out/use my code if it helps... It is on Github at github.com/alphacharlie/mlxd the sensor IS a bit finicky to initialize. ;-)
Charles, Nice project!! I like the overlay
can we use this for fatigue detection system
64x4 or so. Divide the array somehow, and create binoculars vision then overlay all 3 layers of screen
Where did you get your Melexis MLX90620 ? Did you get it in bulk?
+drew zeccola - I actually used an MLX90621 which I purchased from digikey for ~ $75. I haven't been pursuing this one so much as the prices have been coming down on the higher resolution sensors from both Flir and Seek Thermal. (Both of which have been successfully connected to the Raspberry Pi.) But the MLX sensors could still be extremely useful for some applications. The 16x4 especially lends itself to production line QC and such...
Bought one of these sensors a few years ago & just built one using a Raspberry Pi Zero with bult in wireless of course.
Do you know how one could increse the frame rate of the thermal sensor to something a little more usierble. Have been playing with the code but was only abke to improve it slightly.
The refresh rate of the sensor can be increased to 512Hz by using the function mlx90620_set_refresh_hz() in mlxd.c. However I think the bottleneck is probably the Pi Zero CPU speed (and Python also). If you want maximum performance you would either want to implement this in C, or use a faster processor or both... But the graphics processing is what takes all of the overhead. So if you just wanted to read the thermal data and process it but don't need to visualize it in real time, then a Pi Zero would work fine. (The thermal data is only 64 pixels, so that's only 32k of pixels per second of thermal data. )
Is it possible to just get the MLX90620 sensor and when it detects warmer thermals do something? Or is the camera necessary?
Yes, totally. The camera image and thermal data were overlaid as a demo. But anything could be done in software. (Also since I made this video both FLIR and Panasonic have released higher resolution thermal sensors around the same price range...)
Sweet! I don't know much about thermal sensors, would you be willing to point me to those?
The panasonic 'grid-eye' sensors are similar to the MLX but have a resolution of 8x8. (homepage- na.industrial.panasonic.com/products/sensors/sensors-automotive-industrial-applications/grid-eye-infrared-array-sensor) They are all some variation of I2C so they require soldering, a microcontroller(arduino Raspi, etc.) and some programming to get them up and running.
AFA procuring the hardware itself, Digikey seems to have the best selection of thermal sensors. They carry all of the sensors I mentioned. (Search for 'Lepton' or 'grid eye' or 'thermopile array' to find available products. Google for the same + 'raspberry pi' to see how to integrate the hardware...)
And of course, Good Luck!
You're awesome! Thanks a bunch! :)
Hi +Charles Werbick, what max distance was you able to achieve with this sensor?
I had no problem viewing the heat from a large candle flame at 3-4 meters but didn't try further. I think the max distance achievable will depend upon the size and heat differential of the object as well as the image sensor... (Once the 'hot' or 'cold' object gets much smaller than a pixel it has to be a lot hotter or colder than its surroundings to be visible.)
I appreciate the speedy reply, thank you. The information you provided is definitely what I was seeking.
Hi I am trying to do the same with a Raspi 0 .... I am trying to use to so the reading and writing as suggested in the datasheet ...
I am using the pigpio library for that but Reading oscillator trimming register fails
But I am not getting any Ack from the slave ....
this project is open source. You are welcome to check out/use my code if it helps... It is on Github at github.com/alphacharlie/mlxd
the sensor IS a bit finicky to initialize. ;-)