Skip to content

IR Blue – Cheap Open Source Thermal Imaging

by on July 9, 2013

Thermal Pi

For those that missed it RHWorkshop started a Kickstarter project back in December 2012; to build an Open Source, Cheap and Affordable Thermal Imaging Camera, for use with Apple IOS or Android devices.  Thermal Imaging Cameras typically cost approximately $1,500USD,  this device costs $160USD (just over 10% of the value, compared to a professional piece of kit).

Today, I finally received my DM kit 🙂  I spent approximately 30 minutes assembling the through-hole device (Hint: You can purchase a pre-made fully assembled device for $195USD, if your soldering skills aren’t up to scratch. I really like my electronics projects, and have built other projects such as Adafruit’s Ice-Tube Clock).  Annoyingly, I was 1x 1µF capacitor short :(.  Luckily, I had a spare low voltage 105 ceramic capacitor in my kit, and it was easily replaced 😎


(Photo originally sourced from

The main topic photo above is the first object I snapped with the newly assembled camera; A thermal image of the Raspberry Pi.  You can see the Processor glowing red at approximately 33°C.  The alignment is a little off at the moment, I just could not wait to test this little device out; Now I’m busy getting familiar with the application controls, and settings and correcting the alignment problem from my eager first photo.

The IR-Blue lets you see the temperature of things around you. It uses a 64 zone non-contact InfraRed sensor array to read the temperature of what you are viewing. The IR-Blue connects using Bluetooth to your iPhone or Android device to show the temperature readings as colors on the screen.

The IR-Blue supports Bluetooth 2 and Bluetooth 4 BLE. It works with the iPhone 4S, 5, the New iPad’s and the 5th gen iPod Touch. It also works with Android 2.3 and newer devices with at least 480 x 800 resolution displays.

You can Download the Smart Phone Apps from:

Now to start taking thermal image captures of other devices around the home/office 🙂

Thank you Andy Rawson for this affordable device.

Where to buy one?

More Pics

My Motor… taken on an iPhone5, IR Blue (Moments later it started raining, I’ll wait until its another dry day and take some better comparison pics with Android & Mardarso)


Pi… taken on iPhone 5, IR Blue (Better aligned this time)


Pi… taken on an Android HTC 1X+ , Mardarso (Top = Default Mode, Bottom = 8Hz Hack)



My hand… taken on an Android HTC 1X+ , Mardarso (Top = Default Mode, Bottom = 8Hz Hack)



You cannot see a lot of difference with the Pi pics, but you can see a difference on my hand; one pic you can clearly see it outlining my fingers, as opposed to the other where my hand is one big heat blob.

More to follow…

  1. Hi Andy and thank you for your write-up ! How is the refresh rate of the device ? It seems to be really slow in some videos… can you post one ?

    • I find the refresh rate slow on android, but I find it fast and very useable on apple iDevices(Newer generation iPhone/iPad/iPod’s). I will try to get you some proper figures soon.

      I have tested the following devices:
      * 5G Iphone (very fast)
      * 3G Iphone (fast)
      * 2G Ipad Mini (very fast)
      * HP TouchPad;Android (slow)
      * HTC One X+ (slow)
      * HTC One X+ – using Alpha Hack (fast)

      (Updated 9/10/2013, comparing versions Android Mardaso v0.86 & Apple Irblue v1.0.10)

  2. Well, I read in Melexis MLX90620 datasheet ( – in particular at page 2 and 22):

    “The frame rate is programmable in the range 0,5Hz…512Hz and can be
    changed to achieve the desired trade off between speed and accuracy.”

    working on configuration register number 92 so I think the fastest is the less accuracy is achived but in your “hacker” opinion is it possible to change this value inside the Android software reaching at least 24 frames per second ? Maybe 8Hz is a accuracy/speed compromise”…

    • I’ve honestly left mine at default, just something to play around with. But digging in the specs it should be quite easy to re-program the frequency over I2C. Definitely something to try!

      I havn’t really delved too much into the android code – I expect its just all set-up as default. I’d be tempted to wire up the bus-pirate & probes and try to alter the MLX straight through the I2C protocol.

  3. I’m the developer of the Android App and just found this, thanks for the write-up!

    In the Android App there´s a non-documented function to set the refresh rate to 8Hz:
    a long push on the alpha button will activate this. But be careful not to push again because this can freeze the sensor and you have to power cycle the IR-Blue to get it up and running again.
    That’s why it’s not mentioned.

    Do you still witness slow refresh with the latest Android version? I use it on a HTC one X and found it much faster then before.

    If you want to speed up things you will have to do it trough the uC firmware and reflash it.
    If you don’t have swordfish basic I’m happy to do it for you and upload a version with a higher refresh rate on Github.

    • Thanks for this 🙂

      Turns out I’m still using version 0.84, I will update the App, re-assess and edit my findings appropriately.


      Updating to version 0.86 on Android showed significant improvements on my HTC one X+, in default mode it would take ~3 seconds to generate a fairly accurate thermal image (I actually think the image is more bold & sharper than the iDevice). By using the undocumented feature “above”, the response time improved to ~1 second (comparable with iDevices). However, I felt that more noise was now in the Android image when comparing like-4-like images across both devices. When I get some free-play time, I will take like-4-like images of devices around the home/office.

      So it looks like a trade off between speed and detail!

  4. Thank you very much Mardaso !
    This undocumented setting is really important to make user decide which refresh rate to use !

    @Andy: can you also post screenshots of the undocumented feature ?

    • Will do shortly…

      • To reduce noise you could try and use the calculate offset function in the menu list.
        I think most of the lag in the 8Hz mode will come from the sensor itself.
        During testing I found that there’s a huge difference between Android devices. Also BT implementations is not the same on every device.
        The App runs best on a cheap MediaTek Quad core tablet and it’s slow on the new Nexus 7 tablet. Something I have to look into but I suspect the BT connection.

        In the last version, I added display refresh in the settings menu you can adjust to get better speed.
        You have to try what setting gives the best results on your device. If your device get to hot go back to the default setting.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: