Ever since the Cobalt RaQ4 (and its 450 MHz AMD K6 processor) became obsolete, I've wanted to hack one into a drive bay / iTunes controller. When I started running out of space on the Mac Mini which serves as my living room media computer, it gave me the kick in the butt I needed to start the project.
Step 1: The Plan - the Prep
First, I wanted to use Thunderbolt as my drive interface, so that I'd never experience any performance bottlenecks as a result of my connection, and also because I wanted a forward-looking technology (rather than Firewire, which is clearly on the way out). I already had some SATA drives on hand, so I decided to get LaCie's eSATA Hub. At $200, this was the priciest part of the project by far. But as I've said, I was going for speed. A pair of SATA to eSATA cables ensured I was able to connect my drives to the hub.
My second goal was to make the resultant device as "authentic" to the original as possible. I wanted the LCD, the lights, and the buttons to all work. I decided that: a) the buttons would control iTunes and the volume, b) an LCD would display the current track, and c) the status lights would be replaced with a music-responsive, colour LED lightshow.
I decided to keep the original RaQ power supply in order to power my drives (with the help of some molex to SATA power adapters). Everything else was stripped out.
Step 2: Testing the Hub, Mounting the HDDs
The hub is a perfect fit for the 1U enclosure. It has been designed as its own heat sink, and although I've enclosed it in another box (the RaQ chassis), I haven't had any problems with overheating. We'll see if that's still the case come summer...
Step 3: The Panel Buttons
I cut the button section off from the rest of the front panel's circuit board with a hacksaw. I then soldered some jumper leads onto the back of the board which I would connect up to my U-HID.
The configuration software needs to be run on Windows. There was also a slight hitch: you can't assign the U-HID extended USB keys such as the volume or media keys. Fortunately, there's a light piece of freeware which lets you reassign the keyboard keys in OS X: KeyRemap4MacBook. Even better, you can tell it to ignore Apple keyboards, so my alterations only applied to the U-HID. I configured the U-HID keys F-9 to F-12, and then used KeyRemap to change them to the volume and playback controls.
In summation, up/down controls volume, left/right controls track forward/back, and the"S" button controls play/pause. The final button, "E", I mapped to as a macro, command-period, to stop iTunes playback completely.
Step 4: The Panel LCD
Getting the LCD to display the iTunes track info required a bit messier of a solution than I'd hoped for. I knew that AppleScript would make accessing iTunes' info a snap. I had hoped that I'd be able to run a terminal command that would allow me to quickly pass a string to the LCD via serial. Unfortunately, the OS X serial console command, screen, is not really designed with that sort of usage in mind. After a lot of frustration, I ended up turning back to CoolTerm, a serial terminal app that I used for testing, but which is also highly applescriptable.
I modified an existing applescript (iTunes Announcer, which speaks the track info) to pass the track data to CoolTerm, which prints it to the LCD. I've attached my applescript source code here.
Step 5: Blinkenlichten
After soldering most of the kit to spec, I put the LEDs on wires so that I could attach them to the clear plastic plate which refracts the LEDs' light to the indicators on the front panel. The circuit requires any voltage between 5-14V, so I stuck some leads in the motherboard connector of the original RaQ power supply to draw off the 5V rail. I then put a splitter on the stereo miniplug output of my Mac Mini so that I could feed the audio signal to the VU-Meter. Easy stuff.
Step 6: Finishing Touches and Final Assembly
Finally I'll reveal why I was so particular about the placement of the LaCie Hub. It has a bright blue light on the front which was perfect for lighting up the Cobalt logo on the front of the case. I used some adhesive rubber feet on the inside of the case to keep the hub where I needed it, without altering the hub or permanently adhering it to the chassis.
Step 7: The Finished Product!
The applescript polls iTunes every 3 seconds for new track data to update the LCD, which is why there's a delay in the video above. Chances are I can speed this up to once every second without bogging down the system overmuch.
Depending on how cooling fares, I might add a new pair of the tiny 35mm Sunon fans which are original to the RaQ. It also might be a good idea to add a toggle switch on the back of the unit so that I can disable the lightshow when desired, because somehow I don't think that we'll appreciate it doing its thing during episodes of Game of Thrones. I may also add a solid LED to the lightshow, since the VU Meter only supports 5 LEDs, and the front panel has 6 status lights.
Thanks for reading!
Step 8: EDIT: 2 Years On
Since this project was so well received when I published it two year ago, I wanted to return let people know how it's held up, and what changes I've made.
Hard Drives: The 2.5" model is still in there. I upgraded the 3" from a 320GB to 640GB model, since I needed some extra space for my Time Machine backups.
Power Supply: Most recently, the decades-old original RaQ PSU gave up the ghost. There was no scrounging a replacement, so I had to go for external power adapters. I scrounged a pair from kits such as these.
Lightshow and HDMI: Shortly after I published this, I finally upgraded my audio receiver to an HDMI-only model. This meant that I could no longer use the stereo-miniplug splitter as a solution for sending output to my LED lightshow. However, I recently realized that I could create an aggregate audio device in OS X that would play through HDMI and the stereo miniplug output simultaneously. Apple has instructions on how to do this here. I needed to fiddle with the settings a bit in order to avoid some minor audio distortion. On the plus side, I can easily disable the lightshow by changing my audio output device in the control panel from the aggregate device back to HDMI.