Products > Thermal Imaging

Flir One Thermal imaging camera teardown and hacks

(1/22) > >>

tomas123:
in the current Flir One thread https://www.eevblog.com/forum/testgear/flir-one-personal-thermal-imaging-device-for-your-iphone5-5s/
the  thread holder can't create a link list to the important posts

So I start a new thread and I will try to collect some links for the Flir one

for hacking the Flir Ex (Flir E4, E5, E6, E8) and the Exx (Flir E30, E40,  E50, E60)
see here https://www.eevblog.com/forum/testgear/flir-e4-thermal-imaging-camera-teardown/

Link list for Flir One Generation One Flir1G1 

Mike
Flir One teardown part 1
https://www.eevblog.com/forum/testgear/flir-one-personal-thermal-imaging-device-for-your-iphone5-5s/msg502599/#msg502599

Flir One teardown part 2
https://www.eevblog.com/forum/testgear/flir-one-personal-thermal-imaging-device-for-your-iphone5-5s/msg504750/#msg504750

Mike's self made mini thermal camera with lepton sensor
https://www.eevblog.com/forum/testgear/flir-one-personal-thermal-imaging-device-for-your-iphone5-5s/msg507550/#msg507550
http://hackaday.com/2014/09/07/building-the-worlds-smallest-thermal-camera/

Mike's Flir Lepton reverse-engineering page
http://www.electricstuff.co.uk/lepton.html

Lepton sensor
Lepton software command spec at the Pure Engineering site
http://www.pureengineering.com/projects/lepton

vincentwrath
palettes and emissivities hacks in flir one app
https://www.eevblog.com/forum/testgear/flir-one-personal-thermal-imaging-device-for-your-iphone5-5s/msg547670/#msg547670

devilmastah
hack to unlock a temperature range of -40 to 150 degrees C in the iPhone app
https://www.eevblog.com/forum/testgear/flir-one-thermal-imaging-camera-teardown-and-hacks/msg553481/#msg553481

Link list for Flir One Generation Two Flir1G2 

full datasheet for Lepton 3
http://media.wix.com/ugd/53cdb6_5191be73d1c943d78d2e1a095cb7f3b8.pdf

Lepton 160x120 is cropped to 120x90 in Flir One
https://www.eevblog.com/forum/thermal-imaging/actual-resolution-of-flir-one-v2/msg797429/#msg797429
https://www.eevblog.com/forum/testgear/flir-one-thermal-imaging-camera-teardown-and-hacks/msg799649/#msg799649

images from disassembly
https://www.eevblog.com/forum/testgear/new-flir-products/msg750181/#msg750181

a working SDK sample with the extracted java.class
https://www.eevblog.com/forum/thermal-imaging/question-about-flir-one-for-android/msg799634/#msg799634

Flir One Android with Linux
general setup with v4l2loopback kernel driver: https://www.eevblog.com/forum/thermal-imaging/question-about-flir-one-for-android/msg832208/#msg832208
last code: https://www.eevblog.com/forum/thermal-imaging/question-about-flir-one-for-android/msg840976/#msg840976
endpoint 0x85
https://www.eevblog.com/forum/thermal-imaging/question-about-flir-one-for-android/msg822120/#msg822120

compare the image quality between Flir One G1, Flir One G2, Flir Ex, Flir Exx
https://www.eevblog.com/forum/thermal-imaging/flir-e4-thermal-imaging-camera-teardown/msg802245/#msg802245

tomas123:
a sensitivity test

For comparing the quality of the flir lepton sensor with the Flir Ex / Exx I shot sample images from a (uncooled) beer crate and two bottles of champagne with the same FOV.

Knowingly I shot a image with minimal temperature differences (only 1 Kelvin).
Please note the different temperature scales!

All screenshots from FlirTools after pressing the Auto-Range Button. (without MSX)

Flir E40 (hacked 320x240), Germanium (?) lens


Flir E4 (hacked 320x240),  Chalcogenide Glass lens


Flir One => Lens FOL 2 (80x60)

tomas123:
check for fake noise

in the post above you can see in the Flir One image mystery artifacts (vertical lines)

Let's start the next experiment to analyse the temperature sensitivity with stacking 30 images from the Flir One

I choose an image with 2 Kelvin temperature gradient: a candle lantern on a underfloor heating.

First compare the image from the Flir One with  Flir E40 (hacked to 320x240)
For better comparing I took screenshots  from Flir tools

E40


Flir One (slightly another angle, flir one has wide-angle focal length)


please note the temperature scale (2 Kelvin)

I shot 30 photos from the same subject with the Flir One.

following the code for converting the RAW data of the 30 Flir One images (IMG_*.JPG) and generating the attached images
(use imagemagick and exiftool)

--- Code: ---$ exiftool -b -RawThermalImage IMG_*.JPG -w _%f.png

$ convert -version
Version: ImageMagick 6.8.9-1 Q16 x86_64 2014-07-08 http://www.imagemagick.org

$ convert  -define png:swap-bytes=on *.png    -set filename:fname 'R%t' +adjoin '%[filename:fname].png'

