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.- Full access to MLX90640 memory (EEPROM, IR data) over USB control transfer
- Bulk-transfer mode for fast infrared data transmission
- Raw sensor data, calculation of pixel temperatures by host
- Firmware sources available; bootloader for firmware updates
- Open source Python library
Software
Drivers
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: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' u2f.updateFrame(frame) print frame
The library fetches the IR data from the USB2FIR and calculates the pixel temperatures.
GUI based on Matplotlib and pyUSB2FIR
GUI based on 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.
The screenshot shows the thermal measurement of a solder iron tip, running on Windows 10.
Firmware
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:
usb2fir_firmware_v1.0.zip (2018-07-10) First public version
Firmware update via bootloader
Start the bootloader via software (e.g. start_bootloader.py) 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 ( MPHidFlash) to load the new firmware into USB2FIR:mphidflash -w usb2fir_firmware_v1.0.hex
Hardware
Schematic - USB2FIR's circuit diagram
Partlist - Build your own USB2FIR!
Here you find a list of all parts needed to build your own USB2FIR board.Partnumber | Value | |
---|---|---|
C1, C2, C3 | 100n | |
C4, C5 | 4,7u | |
IC1 | PIC16LF1455 | |
IC2 | MCP1700 | |
IC2 | MLX90640 | |
LED1 | red LED | |
R1, R2, R3 | 1k | |
X1 | ICSP 6pol 2.54mm | |
X2 | USB-B |
Gallery
Please tell me about your USB2FIR project!
USB2FIR EB in 3d printed enclosure. by Thomas Fischl (07/2018) |
||
Thermography with USB2FIR. Find and evaluate hotspots on printed circuit boards with "view_tk.py". Hotspot in this example (USB-to-serial board with load resitor) is the LDO (SOT-23). by Thomas Fischl (07/2018) |