Embedded Machine Vision for Robots and Drones

Similar projects worth following
OpenMV-DSP is a powerful machine vision module for robots and drones. In keeping with the spirit of the OpenMV project, OpenMV-DSP is designed to bring advanced machine vision closer to makers and hobbyists, enabling them to focus on high-level problems.

The module is split into two boards, a base board and sensor/expansion boards, mainly to keep it compact, and to be able to exchange sensors or design whole new sensor boards.

The base board has all the main components, it's completely usable as a tiny stand alone Linux board, while sensor/expansion board(s) carry the image sensor, lens and IR LEDs (to be added in r2)

The Software:

This module runs uClinux inside and OpenCV, I haven't actually started working on the host side software, but I'm planning on doing a more intuitive and interactive IDE.

So far I have uCLinux running on the base board, tested serial CDC, mass storage, UVC gadgets, USB host mode support is a bit unstable but still managed to mount a flash stick, now I'm working on the sensor and streaming.

The Hardware:

Processor: Blackfin ADSP-BF52x 600MHz
RAM: 32MBs/16-bit SDR @133MHz
Flash: 128MBs NAND
USB 2.0 OTG (host/device) High Speed (480Mbps)
Sensor: Aptina MT90V34 color/mono 60FPS, 740x480, Global Shutter, 4.8 V/lux-sec.
Lens: High quality RICOM lens/CS mount
SMD connector: 0.5mm pitch, 10-bits PPI, I2C, GPIOs (can be used for LCD, ADC...)
Expansion Header
2x7 2mm: 14 I/Os (1xSPI, 1xI2C, 1xUART, 2xPWM/Timers)
Debug Header 2x6 2mm: JATG/UART/Boot pins.
Power supply: Input:5.0v (USB or DC) 3.3v/1A switching regulator, 1.2v LDO, 2.5v LDO.

  • Webcam gadget/streaming

    i.abdalkader03/27/2015 at 06:41 0 comments

    So far I've been using USB gadgets (g_mass_storage, g_serial, and g_webcam) to make the camera show up as either a uvc, cdc or mass storage device, those modules are mutually exclusive and I think g_webcam is becoming obsolete, so my next step should be to try to make a composite device using configfs. This basically lets you configure the USB device from userspace using a filesystem like API.

  • First Image!

    i.abdalkader03/20/2015 at 16:24 0 comments

    First image from the new cam ;D

View all 2 project logs

Enjoy this project?



fest wrote 04/28/2017 at 10:40 point

Another question about OpenCV performance- does it use any of Blackfin's HW acceleration, or is it still essentially executing the same code as desktop CPUs?

  Are you sure? yes | no

fest wrote 04/28/2017 at 10:39 point

Have you had any progress on the host software?

  Are you sure? yes | no

AVR wrote 03/28/2017 at 13:16 point

what are you using for a lense mount on this design? I am having a hard time finding them myself need a 1/3" lens mount that I can bolt onto the PCB about the image sensor I am using. 

  Are you sure? yes | no

i.abdalkader wrote 03/28/2017 at 15:39 point

CS Mount.

  Are you sure? yes | no

AVR wrote 12/20/2016 at 15:48 point

would love access to the design files, very interested in Blackfin's !

  Are you sure? yes | no

i.abdalkader wrote 01/14/2017 at 02:50 point

I'll share them on github, the HW works really well, the kernel support is dead I think, back then when I was working on this project I fixed some bugs in kernel modules to get things working, tried sending patches and reporting those bugs but no one cared, till I lost interest. The base board must still be one of the easiest SBCs you can build.

  Are you sure? yes | no

Mohamed AL-ameen wrote 01/28/2017 at 07:16 point

ياباش مهندس مشروع ممتاز جدا خصوصا فى ظل قلة الاهتمام بمثل هذه المشاريع على مستوى مراكز الابحاث والجامعات وصعوبة الحصول على المعلومة . كنت اتمنى ان لاتفقد الاهتمام بالمشروع وتواصل الابداع 

اخوك محمد الامين

  Are you sure? yes | no

