A couple weeks ago, I read an article at Hackaday about an amazing little device known as the Raspberry Pi. Turns out I was a little late to the party, as the hacker/development communities have been salivating over this device for some time now. The Pi is a mini computer roughly the size of a credit card. It features a Broadcom 700MHz ARMv7-compatible processor, 256MB RAM, an SD card reader, 10/100 Ethernet, USB, RCA composite video, 1/8" audio out, and HDMI capable of resolutions up to 1080p. It's powered via Micro USB (think your smartphone's wall charger,) and consumes a whopping 3.5 watts. The Pi is able to boot into various flavors of Linux from SD (so far Arch, Debian, and Fedora come to mind.) The best part is the pricepoint. $25 for the model without Ethernet, and $35 with.
Immediately I started thinking of the possibilities. At $35, I could have tons of these in my studio. Imagine being able to have several of these boxes preloaded with MIDI-enabled softsynths, samplers, drum machines, effect boxes, you name it. Sam Snow also pointed out to me that these embedded systems would be perfect for use as a dedicated streaming client for Icecast. Plug in your gear to a USB sound card, turn it on, press a button, and boom: you're now broadcasting instantly.
Here's where the problem comes in: The low price point coupled with the excellent specs (for an embedded system) created an enormous demand. Within minutes of the Pi being released for sale, it sold out. I put in a pre-order the other day, but I'm looking at a 180+ day lead time. It's gonna be a while.
In the meantime, I had to get my hands on some sort of embedded machine capable of streaming to Icecast. Enter the Seagate Dockstar. The Dockstar is a docking station for external Seagate hard drives/USB flash drives and is designed to allow you to share your data over its Ethernet port. It features an ARMv5 SoC, 128MB RAM, four USB ports, and a very low-power footprint. Best of all, there's a pretty active community that has managed to get Debian Linux up and running beautifully on these things. I picked up one of these little units on Amazon for about $30. With a little hacking and a lot of patience, I was able to install Debian Squeeze, a DisplayLink USB-to-VGA adapter, a cheap ($1-$2) USB sound card, and a fully functional X Window system running LXDE. Loaded it up with an NES emulator to see what it was capable of, and was blown away at how well it emulated.
After playtime was over, I set up the blueroom.fm Icecast server then installed ezstream and darkice on the Dockstar at my home. I was able to stream reliably and flawlessly over to the server, and even tuned my Android phone into the station while running errands later in the day. Didn't skip a beat.
Which leads me to the project at hand: Creating a self-contained plug-and-play streaming box that offers a small display (in this case, a hacked keychain picture frame at $2.50 a pop,) Wifi/ethernet connectivity, and a means of a compact HID input to allow the user to choose a wifi hotspot and start/stop the stream. So far, I've managed to get a keychain working as a display and it works surprisingly well. I'm also working on getting the VU meter to show during broadcasts. My idea on giving the unit self-contained HID input is to tear apart an old USB keyboard, snag the PCB, and attach momentary push buttons on the case that will correspond to a keystroke, which will be mapped to specific functions. Having done this in the past with a MAME cabinet, two or three keys should be a breeze.
Below are some pictures of my prototype system affectionately dubbed "Li'l Brudder." The pic was taken before I got my keychain. IT currently boots into Debian Squeeze off of an 8GB SanDisk Fit flash drive, but I'm pondering a way to get it to boot from NAND and still have the required guts to do its job as a streaming device. The actual unit will have no need for the USB hub or the black/grey box below it (DisplayLink USB-to-VGA adapter.) Not quite sure if I'll be sticking with the original case or not. The USB keychain can mount right where the hard drive would go, but may need to be reversed to fit the mini USB plug. Then we have the challenge of where the buttons will go. If anyone has any ideas on a project box that would accommodate the Dockstar board as well as a few buttons and an attached keychain display, please let me know.
I'll be posting more about this project as I go along. This could be a great fundraiser for the re-launch of blueroom.fm, and when the Pi is available, costs should be even lower.

