I'm not sure how to submit an entry for the contest, so I'll try here. Please let me know if this is the right place or not!
My project is to create an MP3 player that keeps the same look as the original Kuro box.
To this end, I embedded a USB audio device, and a four character LED display.
Here are some photos:
[url]http://mtrob.fdns.net/~kuro/assembled_kuro.jpg[/url] The final project
[url]http://mtrob.fdns.net/~kuro/disp_board.jpg[/url] View of the display board
[url]http://mtrob.fdns.net/~kuro/usb_audio_adaptor.jpg[/url] USB audio adaptor
The usb adaptor is a Turtle Beach Audio Advantage. It's cheap, at ~$30 USD. Supported under linux, too! I compiled a kernel with usb-audio support, and it worked first time. I used madplay as the mp3 decoder, as it's integer only. I get around 29% cpu utilization when a VBR 192K stream is playing. To control the volume, I used aumixer.
The display is driven by the same type of Atmel device as is used on the kuro board. I had a brief fantasy of using the on-board device, but all but one of the pins are used. These Atmel devices are really easy to use, and are supported by gcc. I did all of my programming on my main linux box, but I imagine that one could use the kuro box itself, if there was a USB atmel programmer available. I attached it to the kuro's serial port, but had trouble getting the Atmel device to work at the 57600 baud rate, so had to use 9600. (I used stty to reset the port speed, once the box was booted). According to the Atmel datasheet, there's a 12% speed error when using a 4 MHz crystal, so I'm guessing that's why I couldn't get it to work. (It is strange to see the boot messages scroll by - sort of like a Matrix-esque style display).
The hardest part was getting it all to fit inside. There just isn't that much room inside
the box. I would have really liked to use a display with more characters, but the vertical form factor of the kuro box prevents usage of the conventional LCD displays. Crystalfontz has some nice small displays, but they would require a pcb and surface mount techniques...
Anyways, please let me know if you'd like more information.