// find max/min RAW value
$ identify -verbose R_*.png | grep -n3 statist | grep min | sort -k 3 | head -n 1
10409-      min: 13272 (0.202518)

$ identify -verbose R_*.png | grep -n3 statist | grep max | sort -k 3 | tail -n 1
376-      max: 13658 (0.208408)

//stretch level und resize for stacking
convert R_*.png -level 13250,13700 -resize 320x -set filename:fname 'S%t' +adjoin '%[filename:fname].png'

// calc average
$ convert  -average SR_*.png stack.png

// mosaic
$ montage SR*.png -tile 6x5 -geometry +2+2  tile_6x5.jpg

//animated gif
$ montage SR*.png -tile 1x1 -geometry +0+0 tile_1x1.gif
--- End code ---

see the stacked image

There are no visible sensor disturbances. If you have a good monitor, you can see on the right side the diagonal line of flagstone!!
this image says: "Yes I can 50mK"

The data sheet of the Flir Lepton sensor give a sensitivity of 50mK (like the sensor of a hacked Exx/Ex).
I think, that the Flir App overlays a dirty noise, like on an unhacked Flir Ex/Exx 

look at the movements of the fake(?) noise:


I see vertical and horizontal lines


...and on some images are partly visible patterns!


I know, there is a temperature drift. I haven't wait long enough...

Formerly I made the same experiment with a Flir E4.
I the E4 is unhacked, then the stacking magnificent remove the noise.
But with a hacked E4 you can not mentionable improve the s/n-value of the image with stacking.

tomas123:
after the sensitivity tests above it's time to make a resolution test

I used a 0,2mm heating wire and take some photos from 1m distance of the diagonal wire.
To avoid optical crosstalk I only heated the wire 5 Kelvin.
 
First the screenshots from Flir Tools. Here you can check the minor temperature differences (crosstalk)

E40 (hacked to 320x240 pixel)



Flir One (80x60 pixel)

we can see, that the noise level from the Flir One by a 6 Kelvin scale is very good (compared to the Seek Thermal infrared camera) 
please note the cold spots around the wire (artefacts from upscaling to 160x120??)


now some steps with imagemagick and exiftool to extract the raw values
As overlay a grid, to show the real size of one sensor pixel.
For better viewing I resize a sensor pixel to 8x8 screen pixels

Flir E40 (image IR_3115.jpg with 320x240 sensor pixels)


--- Code: ---//extract RAW
$ exiftool -b -RawThermalImage IR_3115.jpg > IR_3115.tif

//auto-level and resize (without interpolation!) to 8x8 pixel size
$ convert IR_3115.tif -auto-level -filter point -resize 2560x wire6.png

//draw one square with size 8x8
$ convert -size 8x8 xc:none -stroke gray -strokewidth 0  -draw "line 0,0 0,7"  -draw "line 0,0 7,0"  1.png

//enlarge to 320x240 squares of size 8x8
$ convert -size 2560x1920 tile:1.png 320x240.png

//overlay grid with image
$ convert wire6.png 320x240.png  -compose overlay -composite IR_3115ov.png

//crop a part of 640x480 => 80x60 sensor pixel
$ convert IR_3115ov.png -crop 640x480+800+700 IR_3115ov-crop.png
--- End code ---

this is a crop with the size of 80x60 sensor pixels ( crop to same size like Flir One)
(the full image download as attachment)
one square = one sensor pixel of Flir Exx

the result is really sharp (thanks to good optics of the Flir Exx)
Wow


Now process the image from the Flir One ( IMG_3353.JPG )
Flir converts the RAW values of the Lepton Sensor from 80x60 to 160x120 Pixel.
I still make a overlay grid of 80x60 Pixel. As result you see 4 extrapolated pixels in one 8x8 sensor square.


--- Code: ---//extract RAW
$ exiftool -b -RawThermalImage IMG_3353.JPG > wire.png

//change byte order, auto-level and resize (without interpolation) to 8x8 pixel size
$ convert  -define png:swap-bytes=on wire.png -auto-level -filter point -resize 640x IMG_3353.png

//draw one square with size 8x8
$ convert -size 8x8 xc:none -stroke gray -strokewidth 0  -draw "line 0,0 0,7"  -draw "line 0,0 7,0"  1.png

//enlarge to 80x60 sensor pixel squares
$ convert -size 640x480 tile:1.png 80x60.png

//overlay grid with image
$ convert IMG_3353.png 80x60.png -compose overlay -composite IMG_3353ov.png
--- End code ---

one square = one sensor pixel of Flir One

Well, the result is definite poorer, as the 80x60 crop of the Exx ...
... but the Exx is a reference design.

I think this a good result for the price of the Flir One.
Please note the above described cold spots around the wire.
Edit 19.11.2014
better use this code with transparent png's

--- Code: ---$ convert -size 8x8 xc:none -stroke gray -strokewidth 0  -draw "line 0,0 0,7"  -draw "line 0,0 7,0"  1.png
$ convert -size 640x480 tile:1.png -transparent white grid.png
$ convert largeimage.png grid.png -flatten overlay.png
--- End code ---

tomas123:
the Ipod touch 5th generation fits great in the Flir One hardcase

but the flir one app doesn't run

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version