OpenMV Cam H7 Plus
The OpenMV Cam is a small, low power, microcontroller board featuring an STM32H743II Arm® Cortex® M7 processor running at 480MHz, which allows you to easily implement applications using machine vision in the real world. It is equipped with 32MB of SDRAM, 1MB of RAM and 2MB of flash.
- 10+: $70.00
YOU MAY LIKE THIS
PRODUCT DETAILS
Features
- STM32H743II processor to realize machine vision applications
- Compact size for easy deployment in robotics projects
- Low power consumption for prolonged use
- Micropython support with easy-to-use OpenMV IDE for quick and convenient project integration
- High resolution OV5640 image sensor (2592x1944/ 5MP) for better image processing
- Removable camera module system to realize advanced applications
- Support for various shields to further expand your projects
- Full speed USB (12Mbs) interface with your computer - Your OpenMV Cam will appear as a Virtual COM Port and a USB Flash Drive when plugged in.
- A μSD Card socket capable of 100Mbs reads/writes which allows your OpenMV Cam to record video and easy pull machine vision assets off of the μSD card.
- An SPI bus that can run up to 100Mbs allowing you to easily stream image data off the system to either the LCD Shield, the Wi-Fi Shield, or another microcontroller.
- An I2C Bus, CAN Bus, and an Asynchronous Serial Bus (TX/RX) for interfacing with other microcontrollers and sensors.
- Two I/O pins with support for servo control in robotics projects
- Interrupts and PWM on all I/O pins with 10 I/O pins on the board for project expandability
- An RGB LED for status indication and two high power 850nm IR LEDs
Description
The OpenMV Cam is a small, low power, microcontroller board featuring an STM32H743II Arm® Cortex® M7 processor running at 480MHz, which allows you to easily implement applications using machine vision in the real world. It is equipped with 32MB of SDRAM, 1MB of RAM and 2MB of flash. You program the OpenMV Cam in high-level Python scripts (courtesy of the MicroPython Operating System) instead of C/C++. This makes it easier to deal with the complex outputs of machine vision algorithms and working with high-level data structures. But you still have total control over your OpenMV Cam and its I/O pins in Python. You can easily trigger taking pictures and videos on external events or execute machine vision algorithms to figure out how to control your I/O pins.
All this programming can be done on the OpenMV IDE which makes it easy to program your OpenMV Cam. OpenMV IDE features a modern Python multi-file text editor, a slick serial terminal, and a frame buffer to visualize what your OpenMV Cam sees in real-time.
The OpenMV Cam comes with an OV5640 image sensor is capable of taking 2592x1944 (5MP) images. Most simple algorithms will run at above 30 FPS on QVGA (320x240) resolutions and below. Your image sensor comes with a 2.8mm lens on a standard M12 lens mount.
Furthermore, it has a removable camera module system allowing it to interface with different sensors. Different camera modules such as FLIR Lepton Adapter Module and Global Shutter Camera Module can be used for more advanced projects. Also, if you want to use more specialized lenses with your image sensor you can easily attach them yourself.
This also supports the addition of different shields such as Proto Shield, LCD Shield, Wi-Fi Shield, Servo Shield and Motor Shield to further expand your projects.
Comparison Between The OpenMV Cam Family
We have released two different OpenMV Cam products in the past and the table below illustrates the differences between them along with the newly released OpenMV Cam H7 Plus.
OpenMV Cam M7 | OpenMV Cam H7 | OpenMV Cam H7 Plus | |
---|---|---|---|
Processor | ARM® 32-bit Cortex®-M7 CPU 216 MHz (462 DMIPS) Core Mark Score: 1082 |
ARM® 32-bit Cortex®-M7 CPU 480 MHz (1027 DMIPS) Core Mark Score: 2400 |
ARM® 32-bit Cortex®-M7 CPU 480 MHz (1027 DMIPS) Core Mark Score: 2400 |
RAM Layout | 128KB .DATA/.BSS/Heap/Stack 384KB Frame Buffer/Stack |
256KB .DATA/.BSS/Heap/Stack 512KB Frame Buffer/Stack 256KB DMA Buffers |
256KB .DATA/.BSS/Heap/Stack 32MB Frame Buffer/Stack 256KB DMA Buffers |
Flash Layout | 32KB Bootloader 96KB Embedded Flash Drive 1920KB Firmware |
128KB Bootloader 128KB Embedded Flash Drive 1792KB Firmware |
128KB Bootloader 16MB Embedded Flash Drive 1792KB Firmware |
Maximum Supported Resolutions |
Grayscale: 640x480 and under RGB565: 320x240 and under Grayscale JPEG: 640x480 and under RGB565 JPEG: 640x480 and under |
Grayscale: 640x480 and under RGB565: 320x240 and under Grayscale JPEG: 640x480 and under RGB565 JPEG: 640x480 and under |
Grayscale: 2952x1944 (5MP) and under RGB565: 2952x1944 (5MP) and under Grayscale JPEG: 2952x1944 (5MP) and under RGB565 JPEG: 2952x1944 (5MP) and under |
Note
Don't forget to check our blog What is OpenMV Cam? The Arduino of Machine vision to explore more about OpenMV Cam!
Specifications
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) | |
RAM Layout | 256KB .DATA/.BSS/Heap/Stack |
32MB Frame Buffer/Stack | |
256KB DMA Buffers | |
32 MB of external 32-bit SDRAM clocked at 100 MHz for 400 MB/s of bandwidth. |
|
Flash Layout | 128KB Bootloader |
16MB Embedded Flash Drive | |
1792KB Firmware | |
32 MB (16 MB usable right now) of external quadspi flash clocked at 100 MHz in 4-bit DDR mode for 100 MB/s of bandwidth. |
|
Supported Image Formats | Grayscale: 2952x1944 (5MP) and under |
RGB565: 2952x1944 (5MP) and under | |
Grayscale JPEG: 2952x1944 (5MP) and under | |
RGB565 JPEG: 2952x1944 (5MP) and under | |
Lens Info | Focal Length: 2.8mm |
Aperture: F2.0 | |
Format: 1/3"" | |
HFOV = 70.8°, VFOV = 55.6° | |
Mount: M12*0.5 | |
IR Cut Filter: 650nm (removable) | |
Peripherals | 12-bit ADC and a 12-bit DAC |
2 x I/O pins with support for servo control | |
Interrupts and PWM on all I/O pins (10 I/O pins on the board) | |
An RGB LED and two high power 850nm IR LEDs | |
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 OpenMV Cam's 3.3V rail. |
Power Consumption | Idle - No μSD Card: 140mA @ 3.3V |
Idle - μSD Card: 140mA @ 3.3V | |
Active - No μSD Card: 230mA @ 3.3V | |
Active - μSD Card: 240mA @ 3.3V | |
Storage Temperature | -40°C to 125°C |
Operating Temperature | -20°C to 70°C |
Weight | 17g |
Dimensions (L*W*H) | 45 x 36 x 29mm |
Applications
Frame Differencing
You can use Frame Differencing on your OpenMV Cam to detect motion in a scene by looking at what's changed. Frame Differencing allows you to use your OpenMV Cam for security applications. Check out the video of the feature here.
Color Tracking
You can use your OpenMV Cam 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 OpenMV Cam will then tell you the position, size, centroid, and orientation of each blob. Using color tracking your OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam to understand what the tagged objects are. Video demo here.
Face Detection
You can detect Faces with your OpenMV Cam (or any generic object). Your OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam H7 Plus can also track AprilTags. AprilTags are rotation, scale, shear, and lighting invariant state-of-the-art fiducial markers. We have a video on this feature here.
Line Detection
Infinite line detection can be done speedily on your OpenMV Cam 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 OpenMV Cam H7 Plus to easily detect circles in the image. See for yourself in this video.
Rectangle Detection
The OpenMV Cam H7 Plus 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 OpenMV Cam 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 OpenMV Cam 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 OpenMV Cam 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.
TensorFlow Lite for Microcontrollers Support
TensorFlow Lite support lets you run custom image classification and segmentation models on board your OpenMV Cam. 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.
Pinout Diagram
Note
Click here to view a larger version of the above pinout diagram.
Dimensions
Parts List
- 1 x OpenMV Cam H7 Plus
- 2 x 8-Pin Female Headers
- 1 x Micro-USB Cable
- 1 x Hole Plate
- 1 x Proto PCB Board
- 1 x Right Angle Fixing Plate
- 4 x Supporting Screws
- 4 x Nuts
- 4 x Gaskets
ECCN/HTS
HSCODE | 8525801390 |
USHSCODE | 8525501000 |
UPC | |
EUHSCODE | 8517600000 |
COO | CHINA |