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]

Continue reading “Human Tetris: Object Tracking On An 8-bit Microcontroller”

AVR Synth/sequencer

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

[kernelcode] has built this pretty slick looking sequencer/groovebox and shared the process with the world. At its heart you’ll find an AVR atmega168 along with a hand full of buttons and blue LEDs. He says the total cost was somewhere around £15-20, so that’s somewhere under $40 for the American readers. There are tons of great pics of the build and it looks like he’ll be uploading source code soon as well.

[via hackerfoundry.com]

Oscilloscope Doubles As A Serial Terminal

PC-based USB oscilloscopes are fast becoming all the rage. [Matt Sarnoff’s] Terminalscope takes the reverse approach, adapting an oscilloscope into a full serial terminal. You may have seen something similar before in the Dutchtronix/SparkFun O-Clock, but [Matt’s] project goes one further by adding a PS/2 keyboard port for full bidirectional serial communication, and with much sharper display resolution to boot.

The mostly VT-100 compatible Terminalscope is built around two AVR microcontrollers: an ATmega328P runs full-tilt to generate the video signal and handle serial I/O, while an ATtiny45 handles keyboard input to avoid interrupting the ’328’s duties. Rather than vector trace each character, a raster-scanning approach is used: the beam follows a fixed X/Y path (like a television), while modulating the Z input (beam intensity) to form an image. The device can be connected to a PC via serial port or USB-to-TTY adapter, or directly to another microcontroller to debug serial output.

We recently showed an oscilloscope being used as a multichannel digital logic display. The Terminalscope provides yet another use for this essential bench tool and could nicely round out a “poor man’s” testing setup. The schematic and full source code are available for download.

Pipe Heating With An ATMega8

[Viktor] wanted a system to keep his pipes from freezing.  The common method of using heat tape works pretty well, but can be wasteful. Many people just turn it on for the entire winter. [Viktor] wanted to automate the heat tape’s power so that it only activated during times that the pipes could actually freeze. To do this, he rigged an ATMega8 to a temp probe and is using it to control an ATX power supply. Pretty slick [Viktor].

[via HackedGadgets]

Nanotouch: A Tiny AVR Media Thing

[youtube=http://www.youtube.com/watch?v=qLOQOTa4-aY]

[Rossum] is at it again. This time, he has created a super tiny media device to get us drooling. You might recall him from the 8-bit device we showed you before. The Nanotouch is roughly the dimensions of a 96×64 OLED screen(slightly larger than a quarter), with about 1/3 to 1/2 of an inch of stuff packed behind it.  The screen itself is mounted atop 4 buttons. This allows you to depress the screen edges for navigation.  He does mention that this design needs a little work to prolong the life of the screen, but we really like the intuitive way of navigating.  At its heart is an ATmega32u4.

We thought his last version was fantastic, but this one has us enamored. He states he’ll publish schematics and code, as he did before. We just didn’t want to wait to share.

[thanks Joakim]

BrickAVR: The Proto-brick

Sometimes, prototyping systems need to be robust, full-featured, and powerful. Other times, nostalgia and simplicity are much more appealing. Rather than buying a pre-made prototyping board, one of our readers grabbed some parts lying around, including an Atmega8, a SMD 16Mhz oscillator, and a 6 pin ISP header, and performed some circuit origami free-form soldering (thanks [Gilberti]!). After it was assembled, he realized that it fit in a hollowed out 2×6 Lego brick rather easily. After adding female headers to the pins, as well as a label and some hot glue to seal it up, he was left with a fully functional, and most likely very durable centerpiece to a project. We would love to see this worked into a Lego Mindstorm robot, just for the sake of fitting in.

Uzebox Video Player

[youtube=http://www.youtube.com/watch?v=hWWsSn_QKLM]
Everyone’s favorite open source game console, the Uzebox (also cloned as the Fuzebox), just got a new feature hacked into it – a video player. At reduced quality (8-bit color), the Uzebox was able to play ‘The Matrix’ off an SD card @ 30fps plus the audio @15kHz. That’s a pretty impressive feat when one considers it is running on 4096 bytes of RAM. The video file had to first be converted into a series of pictures through a Photoshop macro in order to be playable. A Uzebox can be built with little more than a few resistors in addition to an overclocked ATmega644P, and AD725 (which has been skirted in certain incarnations).