USB2FIR board with sensor

USB2FIR - USB visual thermometer with MLX90640

USB2FIR is a interface board to connect the far infrared thermal sensor array MLX90640 via USB to a host system.



USB2FIR can be accessed with libusb. On Linux and MacOS X no kernel driver is needed. Windows requires a driver for USB2FIR. Please use this tool for Windows to install the "WinUSB" driver:
Windows driver installation for USB2FIR
Depending on the application, under Windows a libusb-1.0.dll is required. These can be found for various architectures on the libusb project homepage under "Download -> Windows Binaries". Please place the DLL in the application folder.

pyUSB2FIR - Python library

from pyusb2fir import USB2FIR

u2f = USB2FIR()
frame = u2f.initializeFrame()

for x in range(2):

    # read a subframe, calculate temperatures
    # and store the resulting half frame in 'frame'

    print frame
The library fetches the IR data from the USB2FIR and calculates the pixel temperatures.

GUI based on Matplotlib and pyUSB2FIR

Matplotlib and pyUSB2FIR
With Matplotlib the frame data calculated by pyUSB2FIR can be visualized and stored as png-file.

GUI based on TKinter and pyUSB2FIR

TKinter and pyUSB2FIR
TKinter GUI showing real time heat map, minimum, maximum and center temperature.
The screenshot shows the thermal measurement of a solder iron tip, running on Windows 10.


Source code and HEX file

The firmware of USB2FIR is available as precompiled HEX file and as C (XC8 compiler) source code.

Precompiled HEX and source code archive: (2018-07-10) First public version

Firmware update via bootloader

Start the bootloader via software (e.g. or via hardware bridge: connect MCLR (pin 1) to GND (pin 3) on X1 and plug in USB2FIR - now the bootloader starts. Use a bootloader application (en MPHidFlash) to load the new firmware into USB2FIR:
mphidflash -w usb2fir_firmware_v1.0.hex


Schematic - USB2FIR's circuit diagram

USB2FIR Schematic

Partlist - Build your own USB2FIR!

Here you find a list of all parts needed to build your own USB2FIR board.

C1, C2, C3100n
C4, C54,7u
R1, R2, R31k
X1ICSP 6pol 2.54mm
Please tell me about your USB2FIR project!

USB2FIR with 3d printed enclosure
   USB2FIR EB in 3d printed enclosure.

by Thomas Fischl (07/2018)
Thermography with USB2FIR
   Thermography with USB2FIR.

Find and evaluate hotspots on printed circuit boards with "".
Hotspot in this example (USB-to-serial board with load resitor) is the LDO (SOT-23).

by Thomas Fischl (07/2018)


en Heat Mapping with a 64-Pixel Infrared Detector (AMG8833)