
OpenMV4 Cam H7
NoteOpenMV Cam M7 has been upgraded to the new version - OpenMV4 Cam H7. Same price but better performance, and TensorFlow Lite available.DescriptionThe OpenMV Cam is a small, low power, microcontroller board which allows you to easily implement applications using machine vision in the real world. You can 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.FeaturesThe STM32H743VI ARM Cortex M7 processor running at 480 MHz with 1MB of RAM and 2 MB 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 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 of the system to either the LCD Shield, the WiFi Shield, or another microcontroller.An I2C Bus, CAN Bus, and an Asynchronous Serial Bus (TX/RX) 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 an OV7725 image sensor is capable of taking 640x480 8-bit grayscale images or 640x480 16-bit RGB565 images at 60 FPS when the resolution is above 320x240 and 120 FPS when it is below. Most simple algorithms will run at above 60 FPS. 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 is compatible with 3.7V LiPo batteries commonly sold online for hobbyist robotics applications.ApplicationsThe OpenMV Cam can be used for the following things currently (more in the future):Frame DifferencingYou can use Frame Differencing on your OpenMV Cam to detect motion in a scene by looking at whats changed. Frame Differencing allows you to use your OpenMV Cam for security applications. Check out the video of the feature here.Color TrackingYou can use your OpenMV Cam to detect up to 16 colors at a time in an image (realistically youd 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 TrackingYou 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 DetectionYou 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 TrackingYou can use Eye Tracking with your OpenMV Cam to detect someones gaze. You can then, for example, use that to control a robot. Eye Tracking detects where the pupil is looking versus detecting if theres an eye in the image.Person DetectionYou can detect if theres a person in the field of view using our built-in person detector TensorFlow Lite model. Video demo here.Optical FlowYou 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/DecodingYou can use the OpenMV Cam to read QR Codes in its field of view. With QR Code Detection/Decoding you can make smart robots that can read labels in the environment. You can see our video on this feature here.Data Matrix Detection/DecodingThe OpenMV Cam H7 can also detect and decode data matrix 2D barcodes too. You can see our video on this feature here.Linear Barcode DecodingThe OpenMV Cam H7 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 TrackingEven better than QR Codes above, the OpenMV Cam H7 can also track AprilTags at 160x120 at up to about 12 FPS. AprilTags are rotation, scale, shear, and lighting invariant state-of-the-art fiducial markers. We have a video on this feature here.Line DetectionInfinite 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 DetectionYou can use the OpenMV Cam H7 to easily detect circles in the image. See for yourself in this video.Rectangle DetectionThe OpenMV Cam H7 can also detect rectangles using our AprilTag librarys quad detector code. Check out the video here.Template MatchingYou 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 CaptureYou can use the OpenMV Cam to capture up to 640x480 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 RecordingYou can use the OpenMV Cam to record up to 640x480 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 SupportTensorFlow Lite support lets you run custom image classification and segmentation models onboard 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.Pin OutClick to view the original file.DimensionsSpecificationITEM DetailsProcessor ARM? 32-bit Cortex?-M7 CPUw/ Double Precision FPU480 MHz (1027 DMIPS)Core-Mark Score: 2400(compare w/ Raspberry Pi 2: 2340)RAM Layout 256KB.DATA/.BSS/Heap/Stack512KB Frame Buffer/Stack256 KB DMA Buffers(1MB Total)Flash Layout 128KB Bootloader128KB Embedded Flash Drive1792KB Firmware(2MB Total)Supported Image Formats GrayscaleRGB565JPEG (and BAYER)Maximum Supported Resolutions Grayscale: 640x480 and underRGB565: 320x240 and underGrayscale JPEG: 640x480 and underRGB565 JPEG: 640x480 and underLens Info Focal Length: 2.8mmAperture: F2.0Format: 1/3"HFOV = 70.8°, VFOV = 55.6°Mount: M12*0.5IR Cut Filter: 650nm (removable)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 sunk or sourced in total between all pins. VIN may be between 3.6V and 5V. Do not draw more than 250mA from your OpenMV Cams 3.3V rail.Weight 19gLength 45mmWidth 36mmHeight 30mmPower ConsumptionIdle - No μSD Card 110mA @ 3.3VIdle - μSD Card 110mA @ 3.3VActive - No μSD Card 160mA @ 3.3VActive - μSD Card 170mA @ 3.3VTemperature RangeStorage -40°C to 125°COperating -20°C to 70°C