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]

[Read more...]

IPv6 to 1-wire protocol translator

[Fli] assembled an AVR based system that can assign IPv6 addresses to 1-wire components. An AVR ATmega644 microcontroller is used in conjunction with an ENC28J60 ethernet controller chip. To get up and running with IPv6 on this meek hardware [Fli] ported the uIPv6 stack from the contiki project over to the AVR framework. Although he encountered some hardware snafus along the way, in the end he managed to get five sensors connected to the device, each with their own IP assigned using the stack’s alias capability.

This is great if you’re looking for a low-cost IPv6 solution. We’re not sure if there’s much demand for that, but it’s useful for that 1-wire home automation setup you’re considering.

8-bit device quenches iPhone envy

avr-iphone-envy

[Peter] deserves an award for doing more with less. He’s built a handheld device based on an AVR controller that has features normally associated with much more powerful devices. Here’s what it doesn’t do: no phone calls, no text messages, no accelerometer, and best of all no app approval needed. What it does do is leverage inexpensive, readily available components combined with common homebrew development techniques to create a touch sensitive handheld.

The demo video embedded after the break details the device playing video, rendering 3D objects, and displaying pictures and ebooks with touch scrolling. All of this is running at 60 fps for a smooth picture. The whole thing is no larger than the 320×240 LCD that he salvaged from a broken MP3 player. An Atmel AVR ATmega644 microcontroller ties together the display, a resistive touch screen, and a microSD card for storage. The chip also controls the backlight, a Lithium Polymer battery, and uses USB for PC connectivity, charging, and even a mouse or keyboard interface. He etched the PCB himself for surface mount components and managed to do it with just four jumpers needed on the underside.

This is a big leap forward from the last AVR based touch sensitive device we saw. All of the functionality seen in the demo is run using 4k of memory and 32k of programming space. Because [Peter's] powering this at 3.3v the system clock is limited to 12MHz but he’s managed to make it work. We asked him to post code and schematics and he didn’t hold back. Head over to the microtouch project page to download the code, Eagle CAD files, and PCB artwork. All of the demo files are there just waiting for you to build on his hard work. When you’ve got something running, don’t forget to share it with us!

[Read more...]

Make your own SNES games with developer cartridge

snes-developer-cartridge

Have you always wished that you could develop games for the Super Nintendo but couldn’t because you were only 4 years old when it was released in 1990? Here’s a second chance. [Max] and his team have created a SNES developer’s cartridge that allows you to load your own code, run it on the SNES, and debug as needed. At its core is an Atmel AVR ATmega644 that is running a boot loader, allowing for firmware updates via USB. Once the system is powered on, ROM code is sent over USB to the 16 megabits of onboard SRAM. A debug terminal can be connected with an RS232 converter, providing status information and allowing some register manipulation.

We can believe there are a few hardcore SNES fans out there who will take the time to write custom code. We could also see this being used for the purposes of SNES sythesized music. But is there a wide demand for this type of hardware? If you’ve ever looked into developing for the SNES, let us know in the comments.

MIDI sequencer/controller

lenonluks

Reader, [Lennon Luks] made a really slick  MIDI sequencer/controller for his senior design project while studying at Western Carolina University. It has a grid of 64 LED buttons, 8 knobs, and a display with navigation buttons that allow him to sequence tracks with or without a computer. The controller is based off an ATmega644 and is programmed in C. [Lennon] clearly explains the inner workings of the project in detail on his website and has included a good number of pictures. [Lennon] made a nice video of the project which can be seen after the jump.

[Read more...]

RepRap Motherboard

reprapmb-1

When the RepRap team found themselves pushing the limits of the Arduino, they started looking for alternatives. They found it in the ATMega644P. It has four times the memory and four times the RAM compared to the ATMega168 used in the standard Arduino. It also has 32 I/O pins. They ported the Arduino software to the microcontroller and started producing Sanguino boards. Now that the base design is nailed down, they’ve begun expanding it to their specific purpose. Pictured above is a prototype RepRap motherboard. While the Sanguino is barebones, this board has onboard connectors for all of the RepRap’s motors, so you can just plug it in. It is also designed to support the future Generation 3 electronics. Probably the most interesting feature is the SD card slot. The goal is to eventually have a board that can run the RepRap without a host computer if necessary; it will manufacture designs directly from the flash card.

Arduino environment on ATmega644

Our friend [Zach Hoeken] at NYC Resistor is porting the Arduino environment to an ATmega644 chip. This doesn’t really add new functionality to the ATmega644 as it is already fully programmable, but it does add a user-friendly and familiar environment to the ATmega, allowing users to build their Arduino-based projects with more powerful hardware. The ATmega is, after all, the biggest DIP package AVR makes, featuring 64k flash and 4k RAM (both four times as much as an Arduino) and 32 I/O pins, which is 12 more than an Arduino. The video is only proof of concept, so we will let you know when [Zach] releases more details.

[via NYC Resistor]