About this project
Thanks to all of our awesome backers for a successful Kickstarter! In case you missed your chance this time, join our mailing list above or get on the waiting list below.
OpenMV Cam gives any project the power of advanced machine vision with the ease of writing simple Micro Python scripts.
More than just a camera board, OpenMV Cam is a complete vision solution that uses a simple IDE, rapidly integrates into any hardware project, supports shields for expanded capabilities, and already has a community behind it.
- Detect a face when someone is standing at your front door, take their photo, contact your smartphone, then ring the doorbell automatically;
- Find a marker on your robot's charging station;
- Use color detection to sort M&M's detect and collect colored balls;
- Detect a landing zone object for your quadcopter/hobby UAV;
- Record video from your UAV, Rover, Kite;
- Take time lapse photos for security, science, and more;
- Control Pan/Tilt servos to create an object tracker or foam dart sentry gun;
- Compete with an edge in FIRST Robotics Competition, Sparkfun AVC, and others;
- Teach and learn machine vision concepts.
The difficult, time-consuming work of machine vision is already done for you, leaving more time for creativity. These are just a few ideas. So much more is possible with OpenMV Cam's many capabilities. And all it takes are small Python scripts.
Python on Board
OpenMV Cam has a Micro Python interpreter on board, so your scripts run on the camera module itself, accessing compiled vision algorithms.
You write scripts in the OpenMV IDE's syntax-highlighting editor. From the IDE, download and run your scripts, display what the camera sees, select templates to match, and tune color detection. Example scripts help get you started.
Windows and Linux are currently supported. The MacOS port is in progress.
Control or Be Controlled
You can control OpenMV Cam with your Arduino, mbed, or other microcontroller over I2C, Serial, or SPI protocols. Or, OpenMV Cam can be in control, with multiple GPIO pins broken out including ADC, DAC, PWM, and the serial protocols mentioned.
Expandable With Shields
OpenMV Cam is designed to be expanded with optional shields. You can add an LCD Shield, Prototyping Shield, and/or Thermopile Array Shield to your reward as an accessory. A WiFi shield is still in development and we'll keep you updated on our progress.
The shield features a 128x160 pixel, 1.8" TFT color LCD on a shield that mounts on the back of OpenMV Cam. Our prototype is pictured right of the OpenMV Cam. The final version omits the switches and mounting holes but will look similar, otherwise. If you want one, just add $19 to your pledge.
Thermopile Array Shield
A shield for the Melexis MLX90620 (or '621 if available) 16x4 Thermopile Array is available. Pictured below is the prototype shield mounted to an OpenMV Cam.
With it you can overlay a heat map on your images, such as in the demonstration below, picturing Ibrahim's soldering iron in no light condition. This demo was done with a prototype LCD shield that is not yet available.
A prototyping shield is perfect for experimenting. You can add one to your reward as an accessory. The etched prototype is intended to give you an idea of size and layout. The final version will have soldermask, silkscreen, and plated through holes as rendered below.
One thing we didn't mention in the video is that OpenMV Cam can see in the dark with onboard IR LEDs installed in every board, and using an IR lens (available as an add-on accessory). The picture below was taken in no light condition using an IR lens with the IR LEDs illuminated.
OpenMV Cam uses an M12 lens mount so lenses are interchangeable. Every OpenMV Cam comes with a general purpose M12 lens (40°-60° FOV) with IR filter for improved daylight performance. You can add as accessories:
- General purpose IR lens,
- Wide angle lens (3.6mm 96° FOV), and/or
- Telephoto lens (12mm, 26.2° FOV).
OpenMV Cam is totally open source and we're building a community around this platform to improve, add, and share. OpenMV Cam can do a lot right now, but as a community, working together, we can revolutionize machine vision for hobby electronics, education, and artistic pursuits. We'd like you to join us.
We've been working on OpenMV Cam over the last year and we're ready to make it available.
- We're ready to manufacture. The main camera module hardware has been through several revisions and is ready to produce.
- Software testing. Our beta testers have been helping us improve the firmware and IDE over the last several months and will continue to do so.
- We have selected a US-based manufacturer, MacroFab, who came highly recommended from the folks behind the Re:Load Pro Kickstarter project.
- Shipping and fulfillment services are handled by this same manufacturer; we've been working out all the details since December.
Affordability and Kickstarter
To make OpenMV Cam affordable, we have to lower component and manufacturing costs, and to do that we have to make a lot of units at once. In turn, the total amount required for manufacturing is pretty high, and that's why we're asking for your help.
Rewards and Accessories
We greatly appreciate any support you can offer. To help us revolutionize machine vision and get an OpenMV Cam of your own, please take a look at the available reward tiers below and pledge for the reward you want, then add accessories shown below. Thank you!
For example, to get one 5-Pack ($239) with a single thermopile array shield (+$139), select the $239 reward tier and pledge $378 (=$239+$139).
- MCU: STM32F427, 180MHz, 225 DMIPS, 256K SRAM, 2M Flash, DMA/FPU/DSP/DCMI/SDIO/2D Acceleration
- Sensor: OV2640 (2MP JPEG but see Performance) [datasheet, pdf]
- Interchangeable M12 lens
- 2x IR LEDS
- 2x Servo headers
- 20 I/Os: USART/SPI/I2C/PWM
- USB 2.0 Full Speed
- uSD interface: SDIO (4-bit mode)
- Current draw is approximately 140mA, steady state
Memory and speed are important in a machine vision system. We selected the familiar, hackable STM32F4 line, an STM32F427 running 180MHz.
Native DCMI and SDIO hardware interfaces to camera and microSD, respectively, are managed with DMA, freeing CPU cycles.
The 2MP OV2640 sensor provides JPEG compression onboard, enabling faster transfer rates for streaming or recording. It supports bitmap output formats in several resolutions including color and grayscale, each appropriate for certain machine vision applications.
Ibrahim Abdelkader is a maker and long time programmer with multiple CS degrees. Intrigued with machines that can see, and spurred by disappointment in currently available machine vision systems, he created OpenMV Cam to be affordable and as easily integrated as other sensors. The project is all open source because he wants to give back to the open source and maker communities.
Michael Shimniok has been building autonomous robots for several years. Most recently he led the team to convert his 1986 Jeep Grand Wagoneer, Troubled Child, into a self-driving vehicle that won the 2014 Sparkfun AVC. Machine vision became a passion after experimenting with a vintage Game Boy camera on his first competition robot. He joined the OpenMV Cam project to raise the bar on hobby robotics.
Bot Thoughts LLC: Michael Shimniok started blogging in 2007 and building and selling hobby electronics boards in 2012. This micro-empire of geekery became Bot Thoughts LLC in Dec 2014 and Michael is the sole owner.
Risks and challenges
OpenMV cam hardware and software already exists and has been under development for the past year, significantly reducing technical and schedule risks. The capabilities listed above are already in place and the software and hardware has been tested. The hardware design has been reviewed by our manufacturer and is ready to build.
The maturity of the hardware also addresses schedule risks due to design errors. In addition, we will be manufacturing OpenMV Cam in at least three batches of increasing quantity, e.g., 10, 100, and all remaining units to reduce schedule risk due to design or assembly errors. In addition, the manufacturer will be testing each board using software and test jigs we provide. Finally, I plan to be on site with the manufacturer for the initial run to catch and fix problems early on.
We recognized early on the potential risks related to fabrication, assembly, and fulfillment and so we chose to outsource all of these functions. MacroFab specializes in end-to-end services for projects just like this, providing packaging and fulfillment services in addition to PCB fabrication and assembly.
Component part availability and lead times are another possible source of schedule risk. Our manufacturer provides turnkey assembly, meaning they find the parts for us and we have already identified alternate parts to ensure availability for orders supporting up to at least 1000 units. If we are funded beyond 1000 units, there is some risk of delay due to availability for subsequent batches.
We feel we've addressed the most likely risks to schedule, we believe technichal risk is very low due to the time invested already, and we've addressed any cost risks we face by carefully estimating all the forseeable costs and allowing enough margin to address unknowns while leaving enough to sustain future production and development. I'll put my 20 years of IT experience to good use in planning and working hard to meet our timeline.Learn about accountability on Kickstarter
Support this project
- (30 days)