Member Since: January 20, 2009

Country: United States

  • Hi Member #658570 ,

    This is Kwabena (OpenMV President).

    The next version of the system will have this in the future. Note that we’ve found out a way to drive the camera faster to enable higher than 30 FPS for some algorithms.

  • Hi jlang,

    This is Kwabena (OpenMV President).

    Not yet, but, it’s on the todo list for future functionality. We release firmware updates regularly so the feature list expands over time.

  • Hi John Morris,

    You’re totally correct with your above points if you’re optimizing for performance and cost. Lots of folks are releasing Android systems like this right now.

    That said, minimal effort is put into making such systems as easy and as fun to use as your first Microcontroller. The whole point of the OpenMV Cam project is to make it “easy” to control things in the real-world using computer vision functions. For the OpenMV Cam, this mean having a hard 250 mA current consumption roof so you can use the system more easily with robotic applications and program it from your computer with one standard USB cable and nothing else. For more on why… see our FAQ here:

    About the M7 processor - it’s about half the speed of a Raspberry PI zero but with a lot less RAM. It can actually do USB 2.0 but we don’t enable that feature since it would mean we couldn’t have DFU support anymore which makes the OpenMV Cam unbrickable. Given we allow you firmware updates it’s important that you can ALWAYS recover the system.

    Note that future OpenMV Cam will have more powerful processors. The idea behind the OpenMV Cam project is to make developing easy by giving you an Arduino like (but with much better tools) programming experience. In particular, one IDE which can be used to control the whole system. Not a lot of different tools bundled together.

  • Hi Member #559126,

    This is Kwabena (OpenMV President). Yes, we have a WiFi shield which can get your OpenMV Cam online.

  • Hi reissinnovations,

    This is Kwabena (OpenMV President), we can detect faces using a Haar Cascade and then tell you face locations. Facial Recognition is possible in the future. But, we haven’t written the code for that.

    That said, you can take pictures with the OpenMV Cam and then transmit said pictures to facial recognition services if you have an internet connection for the OpenMV Cam using our WiFi shield.

  • Hi bennard,

    This is Kwabena (OpenMV President).

    If you know what you’re doing with a Raspberry Pi and can sling computer vision code easily along with I/O pin control then there’s no need for the OpenMV Cam. But, if you aren’t a master you’re going to run into a step hill with OpenCV and then trying to get the output from your code to controlling stuff in the real world.

    The whole point of the OpenMV Cam is to make things “easier” - in particular doing robotics. Note that we give you a nice IDE to program the system with that makes your development experience a lot nicer that using a Raspberry PI with OpenCV.

  • Hi NorthernPike,

    This is Kwabena (OpenMV President). I hear what you’re saying about Python types being complicated. It’s a different world from C. But, it’s easy to learn.

    Note that by high level data structure manipulation I mean things this:

    for blob in sorted(raw_blob_list, key = lambda x: x.area(), reverse = True)[0:max_blobs]

    The above python line does a “for” loop on a list of color blob detections that have been sorted by the area of each color blob in descending order on the first “max_blobs” color blob detections. Note that each color blob detection is an object with about 10 fields. I could have sorted the detections based on something else other than area().

    In python you’re able to do all of this in one line more or less. In C… well, life is harder. Doing good computer vision work often requires you to filter things, sort things, etc. Python is great for this.

    For more info on the above… here’s a link to an OpenMV Cam script that emulates the CMUcam5 Pixy which the above line of code is from:

  • Hi Member #394180,

    This is Kwabena (OpenMV President), you can actually program the OpenMV Cam in C. We have an open-source build system available here: No external expensive programmer tools are required. All you need is the OpenMV Cam and a USB cable.

    The above said, our firmware is over 1 MB in size which takes a couple of minutes to program onto the STM32F7 chip. If you are developing code in C you need to be an excellent programmer who doesn’t make silly mistakes to get any work done. For beginner students and hobbyist… this isn’t the case. Having the python system on-board makes it really easy to get an application that uses computer vision in the real-world working quickly since you’re going to have to constantly tweak settings until everything works right. Being able to compile and run in under a second is HUGE.

  • All the issues you mentioned are clearly talked about in the documentation. The CMUcam4 is not designed to take pictures. The picture taking functionality is simply for debugging purposes so that you can figure out the color you want to track. It’s not a point and shoot camera. The reason the image is distorted is because the image is built out of multiple lines of consecutive frames. This means you can only take images looking at still objects in stable lighting.

    Once you take an image you can figure out what color you want to track using the eye dropper tool in MS Paint for example. You can then feed that color back into the camera to track. Once you do this you can start to track colors really nicely.

    Picking the color you want to track is the hard part. You can switch to YUV mode to get around lighting problems that come with using RGB mode.

    The CMUcam4 is much easier to use with an Arduino Mega because you have multiple serial ports.


  • The CMUcam4 has a built in PD control loop for doing pan and tilt.

    You don’t have to connect the Arduino to the back of the CMUcam4. You can just attach RX, TX, PWR, and GND wires and you’ll be good to go.

    Regular servos respond slowly, however, some digital servos would likely be needed to work really fast.

No public wish lists :(