i.abdalkader wrote 02/05/2017 at 04:20 point

انا مكملتش المشروع ده لان الكيرنل فيه مشاكل كتير لان البرسسور يعتبر قديم  شوية ومحدش بيستخدمه كتير بس السبب الاهم اني لقيت ان تكلفته هتبقي عالية وفيه حاجات احسن دلوقتي ممكن استخدمها. بس عموماً انا استفدت كتير من المشروع ده وفيه افكار كتير هستخدمها في مشاريع تانية :) شكراً 

  Are you sure? yes | no

Jorge Siqueira wrote 08/18/2015 at 05:00 point

Hi what are the main differences between your 2 projects OpenMV and OpenMV-DSP. I know the HWs are different , but what is the main motivation to have 2 different projects?

Thank you

  Are you sure? yes | no

i.abdalkader wrote 08/20/2015 at 01:11 point

The main motivation is to learn and design with new things, this is my first single board computer and the first time I design something with blackfin and Aptina, plus I got a chance to learn more about uboot, uCLinux, buildroot etc.

  Are you sure? yes | no

embed wrote 04/22/2015 at 19:10 point

How do Aptina Sensors compare to Omnivision ones in terms of image quality.Does Aptina has register information available unlike the OV2640 which has limited register access?

  Are you sure? yes | no

i.abdalkader wrote 04/22/2015 at 19:25 point

It's hard to compare because OV makes high end sensors too, which I've never had the chance to test (because you can't buy them in small qtys unlike Aptina's sensors) but compared to the OV2640 and similar cheap sensors, it is much better of course, it has tons of features, plus the global shutter is very useful for MV, the datasheets for the sensors I have are very clear and list all the info needed, I think Aptina is more open with info.

  Are you sure? yes | no

masterdon wrote 03/24/2015 at 00:04 point

"One moment there had been nothing but darkness; next moment a thousand, thousand points of light leaped out" . C. S. Lewis

Getting image acquired and displayed is still hard in many ways. Congrats on your first thousand points of light

  Are you sure? yes | no

i.abdalkader wrote 03/27/2015 at 06:25 point

Thank you :)

  Are you sure? yes | no

transmissions4less wrote 03/23/2015 at 14:29 point

The Market needs an  IDE like what used to be hypersignal RIDE  the graphical block diagram then acquired by NI and became labview DSP RIDE and now it is  vanishing, the same also started by TI and halted the C6EZFlo Graphical Development Tool , TI supported beaglebone and do not see why wont support your project, custom dsp graphical blocks is the futures of programming and future custom  software development.

  Are you sure? yes | no

i.abdalkader wrote 03/24/2015 at 09:34 point

That's very interesting, reminds me of gnuradio grc. I am thinking of a graphical IDE this time, maybe something like that but with higher level blocks

  Are you sure? yes | no

masterdon wrote 03/16/2015 at 21:35 point

I have some image filters that I want to experiment with  in opencv with different approaches to the same filters such as sharpening an image. Also some blob tools in conjunction with normalized correlation for recognition with hopefully better recognition rate. Have you seen a large overhead in processing time using python over native c and opencv?

  Are you sure? yes | no

i.abdalkader wrote 03/17/2015 at 04:15 point

I haven't done much with this cam yet, but I used SimpleCV on PC before, can't say there's much overhead, it mostly calls compiled C, just like OpenCV bindings. This is different from working on image data in Python, that might be slower.

  Are you sure? yes | no

masterdon wrote 03/15/2015 at 01:19 point


Do you plan to make available of the hardware and software?

If so,  when could you do it?

The software will be in c and no python planned?

Sorry too many questions from me but it is a very interesting project. Thank you

  Are you sure? yes | no

i.abdalkader wrote 03/15/2015 at 01:53 point

Hi, yes I will share everything, eventually, but not sure when I need
to test the HW really good first and make sure everything is working
when I'm comfortable with it I'll share it. The board runs uCLinux and
OpenCV if you have any OpenCV code you could run it on the cam directly,
however, you don't have to code in C I will sure make it scriptable
with Python and the IDE will be really easy to use :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates