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:

Human Tetris:

Brick Breaker:

Comments

  1. blubb says:

    absolutly well done.. one day i will rebuild their board.

  2. that’s simply cool!

  3. Unkoyama says:

    I am utterly impressed

  4. turn.self.off says:

    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.

  5. tetromino says:

    friggin sweet work… dunno if id call the 1st game tetris tho

  6. kmatz says:

    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.

  7. Roboguy says:

    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.

  8. Kerran says:

    Check out more gameplay footage at

  9. kyboren says:

    Nice job, Ghost!

  10. JB says:

    Very nice! Responsive enough to add to a sentry gun

  11. therian says:

    using just 8 bit wow

  12. suvi says:

    gr8 job guys

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

Follow

Get every new post delivered to your Inbox.

Join 96,598 other followers