THP Entry: OpenMV

OpenMV

The future is a scary place, full of robots, drones, and smart appliances with cameras and vision systems that will follow your dog, your child, or your face around, dutifully logging everything they see, reporting back to servers, and compiling huge datasets that can be sold to marketing companies. We’re not too keen on this view of the future, but the tech behind it – cheap cameras in everything – is very cool. [Ibrahim] is doing his part to bring about the age of cheap cameras that are easy to interface with his entry to The Hackaday Prize, the OpenMV.

The idea of a digital camera that is easy to interface with microcontrollers and single board computers isn’t new. There are serial JPEG cameras and the CMUcam5 Pixy, but they cost somewhere around $70. It’s not something you would design a product around. [Ibrahim]’s OpenMV costs about $15, and offers some interesting features like on-board image processing, a huge amount of RAM, and even a wireless expansion thanks to TI’s CC3000 WiFi module.

Currently, the OpenMV is capable of doing face detection at 25fps, color detection at better than 30fps, all thanks to the STM32F4 ARM micro running at 180MHz. There’s support for up to 64MB of RAM on board, with IO available through serial, SPI, I2C, USB 2.0, and WiFi.

It’s an interesting project on its own, but the really cool thing about this build is the price: if [Ibrahim] can actually produce these things for $15 a pop, he has an actual product on his hands, one that could easily be stuffed inside a drone or refrigerator for whatever cool – or nefarious – purposes you can imagine.


SpaceWrencherThe project featured in this post is an entry in The Hackaday Prize. Build something awesome and win a trip to space or hundreds of other prizes.

22 thoughts on “THP Entry: OpenMV

  1. The camera is neat but I wouldn’t expect to buy it for $15. Mouser shows the STM32F429 at $10.62 for 1000 pieces. Camera for $4 maybe. Not sure how much for RAM. Then add remaining parts, PCB, assembly and testing, and then his profit. Most small board makers I know mark the parts cost up at least 3X for the list price to cover manufacturing, support, warranty repair, distribution and profit. Makes it a little easier to understand why the other cameras cost what they do.

    1. Got here for the same question. But it’s awesome to have a project like this that combines so many different drivers/devices. The software stack alone should provide a lot of material.

      Does it run an RTOS or is it bare metal or CMSIS or …?

    2. There’s a much better price quote on the project page. The author says the *first* version had a cost of $15-$20. Considering the first version had no wifi and he was only quoting the cost of the project itself (not a selling price) that’s probably a pretty close estimate.

      Basically, it sounds to me like he’s saying if you wanted to make a bunch of these yourself, it would cost you $15-$20/each in parts.

      1. Even without WiFi, I have pricing for most of his BoM in 500K/y and 1M/y quantities and I don’t think it would be possible to hit even $20. And he has the camera direct mounted on the MV2 – it’s a 0.5mm BGA if you haven’t noticed. I’m not sure many people will be reflowing that at home. MV2 is more expensive to manufacture than the cameras he’s trying to replace.

    3. Hey guys, DarwinSurvivor is spot on, there are *two* versions the first one is really close to $15 (think about it, STM32F407 $6 in 1000’s on digikey, ~$2 sensor, connectors and a few passives that’s it) and it *does* have WiFi, but it’s an *expansion* shield, not something built-in of course.
      The second one will definitely cost more, how much I’m not sure yet, but with the addition of RAM and faster micro, it will do more, still pretty small (1.7”x2.0) and will cost less than other alternatives.

  2. I find it strange that it can do something as complex as facial detection at 25fps, but simple colour detection at 30fps. Any ideas why this might be?

    1. That is probably a limit of the camera sensor rather than the MCU.
      OV9650
      SXGA : 15fps
      VGA : 30fps
      QVGA, QQVGA, CIF : 60fps
      QCIF, QQCIF : 120fps

      Drop the resolution you can probably get the detection rate up.

  3. Awesome project.

    As for the cameras everywhere future; fine by me, as long as they also are logging the politicians, lobbyists and CEOs everywhere. Cameras for (and at) everyone! Fairs fair.

  4. Hi, as another alternative idea, the entire camera protocol and full source code is documented here for the BeagleBone Black: http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/08/18/bbb–imaging-with-a-pru-connected-camera
    Cost would be less than $15 and for many projects you’d need a Linux platform anyway, for network connectivity (eth or wifi USB stick) or for saving video or images it would be more convenient with a Linux platform. Plus you can then use full-blown OpenCV for more advanced capabilities. But I can see some people may want the OpenMV without BBB, for lower cost.

  5. How does it do the face recognition? Viola-Jones seems difficult to me at 25fps on the STM32F4. Is it YUV threshold+blob size calculation?

  6. YES! This is exactly what we need!
    Only suggestion would be to have a more robust SD card holder- This is the sort of thing I want to mount to a drone.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s