The OpenMV M7 Camera is a small, low-power microcontroller board that allows you to easily implement applications using machine vision in the real world. The best part about the OpenMV is that it is not only capable of image capture, but also face detection, color tracking, QR code reading and plenty more. If you are looking for an economical camera module boasting multiple high-end features, look no further than the OpenMV M7!
The OpenMV can be programmed 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. You still have total control over your OpenMV M7 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.
This version of the OpenMV M7 Camera has a few new changes for you! Each version of the OpenMV now comes equipped with a handy protective acrylic case and has also removed the pre-soldered headers from the board. Instead, you now have the option between normal male headers (like the ones found on the previous version) or female stackable headers, allowing you to decide how you use your own OpenMV!
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 5 ratings:
1 of 1 found this helpful:
The OpenMV camera is great if you want to make a micro controller see. I've used it with Arduino and it works quite well (it has an issue using an NXT as it tends to hold the clock line down for 4 seconds... still debugging this). The camera can be either an I2C master or slave or it can talk SPI if you need it to.
The IDE and the sample code is really great. The M7 runs micropython and you edit and upload the code from the IDE. The IDE also has a video pane to show what you are seeing and if it is properly executing your code. It's quite well thought out. For sample code there is face detection, line tracking, and even a Pixycam emulator (over i2c). It really is a good product.
That said there are some caveats.
First... this isn't OpenCV. Codewise it looks similar but there are a lot of features just not there. Say you want to do OCR training using KNN. Pretty simple thing to do in OpenCV but it doesn't appear to be possible with the OpenMV.
Second... performance can be slow depending on what you are doing. A Raspberry Pi 3 running OpenCV will run faster face detection. You get much better throughput. Now the maker of OpenMV comes right out and tells you this on the Youtube videos but I wanted to make it a point here as well... don't expect extremely fast performance.
Third... upgrading firmware... the upgrade is fast but the self-test after is extremely slow. It doesn't happen often but when it does it is terribly slow.
That said... this is a great way to make something like an Arduino see.
Very easy to get familiar to the CAM and the IDE. It comes with the software reach of examples. Excellent support on the manufacturer website forum.
Great but needs some more libraries and algorithms!
Works great out-of-the-box and easy to program. Let’s you get going quickly with a useful subset of OpenCV on a low-power, low-cost, embedded platform. Well done! I just wish SparkFun also carried other types of lenses and wi-fi shield.
To user Member #744409:
I've determined why OpenMV IDE causes issues with the pyboard. It seems the default CDC INF driver provided by MicroPython which we digitally sign for you so that you can use your pyboard on a windows machine causes issues. To fix your problem you need to go to the device manager and uninstall the drivers for the two pybcdc serial ports along with deleting the device files for these driver (on uninstall windows will ask you if you'd like to do this). Once you do this your pyboard will work fine (click the rescan hardware button to cause a rescan after deleting drivers). One of the updates to windows 10 caused this issue. Previously the driver software was needed but this seems to be no longer the case. We will not install our driver anymore with windows 10 for the pyboard in new OpenMV IDE releases.
When it says that you can change out the lenses, does that mean that the original 2.8mm lens is adjustable?
The lenses are standard M12 lenses. So, you can buy different types which change how the camera sees the world. Here's an example: https://openmv.io/products/super-telephoto-lens