What I want to do
I would like to hack an off-the-shelf IR Thermometer found at any Radio Shack (link and image below) for use as a cheaper an more accessible component in the thermal flashlight build. In northeastern states like Maine, it goes without saying that home heating is a major concern. Ever since installing a small Pellet Stove in my basement, I've been looking for ways to increase its effectiveness by controlling the household airflow. While our reliance on propane fuel has decreased dramatically, without any cost effective means of visualizing and/or controlling airflow, we're more or less flying blind. The long term solution is to build a wireless sensor network via wifi and XBee's that will log temperature readings from various fixed locations around the house while also allowing for remote control of things like fans, electric heaters and even the pellet stove itself! Before that can happen though I need to get a better idea of where to set up the sensors. For this I need a thermal imager of some sort. Obviously, I'm not about to fork out +$1000 for a proper flir cam, so I was happy to see the thermal camera work done here on PublicLab. Yet, Its been many months since I first found the Thermal Camera build instructions and I still havent gone anywhere with it. Why? At $20 for a required minimum of two Melexis IR Sensor is a tad pricey for for something I'm not likely to use in any other projects. If it was something I could just pick up at the local Radio Shack, it would be a different story however. So when I noticed Radio Shack selling their own commercial "Pocket IR Thermometer" for $10, this is precisely what I had in mind!
My attempt and results
Before doing anything I thought I would search the usual places (Instructables, Hack-A-Day etc...) for any existing hacks but searches for "Radio Shack IR Thermometer" turned up a lot of nothing. The user manual covers the basics but nothing more than how to turn it on and where the batteries go.
The cover came off relatively easily, and the circuitry resembles a long stick of gum with a sensor on the end that looks suspiciously similar to the Melexis MLX14. I was able to make out the words "ZyTemp TNOpm2" and this turned out to be the clue I was hoping for! Not only was I able to find the full detailed datasheet at- http://www.zytemp.com/products/tn0pm2.asp but thanks to some savvy EV enthusiasts (over on endless-sphere) I was able to find a detailed post outlining the pinouts to get a serial connection with an Arduino- http://endless-sphere.com/forums/viewtopic.php?f=7&t=49058
The instructions on the thread are for a different model however, so I didnt know if it would work for mine. The pinouts were big enough for me to easily add a header and the assignments appear to be the same as the endless-sphere build-
V= Vdd G = GND D = Data (serial) C = Clock (for data) A = Action Pin (pull to GND to take a measurement. Shorting to ground will make it do continuous measurements)
Questions and next steps
Having worked endless hours trying to get an Arduino IDE on Ubuntu to recognize the serial port of a Leonardo-type (Software Serial) device, simply getting a read-out on a serial monitor is a huge win! Now the next step is for it to make sense.
Right now the Serial Monitor seems to be spitting out an uncalibrated number in both Celsius and Fahrenheit-
99.00 C 210.20 F
99.00 C 210.20 F....
I'm guessing, I have to mess with the software interrupts a little bit so the ss knows what to grab.
Once thats taken care of, it should be relatively straight-forward to either merge with the current Thermal Flashlight sketch, or configure my own range of RGB LED outputs.
Thus Far the baseline sketch I've been using is based on "http://dorkbotpdx.org/blog/scott_d/inexpensive_ir_based_temperature_sensor_for_microprocessors"
The small form factor of the Arduino Micro allows for any number of cam/controller combinations. Depending on the usage I might try it with the new Adafruit "Trinket" ATTiny85 microcontrollers which would almost allow it to fit back into its original case.
6 Comments
This is great progress. Have you found a place to buy the ZyTemp sensor? I am in Vermont and needed an array of these last night when I froze some pipes. Today I banked the entire house foundation with snow. Really cheap sensors could have saved me some work. Is there the potential to create a device to distribute to the thousands of New Englanders and others who need to understand the thermal properties of their houses better?
Is this a question? Click here to post it to the Questions page.
Reply to this comment...
Log in to comment
I added some changes to my documentation so as to clarify that I am not actually designing a new Thermal Flashlight build, but rather experimenting with a modification to the existing method outlined at http://publiclab.org/wiki/thermal-camera. The only drawback I've encountered with the existing method is that the Melexis MLX90614 Infrared sensor is too much of a hassle to get a hold of. I'm attempting to see if similar results can be achieved by replacing the Melexis component with a much more common, off-the-shelf sensor that can be found in any Radio Shack and modified by soldering new connections to the serial port. The hope is that more people will be able to build their own devices if all the components are easy to obtain.
That said, the Melexis MLX90614 IR Sensor would be my first choice as it is well documented within the hobbyist/maker community. Also, the retail thermometers are cheaper because the major retailers can afford to buy in large batches, but if the intent were to "distribute to thousands of New Englanders" then the Melexis would almost certainly be a better choice as the economy of scale would lean more in its favor.
MLX90614 Datasheet- http://www.melexis.com/Asset/IR-sensor-thermometer-MLX90614-Datasheet-DownloadLink-5152.aspx Hacker-Friendly Breakout for MLX90614- https://www.sparkfun.com/products/10740
RadioShack Page for Pocket IR Thermometer- http://www.radioshack.com/product/index.jsp?productId=4288088&utm_source=google&utm_medium=PPC&utm_term=_intitle:Thermometers&utm_content=b&utm_campaign=CE_Fitness_DSA_Clickserves&gclid=CJHE8py_47sCFXPNOgod31wAqA
Manufacturers Datasheet- http://www.zytemp.com/products/tn0pm2.asp
Is this a question? Click here to post it to the Questions page.
Reply to this comment...
Log in to comment
Wow, very interesting. What would the serial output be like, ideally? just a stream of temperature values?
Cool!
Don't miss out on the Visualight mod which we're trying to adapt to be a thermal flashlight. http://publiclab.org/tag/visualight
Is this a question? Click here to post it to the Questions page.
Reply to this comment...
Log in to comment
Right now I think the goal would be to see any kind of range in the output so as to adjust the LED code accordingly. The current serial output above and not only do the numbers remain unchanged, but something is clearly off in the readings as I can guarantee the temperature was not 210.20 F at the time (I would've settled for 59 Degrees indoors, but these past couple days have been insane!) If I remember right, the factory state requires the user to push the button every time they want a new reading. This probably entails some kind of interrupt code that resets the sensor at regular intervals. Or intervals could be set to predefined positions on a pan/tilt servo mount. I'll post the sketch I'm using once I finally figure out the Markdown keystrokes for indenting blocks of Arduino code. Failing that I'll link to a Github repo.
As far as a full thermal flashlight build-out is concerned, I wonder if anybody has tried using the Melexis Evaluation Board from Sparkfun (https://www.sparkfun.com/products/10740). Considering the standalone sensor was pushing the price threshold at $20, the $50 eval board is definitely over the line for a hobbyist BUT it DOES include an ATMEGA328 Microcontroller embedded right into the PCB. Theoretically this means it could be programmed as a standalone unit with no need for an external Arduino. Assuming it has enough extra outputs to trigger a string of RGB LEDs it seems like the perfect form factor for a modded flashlight ala- http://www.maxjusticz.com/light-painting-with-temperature/
Reply to this comment...
Log in to comment
UPDATE: See my new research note- http://publiclab.org/notes/code4maine/01-22-2014/thermal-flashlight-using-mlx90614-ir-evaluation-board-from-sparkfun
I put this project on hold in order to build a thermal flashlight using the "Evaluation Board for MLX90614 IR Thermometer" from Sparkfun- https://www.sparkfun.com/products/10740 As you'll see in the research note I'm almost there but haven't figured out the LED part yet. If I do, this could serve as a reference for the "Visualight" project as it has a much smaller form factor and by replacing the current ATmega328 with a newer microcontroller chip like the ATmega32u4 or ATTiny85 it would have USB-Host support.
Reply to this comment...
Log in to comment
Hi @ajawitz,
Do you happen to have a binary dump of the EEPROM that's on the Radio Shack pocket IR thermometer? My unit is spitting out an "Er 5" error. Among the minimal information available online about this error, it appears to indicate that the EEPROM is corrupt.
Thanks!
Is this a question? Click here to post it to the Questions page.
Reply to this comment...
Log in to comment
Login to comment.