Human Tetris: Object Tracking On An 8-bit Microcontroller

Elaborating on an item previously mentioned among last weekend’s Cornell final projects list, this time with video:

For their ECE final project, [Adam Papamarcos] and [Kerran Flanagan] implemented a real-time video object tracking system centered around an ATmega644 8-bit microcontroller. Their board ingests an NTSC video camera feed, samples frames at a coarse 39×60 pixel resolution (sufficient for simple games), processes the input to recognize objects and then drives a TV output using the OSD display chip from a video camera (this chip also recognizes the horizontal and vertical sync pulses from the input video signal, which the CPU uses to synchronize the digitizing step). Pretty amazing work all around.

Sometimes clever projects online are scant on information…but as this is their final grade, they’ve left no detail to speculation. Along with a great explanation of the system and its specific challenges, there’s complete source code, schematics, a parts list, the whole nine yards. Come on, guys! You’re making the rest of us look bad… Videos after the break…

[G’day Bruce]

Basic object tracking:

[youtube=http://www.youtube.com/watch?v=f8cdfxDv__Y]

Human Tetris:

[youtube=http://www.youtube.com/watch?v=uz-x-QW69co]

Brick Breaker:

[youtube=http://www.youtube.com/watch?v=xTw4dH2l7YE]

13 thoughts on “Human Tetris: Object Tracking On An 8-bit Microcontroller

  1. reminds me of a story i read where workers got replaced by more and more robots over time, with the big jump happening when someone figured out how a earlier 32-bit vision system could be done in 8-bit.

  2. So, I’m a bit confused. They call this object ‘tracking,’ but aren’t they just doing black thresholding? Their code seems to suggest so. That’s probably why the guy’s armpit is making the ball bounce in the second video.

  3. Pretty awesome project.

    @kmatz

    Well, black thresholding + black object = object tracking.

    Every object tracking method has to have some sort of logic, it’s just that this one’s logic is fairly simple.

    Reevaluate your standards – it’s running at 20mHz or lower.

Leave a Reply to JBCancel 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.