Human Tetris: object tracking on an 8-bit microcontroller

posted May 15th 2010 2:00pm by
filed under: classic hacks, hardware, video hacks

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:



12 Responses to Human Tetris: object tracking on an 8-bit microcontroller

  • blubb says:

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

  • 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.

  • tetromino says:

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

  • 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.

  • 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.

  • Kerran says:

    Check out more gameplay footage at

  • kyboren says:

    Nice job, Ghost!

  • JB says:

    Very nice! Responsive enough to add to a sentry gun

  • therian says:

    using just 8 bit wow

  • Leave a Reply

    XHTML: You can use these tags: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Hack a Day serves up fresh hacks each day, every day from around the web as well as hacking related news.

    Send us your hacks






         




    Hacks

    Resources