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 (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 video on external events or execute machine vision algorithms to figure out how to control your I/O pins.
The OpenMV Cam features:
The STM32H743VI ARM Cortex M7 processor running at 480 MHz with 1MB SRAM and 2MB of 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 allowing 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.
Three 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.
A removable camera module system allowing the OpenMV Cam H7 to interface with different sensors:
The OpenMV Cam H7 comes with a OV7725 image sensor is capable of taking 640x480 8-bit Grayscale images or 640x480 16-bit RGB565 images at 75 FPS when the resolution is above 320x240 and 150 FPS when it is below. Most simple algorithms will run between 75-150 FPS on QVGA (320x240) 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.
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 (1MB Total):
512KB Frame Buffer/Stack
256KB DMA Buffers
Flash Layout (2MB Total):
128KB Embedded Flash Drive
Supported Image Formats:
JPEG (and BAYER/YUV422)
Maximum Supported Resolutions:
Grayscale: 640x480 and under
RGB565: 320x240 and under
Grayscale JPEG: 640x480 and under
RGB565 JPEG: 640x480 and under
Focal Length: 2.8mm
HFOV = 70.8°, VFOV = 55.6°
IR Cut Filter: 650nm (removable)
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.