DESCRIPTION
The OpenMV Cam is a small, low-power, microcontroller board which allows you to easily implement applications using machine vision in the real-world. You program the OpenMV Cam in high-level Python scripts instead of C/C++. This makes it easier to deal with the complex outputs of machine vision algorithms and work 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 of external events or execute machine vision algorithms to figure out how to control your I/O pins.
FEATURES
- The STM32H743II ARM Cortex M7 processor runs at 480 MHz with 32MBs SDRAM + 1MB of SRAM and 32 MB of external flash + 2 MB of internal flash. All I/O pins output 3.3V and are 5V tolerant. The processor has the following I/O interfaces:
- A full speed USB (12Mbs) interface to 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 take pictures and easily pull machine vision assets off of the μSD card.
- A SPI bus that can run up to 80Mbs allows you to easily stream image data off the system to either the LCD Shield, the WiFi Shield, or another microcontroller.
- An I2C Bus (up to 1Mb/s), CAN Bus (up to 1Mb/s), and an Asynchronous Serial Bus (TX/RX, up to 7.5Mb/s) for interfacing with other microcontrollers and sensors.
- A 12-bit ADC and a 12-bit DAC.
- Two I/O pins for servo control.
- Interrupts and PWM on all I/O pins (there are 10 I/O pins on the board).
- And, an RGB LED and two high power 850nm IR LEDs.
- 32 MB of external 32-bit SDRAM clocked at 100 MHz for 400 MB/s of bandwidth.
- 32 MB of external quadspi flash clocked at 100 MHz in 4-bit DDR mode for 100 MB/s of bandwidth (read speed).
- A removable camera module system allowing the OpenMV Cam H7 to interface with different sensors:
- The OpenMV Cam H7 Plus comes with a OV5640 image sensor is capable of taking 2592×1944 (5MP) images. Most simple algorithms will run between 25-50 FPS on QVGA (320×240) resolutions and below. Your image sensor comes with a 2.8mm lens on a standard M12 lens mount. If you want to use more specialized lenses with your image sensor you can easily buy and attach them yourself.
- A LiPo battery connector compatible with 3.7V LiPo batteries
Applications
The H7 plus can be used for
- TensorFlow Lite for Microcontrollers Support
- Frame Differencing
- Colour Tracking
- Marker Tracking
- Face Detection
- Eye Tracking
- Person Detection
- Optical Flow
- QR Code Detection/Decoding
- Data Matrix Detection/Decoding
- Linear Barcode Decoding
- AprilTag Tracking
- Line Detection
- Circle Detection
- Rectangle Detection
- Template Matching
- Image Capture
- Video Recording
Specifications
- Processor: ARM® 32-bit Cortex®-M7 CPU w/ Double Precision FPU 480 MHz (1027 DMIPS) Core Mark Score: 2400
- RAM: 64KB Stack, 256KB .DATA/.BSS/Heap, 32MB Frame Buffer/Stack, 512KB SDRAM Cache, 256KB DMA Buffers
- Supported Image Formats: Grayscale, RGB565, JPEG (and BAYER)
- Max Resolutions: Grayscale: 2952×1944 (5MP) and under, RGB565: 2952×1944 (5MP) and under, Grayscale JPEG: 2952×1944 (5MP) and under, RGB565 JPEG: 2952×1944 (5MP) and under
- Lens: 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)
- Dimensions: 45 x 36 x 29mm
- Weight: 17g
RESOURCES
Interface Library
The OpenMV Cam comes built-in with an RPC (Remote Python/Procedure Call) library which makes it easy to connect the OpenMV Cam 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.
- SB Virtual COM Port (VCP) – 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 OpenMV Cam control another Microcontroller for lower-level hardware control like driving motors. OpenMV provides the following libraries for interfacing your OpenMV Cam to other systems below:
Generic Python Interface Library for USB and WiFi Comms
Provides Python code for connecting your OpenMV Cam 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