DIY-Thermocam V2: A do-it-yourself thermal imager

Hi,

Residents of countries which have a comma as "official" decimal separator and for whom
Cheap-Thermocam or ThermalCamera software does not work: start the software specifying
a more sensible locale i.e.:

java -Duser.country=EN -Duser.language=en -jar ThermalCamera.jar

Or fix the default system locale settings.

Cheers,

Seppo

I may have answered my own question. Seems I'm jumping the gun a bit with the software part. I thought the configuration sketch was for the Arduino but on closer inspections of the code comments, it's actually for the thermal sensor eeprom which is not connected yet. Good deal. I'll connect everything together then re-run the config sketch and see if that works.

Best regards...

Chris.

Very nice project ! 8)

Hello,
This is probably one of the best projects I have ever come across, and I almost have all of the necessary parts to begin my build. I had one question,

Did you ever consider the technique of "stacking" a number of scans? Even though the data is not video, it is pixel centric. The technique increases the signal-to-noise ratio and increases the dynamic range , by pixel. Here, a 'pixel' is a data measure point in temperature, but it is related to a specific area that has been measured, just like a pixel of RGB would be in video. The technique uses averaging and summing, so that the image can be , say put into a higher resolution , much like in photoshop, you take a low resolution image and convert it from 72dpi to 300dpi, you get much more definition. This works by using a stacking algorithm from the data in one image only, but true stacking lets you create a bitmap of higher resolution, and then fill in the data using from 2 to up to a hundred similar scans run through the stacking algorithm. The concept is explained below in this astronomy website that covers the technology fairly well:

http://keithwiley.com/astroPhotography/imageStacking.shtml

When I get my system built , I planned on trying it, however I wanted to run it by you to see if it made technical sense in this context.

Thanks so much for what you did. Hope to hear from you soon.

CharlyV

This sounds really interessting.
I printed that page out and will read it through as soon as I have time :slight_smile:

charlyv:
Hello,
This is probably one of the best projects I have ever come across, and I almost have all of the necessary parts to begin my build. I had one question,

Did you ever consider the technique of "stacking" a number of scans? Even though the data is not video, it is pixel centric. The technique increases the signal-to-noise ratio and increases the dynamic range , by pixel. Here, a 'pixel' is a data measure point in temperature, but it is related to a specific area that has been measured, just like a pixel of RGB would be in video. The technique uses averaging and summing, so that the image can be , say put into a higher resolution , much like in photoshop, you take a low resolution image and convert it from 72dpi to 300dpi, you get much more definition. This works by using a stacking algorithm from the data in one image only, but true stacking lets you create a bitmap of higher resolution, and then fill in the data using from 2 to up to a hundred similar scans run through the stacking algorithm. The concept is explained below in this astronomy website that covers the technology fairly well:

How Image Stacking Works

When I get my system built , I planned on trying it, however I wanted to run it by you to see if it made technical sense in this context.

Thanks so much for what you did. Hope to hear from you soon.

CharlyV

Any chance this sensor is the exact same one?

I don't want to plunk the money down on something from China that I'm not sure is going to be right when I can get a BCI version for the same price here in the US.
My main concern is I don't know if I can program the EEPROM of the BCI the same way as the DCI. If I can, I would rather get the BCI since it'll get here faster from a reliable source.

Update: All parts for the new version are here - MLX90620 sensor is coming on Monday.

Trying to create the menu for the display now with touch implementation and sd store function :slight_smile:

For those following this project, does anyone want to do a group buy on the new sensor? It's about $65/sensor if you buy one but if we can get 10 people in the CONUS to go in on a group buy, we could save about $8-9 in the end.

maxbot:
Update: All parts for the new version are here - MLX90620 sensor is coming on Monday.

Trying to create the menu for the display now with touch implementation and sd store function :slight_smile:
Can you share with us the part list of the new version?Nice image

Thanks a lot for your great camera.

I am interested in attempting this project, my only reservation is the EVB90620... as you are probably well aware, it's the Evaluation Board for the MLX90620... but it costs +$300... I noticed you didn't list it on your parts list. I'm curious if that is what you used the Arduino for... in place of the EVB90620.

