Color Object Tracking With An 8-bit Microcontroller

[Craig] sent in a link to this project which manages to implement color tracking on an 8-bit microcontroller at 60 frames per second. That’s some pretty incredible performance, but we’re also not talking about using a hobby-grade microcontroller. The C8051F360 is an ARM microcontroller with 100 MIPS throughput and with a system clock that can operate at up to 100 MHz. You also must consider that the chip will be able to do nothing else while in the tracking mode. Even with those gotchase, it’s still pretty incredible.

The setup uses an Omnivision OV7720 camera module. It has its own 24 MHz clock, which is used as the clock signal on the microcontroller’s PLL to generate a 96 MHz system clock. The code, which is written in a combination of C and assembly language, pushes captured tracking data to a PC via a serial port connection. After the break you can watch a bare-bones demo video that illustrates what the camera sees and what data shows up on the PC.

If you had the system in hand, what would you use it for? Perhaps it’s a perfect addition to that paintball sentry gun at which you’ve been hacking away?

[youtube=http://www.youtube.com/watch?v=bAp0si1BOo8&w=470]

20 thoughts on “Color Object Tracking With An 8-bit Microcontroller

  1. Hey thanks for all the comments on my project!

    I am designing for a $2 (BOM) vision system including processor. Some of the methods I use on other projects include no frame buffers and no random-order memory accesses, so no DMA needed. Check out the ChipSight slides: http://ChipSight.com/chipsight-slides/

    If a microcontroller like the F360 (or Stellaris or MSP430) had a pixel-processing peripheral, you would get the best of both worlds – easy, low-cost, low-power vision with high resolution, high frame rate, multiple object targeting.

    Here is a short tutorial on consumer vision:
    http://chipsight.com/computer-vision-for-everyone/

    Right not I am building a camera module (4Cam) with a $10 BOM, includes camera and pixel processing. Connect it to your microcontroller via I2C. The main idea being that for vision functions you want object information from the image, not pixels.

  2. Might have to see if I can hack his code up to run on an AVR I might I might. No way I could do 60fps but I bet I could do 2 to 5 fps on a 20MHz AVR without too much trouble. Time to start HACKING!

  3. i love how people are pointing out the avr 8051 thing. the first couple posts all happened at the same time. dont you read posts first!

    Anyways cool project. i have the f320 model of that chip. maybe i can get the code working on it..

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.