Light Painting with Temperature

Inspired by the Public Laboratory and having just finished a round of college applications, I decided to experiment with thermal imaging on the cheap.

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.


If you need any of the Sparkfun parts in larger quantities, I highly recommend buying from a bigger distributor like Digikey. You’ll save a bunch of money.

First I cracked open the flashlight and had a look inside.

DSC_8178 DSC_8182

Then I removed the LED assembly, which required removing three screws.


Below is the old LED assembly. We don’t need it, but it’s a useful source of ultra-bright LEDs.



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.

DSC_8193 DSC_8194

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).

DSC_8198 DSC_8202

We are wiring all of the LEDs in parallel. Bend down the same pin on each LED and solder each to the core of a piece of solid core wire to connect everything together.


Add a couple of pieces of electrical tape to insulate these connections from the next layer.


Bend down the next pin. Lather, rinse, repeat. Note that I didn’t add 100 ohm current limiting resistors to each of the LEDs. This would have been advisable, but I got away with it by adding a 15 ohm resistor in series with the red, green, and blue channels. That was not ideal, since I’m trusting that each of the LEDs will draw its correct share of current (unfortunately, that almost certainly is not the case). Be smarter than me and add your current limiting resistors to each LED during this stage.

DSC_8208 DSC_8209

Inside the plastic flashlight housing, break off the two plastic flaps on either side of the power switch. We need the room.


Solder wires to each of the pins on the thermometer. I used heat-shrink tubing to make sure nothing shorted out. Make sure to remember which wire goes to which pin (relative to the little bump on the thermometer).

DSC_8216 DSC_8217Wire up the thermometer as described here - the link provides a very easy to understand diagram.
DSC_8220 DSC_8225

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 channel (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 — someone 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.

I used the code generously provided by the Public Laboratory. It does exactly what we need it to.


Connect the power switch of the flashlight between the 9V and the Arduino.


Carefully place everything into the flashlight housing making sure no boards can short out against each other. You’re done!

DSC_8232 DSC_8233 DSC_8243This was a really, really fun project to build. The parts aren’t that expensive, and with some electronics experience you should be able to complete this in an afternoon or two. Set up your camera for a long exposure shot (I used 25-30 seconds for the photo above), and paint the room! The results are surprisingly good.

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!

UPDATE: Discussion on HN, Instructables


This entry was posted in project.

61 thoughts on “Light Painting with Temperature

  1. Pingback: MAKE | Light Painting with a Thermal Flashlight

    • Yep, and I mention that in the post. However, there’s nothing wrong with wiring them in parallel, you just need to put a resistor on each LED to make sure it’s drawing the amount of current it should be.

  2. Pingback: Light Painting with a Thermal Flashlight

    • Yes – the reflector is conductive and the leads on the IR thermometer don’t reach the board on their own (and mounting the sensor closer to the board would mean more opportunity for the reflector to interfere with the cone of vision of the sensor). Also the center of the perfboard where the sensor would attach was obscured by the insulation from the LED connections. After wiring the LEDs up, it just seemed easier to do it this way. With a little more planning, mounting to the board as you suggest might make more sense.

  3. Pingback: An absurdly clever thermal imaging camera

  4. That’s a great idea, thanks for sharing it publicly. I rented a FLIR thermal camera about a year ago to check for air leaks and hot and cold spots in my home and it was a bit expensive. It got me thinking of ways to do scanning or something along those lines with a cheap single point IR thermometer sensor, but this seems like a good solution for basic temp mapping.

  5. Pingback: An absurdly clever thermal imaging camera | Daily IT News on it news..

  6. Fantastic build! What speed have you been sampling from the sensor? Did you find any limit on how fast you can “scan” with it? How fast is your Arduino interface gathering input? Once again, great build!

  7. Pingback: DIY Project Turns Flashlight into Thermal Imaging Tool « Merve Demir

  8. Pingback: DIY Project Turns Flashlight into Thermal Imaging Tool |

  9. Pingback: – An absurdly clever thermal imaging camera

  10. Pingback: DIY Project Turns Flashlight into Thermal Imaging Tool -

  11. Thank you for the effort you put into devising this tool. I’m going to try and build one this weekend :-) I’ll be hacking up a different model flashlight, though.

  12. If you use the Audruno to drive an X-Y laser mirror assembly in reverse, you might be able to directly scan a grayscale temp image using the point-temp sensor.

    Then it would just be a matter of converting grayscale to color with a PC program or inside the Audreno.

    That would eliminate the camera and color LED’s, but it’s hard to find a cheap X-Y laser mirror servo stage.

  13. Pingback: Light Painting with Temperature | Janean Super Store

  14. Pingback: Blue Note Tech Blog » Light Painting with Temperature

  15. Pingback: Best Blogs - Light Painting with Temperature

  16. Congratulations on one of the most interesting and creative projects I ever seen. I’ve been using the TPA81 8+1 thermal sensor.

    I do a lot of plant/botany research and look forward to using you project on plants and for (trying to) micro scan leaves with a smaller unit. I see so many lab possibilities with this using certain narrow bandpass interference optical filters.

    Respect out to you for sharing this highly useful project.

    I don’t think your dog likes being scanned!

  17. Pingback: Light Painting with Temperature | Max Justicz | AD 100: Responsive Arts

  18. Pretty component of content. I simply stumbled upon your web site and in accession capital to assert that I acquire actually loved account your weblog posts. Anyway I’ll be subscribing in your augment and even I success you access constantly rapidly.

  19. Pingback: Make a Heat Sensitive Photo with a Long Exposure Shot | DIY Tripods

  20. How are you getting on with the PCB? I plan on giving this a blast, and trying to find what parts I can substitute, and then make a plan. But if there is a neat starting point for the project, all the better!

  21. Pingback: Seventeen of the Greatest Camera Hacks of All Time

  22. Pingback: Seventeen of the Greatest Camera Hacks of All Time | News 12

  23. Pingback: Siebzehn der größten Kamera-Kerben von beispiellosem - Nachrichten Heute Deutschland | Nachrichten Heute Deutschland

  24. Pingback: 17 of the Greatest Camera Hacks of All Time « Secured Archives Secured Archives

  25. Pretty section of content. I just stumbled upon your website and in accession capital to
    assert that I get in fact loved account your blog posts.
    Any way I will be subscribing on your feeds and even I fulfillment you get
    admission to constantly rapidly.

    my web-site self Improvement

  26. It’s hard to find your blog in google. I found
    it on 17 spot, you should build quality backlinks ,
    it will help you to increase traffic. I know how to help you,
    just type in google – k2 seo tips and tricks

  27. Does your website have a contact page? I’m having problems locating it but, I’d like to
    send you an email. I’ve got some creative ideas for your blog
    you might be interested in hearing. Either way, great site and I look forward to seeing it develop over

  28. First off I want to say wonderful blog! I
    had a quick question that I’d like to ask if you do not mind.
    I was interested to know how you center yourself and clear your
    head prior to writing. I’ve had a hard time clearing my mind in getting my thoughts out.
    I truly do take pleasure in writing however it
    just seems like the first 10 to 15 minutes are generally lost just trying to figure out
    how to begin. Any recommendations or hints?
    Many thanks!

    Visit my blog post: Lawyer Vs Attorney In Peoria Il

  29. Great items from you, man. I’ve be mindful your stuff prior to
    and you’re simply too fantastic. I actually like what you’ve obtained
    right here, really like what you’re saying and the best way through which
    you are saying it. You make it enjoyable and you
    continue to take care of to keep it smart. I cant
    wait to read much more from you. This is actually a great web site.

  30. I was curious if you ever thought of changing the layout of your blog?

    Its very well written; I love what youve got to say. But maybe you
    could a little more in the way of content so people could connect with it better.
    Youve got an awful lot of text for only having one or two images.
    Maybe you could space it out better?

  31. Have you ever considered about including a little bit more than just your articles?
    I mean, what you say is important and all. But just imagine if you added some great
    pictures or video clips to give your posts more, “pop”!
    Your content is excellent but with pics and videos,
    this blog could definitely be one of the greatest in its niche.
    Superb blog!

    my homepage – Fumigation Surrey

  32. Hi are using WordPress for your blog platform? I’m new to the blog world but I’m trying to get started and create my own.
    Do you need any html coding knowledge to make your own blog?
    Any help would be greatly appreciated!

  33. I really like what you guys are usually up too. This type of clever
    work and coverage! Keep up the excellent works guys I’ve incorporated you guys to blogroll.

  34. Howdy I am so thrilled I found your weblog, I really found you by error, while I was searching on Digg for something else, Regardless I
    am here now and would just like to say many thanks for a fantastic post and a all round interesting blog (I also love the theme/design), I don’t have time to go through it all
    at the minute but I have bookmarked it and also added your RSS feeds,
    so when I have time I will be back to read much more,
    Please do keep up the great job.

    Here is my web page: best plastic surgeon san diego

  35. After exploring a few of the blog articles on your blog, I honestly appreciate your
    way of blogging. I added it to my bookmark webpage list and will be
    checking back soon. Please check out my website as well and tell me what you think.

    Here is my homepage … continue

  36. Fantastic items from you, man. I’ve be aware your
    stuff prior to and you are just too magnificent. I really like
    what you’ve obtained here, really like what you’re saying
    and the way in which wherein you say it. You’re making it enjoyable and you still care for to keep it wise.
    I can not wait to read much more from you. This is really a terrific web site.

    Have a look at my weblog licensed bonded insured

  37. Eu nu sunt printre ei , dar eu sunt o fată plină de viață viguros
    . Și cum vor ști afaceri atunci când au reușit în această sarcină nobilă ?
    Accentul meu a fost la demitizarea ideea că muzeele
    au trebuit să fie toate lucrurile pentru toți oamenii .

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>