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

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

Here is my circuit.

You can open with Fritzing software.
Thanks for the help.

Happy new year 2013.

Regards

Jose

healthyfatboy:
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.

Thank you! Now I can confirm those numbers are rather standard for these sensors. Now the only doubt remaining is where/how are the calibration values stored. I'm curious about positions 0x03 and 0x09 (Ta Range and "Melexis reserved")

If anyone is curious about these values, I had started a new thread about this:

Thanks!

Hi !

I just discovered the project : great idea, great thinkering !
I'm going to try it at home :slight_smile: ... and it's going to be very usefull !

One question : I saw some discussion about stacking pictures. If I understood well instead of getting one image in 3 minutes, you can leave it for much longer and get more measurement points and in the end have a higher resolution picture.
Am I correct ?
Did anyone looked into this ?

EDIT: I finally managed to take some time and assemble the project. I did exactly as per www.cheap-thermocam.tk instructions (only I added a 100uF between the GND and the 3.3V). It worked great.

I'm moving on to other projects and thought I would see if anyone was interested in purchasing the sensor. It's the BCI version and all the EEPROM values have been written to it and it's working nicely. I can leave the laser pointer that's hot glued next to it on as well as they are fairly well aligned. I was thinking $40 shipped in the CONUS if anyone wanted it. Send me a message if you are.

@Healthyfatboy
[no direct interest but]
Which country are you as shipping costs might vary considerably?

Sorry, I'm in the US. International shipping might not be too much but it would have to be first class mail in a small padded envelope for those interested. I would make sure to bubble wrap it as well.
I would still prefer shipping in the US but I would consider outside too if there was no interest here.

Sensor has been sold. Thanks for the interest!

I didn't see the webcam usb cables in the schematic. Does the webcam plug straight into the pc?

myth2sbr:
I didn't see the webcam usb cables in the schematic. Does the webcam plug straight into the pc?

yes just plug on the computer.

I've been reading all your posts and all the forums and websites. I love this idea.. and i need something like this for a project im running. I'm currently running a system with hot water in planks, under hydroponic plants to see what response i get from the plant. I am looking for a thermal camera to take a couple pictures to see how much heat im radiating off. I was wondering if anyone has one for sale in USA or canada? for a fairly cheap price. I'm a student dont got much money but very interested in plant productions and hydroponics. and no i'm not trying to grow marijuana !! we are growing red peppers.

PM me!
THanks guys! awesome work too!!

If anyone can help me I would greatly appreciate it, I am having trouble getting the Java application to open. When I run the cmd prompt it returns the following

java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Kenny\Desktop\JAVA\lib\win32-x86\rxtxSerial.dll: The specified procedure could not be found thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Kenny\Desktop\JAVA\lib\win32-86\rxtxSerial.dll: The specified procedure could not be found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:123)
at com.centralnexus.thermal.StartMenu.findCOMPorts(StartMenu.java:280)
at com.centralnexus.thermal.StartMenu.(StartMenu.java:124)
at com.centralnexus.thermal.StartMenu.main(StartMenu.java:467)

Any help would be greatly appreciated!!!! Thanks!

Hello,
Great project .
Can I get the source code of the arduino. i would like to make some experiments, and learn how the program works.

Avinoam

Hello

what is the usage of laser in the thermal camera.

avinoamd:
Hello,
Great project .
Can I get the source code of the arduino. i would like to make some experiments, and learn how the program works.

Avinoam

The source code is available for download at the website www.cheap-thermocam.tk

dvernor:
If anyone can help me I would greatly appreciate it, I am having trouble getting the Java application to open. When I run the cmd prompt it returns the following

java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Kenny\Desktop\JAVA\lib\win32-x86\rxtxSerial.dll: The specified procedure could not be found thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Kenny\Desktop\JAVA\lib\win32-86\rxtxSerial.dll: The specified procedure could not be found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:123)
at com.centralnexus.thermal.StartMenu.findCOMPorts(StartMenu.java:280)
at com.centralnexus.thermal.StartMenu.(StartMenu.java:124)
at com.centralnexus.thermal.StartMenu.main(StartMenu.java:467)

Any help would be greatly appreciated!!!! Thanks!

Not quite sure about this... What OS are you using ? Have you installed the 32-bit version of java and uninstalled any 64 bit version ?

avinoamd:
Hello

what is the usage of laser in the thermal camera.

The laser is needed to match the sensors position with the optical image and to show you the current area measured

Great project!! Just finished building mine for a school project (research lab wouldn't loan me the FLIR camera). Max I noticed you removed the pull-up resistor note on your website - don't know if this was on purpose, but I connected the sensor directly to A4 & A5 and it's working without a problem.

I used the EEPROM update, it too worked without any problems. The surface temperatures I am getting seem accurate. This sketch is also a good way to be sure that you have the sensor connected properly - If it doesn't read the inital values, check your connections. Just unplug the 'duino before uploading the new values if you don't want them.

In reference to dvernor's question, I was having some trouble with the Java software too. I could get it to calibrate but when I started the scan, the program would hang. Uninstalling 64-bit Java and using 32-bit fixed it; working great now.

Other troubleshooting item - when I started the Java program for the first time, to calibrate, the arrow buttons didn't respond - I found that it was just out of range, if you press a button in the same direction for long enough the servos eventually respond...

Thank you for sharing all of your hard work on this!