Thank you for your help.

Anyone can share sample of images of the thermocam they have?

Also it's possible to see difference between dci or bci version?

Thanks a lot.

Jose

I just want to add my voice to those already here. This is a fantastic project. Mr Maxbot, you have really done something good here!

I built it, and I gave it to my Year 11 Physics class to analyse their houses for thermal efficiency. They loved it, and put a fantastic amount of effort in - it was really engaging.

I designed a veroboard shield, and some assessments to go with this, You can get them by logging into the Australian Science Teachers Moodle site http://moodle.asta.edu.au/course/view.php?id=57 (free acount).

There is also an activity on using an arduino to measure g, and to learn about measurement uncertainties there ; and a 10 weeks electronics -> microcontrollers course- help yourselves if it is useful.

Cheers,
Leon

It seems that these array sensors are listed as dual use products in Switzerland, so you cant import one without a ton of paperwork.

:frowning:

drdespair:
It seems that these array sensors are listed as dual use products in Switzerland, so you cant import one without a ton of paperwork.

:frowning:

where can i buy these sensors at switzerland?

Thanks

Does anyone see any reason why the 5v version would not work? It just seems like it would be so much easier if the 5v-3v3 translation was not needed. ACI version per the data sheet keeps the narrow angle, but is 5v. Every person I see doing this project is using the 3v unit.

anyone know how i must use resistance of 4,7k ohm?
I'm a little bit lost with the schematic, i need to know how i must connect the wires.

Anyone can help me?

Thanks

Jose

Jose: you can use either the transistor logic-level translators, or the 4.7K pull-up resistors. The first option is the suggested way to do it, but I'm able to work with my MLX90614 BCI using the resistors.

Now the bad news. For me.
I put together the thermocam using an Arduino Leonardo, and tried to run the configuration sketch to improve the quality of the data received. Alas... when you reset the Leonardo, the serial port disappears... meaning that by the time I fired up TheraTerm to "talk" to the arduino the numbers you are supposed to save for later were already gone, and the sketch had already tried -and failed- to overwrite them. After that I added a long pause at the start of the app and was able to catch the full output from the program, but the writing of the registers kept failing. Now my MLX90614 is waaaay off (ice reports -253 celcius or so, skin 120 degrees or something to that tune). The ambient temperature seems to be accurate, but otherwise the sensor just went bonkers.

If there's anyone around here with a MLX90614ESF-BCI that could dump his/her EEPROM data and send it to me I would be extremely grateful. I rewrote the sketch to rewrite the EEPROM registers (now you have to actively request each register to be overwritten, by hand) and I added the option to dump the EEPROM and/or the RAM, so it's just a matter of loading a sketch, dumping the EEPROM and sending me the results. Please :stuck_out_tongue: ?

MYX:
Does anyone see any reason why the 5v version would not work? It just seems like it would be so much easier if the 5v-3v3 translation was not needed. ACI version per the data sheet keeps the narrow angle, but is 5v. Every person I see doing this project is using the 3v unit.

The thing is: have you found the ACI anywhere? Digikey lists a lot of these sensors, but no ACI

jay_ar

Here are the default values I have for my BCI.

----------Let's begin!----------
*1: Read filter settings:
Filter settings: 40821.00
*2: Read maximum temp settings:
Maximum temp: 39315.00
*3: Read minimum temp settings:
Minimum temp: 25315.00
Done ! Save those values to restore them if necessary.

Anyone can share the wire connection of the servo?

I have two 9g a0090
wire black- connected to gnd
wire red- connected to 5v
wire white- connected to d9 or d8

about melexis
i have
gnd-to gnd
3.3v-to red 3.3v
scl-line to 3.3v between a resistor of 4.7ohm then the wire and another wire to a5
sda-line to 3.3v between a resistor of 4.7ohm then the wire and another wire to a4

anyone can share the schematic with images? it's possible to create a manual of how to build the thermocam?

Thanks a lot.

Jose