Thermal cameras are expensive. Even at low resolutions, it is not uncommon for a decent thermal camera to cost over $10,000. However, for only $20, you can buy an infrared thermometer that reads the average temperature over a small area. If we could turn that single area into a color and use a long exposure photography to "paint" the scene with that color, we could create something very similar to a proper thermal image.
This is not a new idea. The Public Laboratory has come out with a design for something that does this, but I have yet to see one make its way off of a breadboard. I decided to take the project to the next level and make a real, bona fide thermal flashlight. Here's how I did it.
Step 1: Materials
- Infrared Thermometer - MLX90614
- 0.1uF Ceramic Capacitor
- 2 4.7k Resistors
- 3 1k Resistors
- 8 RGB LEDs Note: Previously, and in the images in this instructable, you will see me using common cathode (negative) LEDs. To make your life easier with the transistors, use common anode LEDs like the ones now linked.
- Dorcy LED Flashlight
- 3 NPN Transistors
- Arduino, any will do
- 9V Battery Clip and Battery
Step 2: Making the RGB LED Assembly
Now we have to start making our own RGB LED assembly. Remove the reflector from the flashlight's housing so we can work on it. One interesting thing to keep in mind - even though the reflector is made of plastic, it has a very conductive coating. Make sure you don't short anything against it by accident.
Place all of the 5mm LEDs in the outer ring of the reflector. We are leaving the center empty for the infrared thermometer. Also, remove the plastic lens from the flashlight cap. Using the placed LEDs as a guide, insert the leads through your piece of perfboard. Solder the LEDs in place, making sure they are all in the same orientation relative to one another. In this case, the blue pin of the RGB LED is always on the right (the long pins are the common anodes of the RGB LEDs).
Step 3: Wiring the LED Assembly
Inside the plastic flashlight housing, break off the two plastic flaps on either side of the power switch. We need the room.
Step 4: Wiring the Sensor
Wire up the thermometer as described by the diagram (borrowed from here).
Connect everything to the Arduino: the pins you connect the RGB LEDs to have to be PWM pins since we need gradations of brightness with each color. Where you connect everything depends on your code (see next step). Two pins from the sensor went to analogs 4 and 5, and each color of the LEDs should go to pins 3, 5, and 6 through the NPN transistors to ground (I made a mistake by not doing this -- Ugifer correctly pointed out that I was drawing too much current from the Arduino otherwise). If you don't know what that means, check out this diagram. Power went to the common anodes of the LEDs. Solder the power switch of the flashlight between the 9V and the Arduino.
Step 5: Programming and Final Assembly
Carefully place everything into the flashlight housing making sure no boards can short out against each other. You're done!
As always, please feel free to ask me any questions. Let me know if you build your own thermal flashlight - I'd love to see it!