Products > Thermal Imaging
Flir One Thermal imaging camera teardown and hacks
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
Go to full version