OpenMV Cam H7 - MicroPython Embedded Vision + Machine Learning

SKU: ADA4478 Brand: Adafruit

Retired Product

Replaced by: SEN-15325
This product has been replaced by: SEN-15325
This product is no longer available. This page is only for reference.

The OpenMV Cam is like a super powerful microcontroller board with a camera on board that you program in MicroPython. It's easy to run machine visions algorithms on what the OpenMV Cam sees so you can track colors, detect faces, and more in seconds, and thanks to the embedded functionality, you can then control I/O pins in the real-world. You program the OpenMV Cam in high level MicroPython scripts 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. 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.

Check out the OpenMV site for tons of documentation and guides!

The OpenMV Cam features:

  • The 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.
    • A SPI bus that can run up to 100Mbs allowing you to easily stream image data off 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 a 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 compatible with 3.7V LiPo batteries - Battery not included!

Technical Details

Applications

The OpenMV Cam can be used for the following things currently (more in the future):

  • 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. Checkout 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 Adafruit's 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 Adafruit's video on this feature here.
    • Data Matrix Detection/Decoding
      • The OpenMV Cam H7 can also detect and decode data matrix 2D barcodes too. You can see Adafruit's video on this feature here.
    • Linear Barcode Decoding
      • The 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 Adafruit's video on this feature here.
    • AprilTag Tracking
      • Even 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 fidicual markers. Adafruit 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 Adafruit's video of this feature here. Additionally, Adafruit 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 to easily detect circles in the image. See for yourself in this video.
    • Rectangle Detection
      • The OpenMV Cam H7 can also detect rectangles using Adafruit's 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 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 Recording
      • You 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 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.

    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.

    This product is listed in:

    Retired

    Product Comments

    Exact shipping can be calculated on the view cart page (no login required).

    Products that weigh more than 0.5 KG may cost more than what's shown (for example, test equipment, machines, >500mL liquids, etc).

    We deliver Australia-wide with these options (depends on the final destination - you can get a quote on the view cart page):

    • $3+ for Stamped Mail (typically 10+ business days, not tracked, only available on selected small items)
    • $7+ for Standard Post (typically 6+ business days, tracked)
    • $11+ for Express Post (typically 2+ business days, tracked)
    • Pickup - Free! Only available to customers who live in the Newcastle region (must order online and only pickup after we email to notify you the order is ready). Orders placed after 2PM may not be ready until the following business day.

    Non-metro addresses in WA, NT, SA & TAS can take 2+ days in addition to the above information.

    Some batteries (such as LiPo) can't be shipped by Air. During checkout, Express Post and International Methods will not be an option if you have that type of battery in your shopping cart.

    International Orders - the following rates are for New Zealand and will vary for other countries:

    • $12+ for Pack and Track (3+ days, tracked)
    • $16+ for Express International (2-5 days, tracked)

    If you order lots of gear, the postage amount will increase based on the weight of your order.

    Our physical address (here's a PDF which includes other key business details):

    Unit 18, 132 Garden Grove Parade
    Adamstown
    NSW, 2289
    Australia

    Take a look at our customer service page if you have other questions such as "do we do purchase orders" (yes!) or "are prices GST inclusive" (yes they are!). We're here to help - get in touch with us to talk shop.

    Have a product question? We're here to help!

    Write Your Own Review

    Guides

    The Maker Revolution

    The Maker Revolution celebrates the creation of new devices and the modification of existing ones - ...
    The Maker Revolution celebrates the creation of new devices and the modification of existing ones - ...

    Projects

    Spectral Animations with a DIY MSGEQ7 I2C Device

    Frequency Reactive LEDs, i2c Protocol, Raspberry Pi, and Other Adventures.Here at Pix Incorpor...
    Frequency Reactive LEDs, i2c Protocol, Raspberry Pi, and Other Adventures.Here at Pix Incorpor...

    VisionSphere: Camera Motion Detection for Raspberry Pi

    A simple camera motion detection system for Raspberry Pi. Definitely written with Aussie's in mind ...
    A simple camera motion detection system for Raspberry Pi. Definitely written with Aussie's in mind ...

    Arduino E-Paper Clock

    This project started with a desire to have a modern digital clock that would use the natural light ...
    This project started with a desire to have a modern digital clock that would use the natural light ...
    Feedback

    Please continue if you would like to leave feedback for any of these topics:

    • Website features/issues
    • Content errors/improvements
    • Missing products/categories
    • Product assignments to categories
    • Search results relevance

    For all other inquiries (orders status, stock levels, etc), please contact our support team for quick assistance.

    Note: click continue and a draft email will be opened to edit. If you don't have an email client on your device, then send a message via the chat icon on the bottom left of our website.

    Makers love reviews as much as you do, please follow this link to review the products you have purchased.