Pure Thermal OpenMV
Pure Thermal OpenMV
The PureThermal OpenMV by GetLab is a co-designed collaboration product between GetLab and OpenMV to produce a high-end mixed color and thermal camera for professional applications. For sensors the board features a 5MP OV5640 camera module, a FLIR Lepton socket capable of supporting any FLIR Lepton, and the VL53L0X laser range finder to assist in drawing the thermal image on the color image using the right offset/scaling. Live video can be displayed on the 4.3” 800x480 IPS TFT capacitive touch LCD onboard, mirrored to an HDMI monitor, or streamed over WiFi via RTSP. Finally, the PureThermal OpenMV can be programmed like any OpenMV Cam in Python to make it do anything you like via the MicroPython API. The PureThermal OpenMV is the product you’ve been waiting for!
The PureThermal OpenMV is based on the OpenMV Cam H7 Plus by OpenMV. You program it with the amazing OpenMV IDE. It’s got TensorFlow support and can run Neural Networks, it can track colored objects, do person detection, and much more! For a complete description of all the functionality onboard and what can be done see the API. Here’s what’s onboard:
- The STM32H743XI Arm® Cortex®-M7 SoC running at 480 MHz
- w/ 64 MB of SDRAM running at 400 MB/s
- w/ 32 MB of QUADSPI flash running at 50 MB/s
- RTC for date/time stamp keeping when battery backed
- The OV5640 5MP (2592x1944) Color Camera Sensor
- w/ Autofocus Support
- A FLIR Lepton Socket
- Supports the FLIR Lepton 1/2/2.5/3/3.5
- Supports non-radiometric/radiometric Leptons seamlessly
- SUPPORT FOR GETTING THE TEMPERATURE PER PIXEL IN CELSIUS!
- This is a frequently asked question. Yes, this product can do everything.
- The VL53L0X Laser Range Finder (can measure up to 2 meters)
- A microSD Card socket
- Supports SD/SDHC/SDXC microSD Cards
- Supports FAT12/FAT16/FAT32/exFAT
- An RGB LED Indicator
- A High-brightness White LED Illuminator
- A buzzer with volume and frequency control for audio notifications
- The WINC1500 WiFi Soc (FCC Certified)
- Can stream MJPEG compressed images at up to 12 Mb/s using RTSP
- Or can be used for internet connectivity for any purpose
- A 4.3” 800x480 IPS TFT capacitive touch LCD
- 24-bit color refreshed at 60 Hz
- Backlight dimming supported
- Up to 5 point at a time touch detection for Rich GUI support
- Gesture Detection
- Pinch Zoom In/Out
- Swipe Left/Right/Up/Down
- HDMI Display Output - can mirror the display or run without the onboard display
- Up to 1280x720 at 60 Hz is support
- In special cases 1920x1080 is supported
- Can do 1920x1080 at 30 Hz dynamic images
- Can do 1920x1080 at 60 Hz static images
- USB-C for power, battery charging, and connecting to the PC
- Files on the 32 MB QUADSPI or microSD card can be accessed over USB
- Appears as a 12 Mb/s Virtual COM port for command and control
- Sparkfun qwiic connector for attaching external I2C devices
- Can connect the board to Seeed Studio Grove Connector
- Can connect the board to Adafruit Stemma Connector
- 1S Lipo connector for battery support
- Battery will be charged when USB-C is connected
- 10 GPIO Pins with special function support for:
- 1 DAC/ADC Pin (3.3V)
- 2 Async Serial RX/TX Ports (up to 7.5 Mb/s)
- 1 CAN Bus (up to 1 Mb/s)
- 1 SPI Bus (up to 80 Mb/s)
- 1 I2C Bus (up to 1 Mb/s)
- 2 Servo Channels
- PWM on every GPIO Pin
- Interrupts (rising/falling) on every GPIO Pin
- Standard ARM SWD-JTAG Connector
For more information about the Pure Thermal OpenMV please see our documentation.
The Pure Thermal OpenMV comes built-in with an RPC (Remote Python/Procedure Call) library which makes it easy to connect the Pure Thermal OpenMV to your computer, a SBC (single board computer) like the RaspberryPi or Beaglebone, or a microcontroller like the Arduino or ESP8266/32. The RPC Interface Library works over:
- Async Serial (UART) - at up 7.5 Mb/s.
- I2C Bus - at up to 1 Mb/s.
- SPI Bus - at up to 80 Mb/s.
- CAN Bus - at up to 1 Mb/s.
- USB Virtual COM Port (VCP) - at up to 12 Mb/s.
- WiFi using the WiFi Shield - at up to 12 Mb/s.
With the RPC Library you can easily get image processing results, stream RAW or JPG image data, or have the Pure Thermal OpenMV control another Microcontroller for lower-level hardware control like driving motors.
OpenMV provides the following libraries for interfacing your Pure Thermal OpenMV to other systems below:
Generic Python Interface Library for USB and WiFi Comms
- Provides Python code for connecting your Pure Thermal OpenMV to a Windows, Mac, or Linux computer (or RaspberryPi/Beaglebone, etc.) with python programmatically over USB VCP or Ethernet/WiFi (i.e. with sockets).
- Arduino Interface Library for I2C, SPI, CAN, and UART Comms
The Pure Thermal OpenMV can be used for the following things currently (more in the future):
- TensorFlow Lite for Microcontrollers Support
- TensorFlow Lite support lets you run custom image classification and segmentation models on board your Pure Thermal OpenMV. With TensorFlow Lite support you can easily classify complex regions of interest in view and control I/O pins based on what you see. See the TensorFlow module for more information.
- The Pure Thermal OpenMV features Edge Impulse integration for easy training of TensorFlow Lite Models in the cloud. Using OpenMV IDE and Edge Impulse you can easily train a Model in 15 minutes! Here's a video showing how it works.
- Frame Differencing
- You can use Frame Differencing on your Pure Thermal OpenMV to detect motion in a scene by looking at what's changed. Frame Differencing allows you to use your Pure Thermal OpenMV for security applications. Checkout the video of the feature here.
- Color Tracking
- You can use your Pure Thermal OpenMV to detect up to 16 colors at a time in an image (realistically you'd never want to find more than 4) and each color can have any number of distinct blobs. Your Pure Thermal OpenMV will then tell you the position, size, centroid, and orientation of each blob. Using color tracking your Pure Thermal OpenMV can be programmed to do things like tracking the sun, line following, target tracking, and much, much, more. Video demo here.
- Marker Tracking
- You can use your Pure Thermal OpenMV to detect groups of colors instead of independent colors. This allows you to create color makers (2 or more color tags) which can be put on objects allowing your Pure Thermal OpenMV to understand what the tagged objects are. Video demo here.
- Face Detection
- You can detect Faces with your Pure Thermal OpenMV (or any generic object). Your Pure Thermal OpenMV can process Haar Cascades to do generic object detection and comes with a built-in Frontal Face Cascade and Eye Haar Cascade to detect faces and eyes. Video demo here.
- Eye Tracking
- You can use Eye Tracking with your Pure Thermal OpenMV to detect someone's gaze. You can then, for example, use that to control a robot. Eye Tracking detects where the pupil is looking versus detecting if there's an eye in the image.
- Person Detection
- You can detect if there's a person in the field of view using our built-in person detector TensorFlow Lite model. Video demo here.
- Optical Flow
- You can use Optical Flow to detect translation of what your Pure Thermal OpenMV is looking at. For example, you can use Optical Flow on a quad-copter to determine how stable it is in the air. See the video of the feature here.
- QR Code Detection/Decoding
- You can use the Pure Thermal OpenMV to read QR Codes in it's field of view. With QR Code Detection/Decoding you can make smart robots which can read labels in the environment. You can see our video on this feature here.
- Data Matrix Detection/Decoding
- The Pure Thermal OpenMV H7 Plus can also detect and decode data matrix 2D barcodes too. You can see our video on this feature here.
- Linear Barcode Decoding
- The Pure Thermal OpenMV H7 Plus can also decode 1D linear bar codes. In particular, it can decode EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93, and CODE128 barcodes. You can see our video on this feature here.
- AprilTag Tracking
- Even better than QR Codes above, the Pure Thermal OpenMV H7 Plus can also track AprilTags. AprilTags are rotation, scale, shear, and lighting invariant state-of-the-art fidicual markers. We have a video on this feature here.
- Line Detection
- Infinite line detection can be done speedily on your Pure Thermal OpenMV at near max FPS. And, you can also find non-infinite length line segments too. You can see our video of this feature here. Additionally, we support running linear regressions on the image for use in line following applications like this DIY Robocar.
- Circle Detection
- You can use the Pure Thermal OpenMV to easily detect circles in the image. See for yourself in this video.
- Rectangle Detection
- The Pure Thermal OpenMV can also detect rectangles using our AprilTag library's quad detector code. Checkout the video here.
- Template Matching
- You can use template matching with your Pure Thermal OpenMV to detect when a translated pre-saved image is in view. For example, template matching can be used to find fiducials on a PCB or read known digits on a display.
- Image Capture
- You can use the Pure Thermal OpenMV to capture Grayscale/RGB565 BMP/JPG/PPM/PGM images. You directly control how images are captured in your Python script. Best of all, you can preform machine vision functions and/or draw on frames before saving them.
- Video Recording
- You can use the Pure Thermal OpenMV to record up to Grayscale/RGB565 MJPEG video or GIF images (or RAW video). You directly control how each frame of video is recorded in your Python script and have total control on how video recording starts and finishes. And, like capturing images, you can preform machine vision functions and/or draw on video frames before saving them.
Finally, all the above features can be mixed and matched in your own custom application along with I/O pin control to talk to the real world.
Schematic & Datasheets
- Pure Thermal OpenMV Schematic (.pdf)
- Processor Datasheet: STM32H743II (.pdf)
- Camera Datasheet: OV5640 (.pdf)
|Processor||ARM® 32-bit Cortex®-M7 CPU
w/ Double Precision FPU
480 MHz (1027 DMIPS)
Core Mark Score: 2400
(compare w/ Raspberry Pi 2: 2340)
|Flash Layout||128KB Bootloader
16MB Embedded Flash Drive
|Supported Image Formats||Grayscale
JPEG (and BAYER/YUV422)
|Maximum Supported Resolutions||
Grayscale: 2952x1944 (5MP) and under
|Electrical Info||All pins are 5V tolerant with 3.3V output. All pins can sink or source up to 25mA. P6 is not 5V tolerant in ADC or DAC mode. Up to 120mA may be sinked or sourced in total between all pins. VIN may be between 3.6V and 5V. Do not draw more than 250mA from your Pure Thermal OpenMV's 3.3V rail.|
|Storage||-40°C to 125°C|
|Operating||-20°C to 70°C|
|Country of Origin||China|