Three Years in Embedded Linux: A Talk with Hugo Fiennes andMarc Merlin
For more than three years, a flashy, easy-to-hack car MP3 player called the ``empeg'' (all lowercase) has been an object of desire among geeks and MP3 enthusiasts. Today, it's both the center of a thriving hobbyist community and a leading contender in the next generation of must-have, high-end car stereo components.
The empeg was the talk of the Linux news sites in 1998 and winner of a Linux Journal Editors' Choice Award the following year. It all started when Mazda Miata driver Hugo Fiennes decided to stop messing around with cassettes and CDs in the car and bolted his music collection into his trunk. His original project, the ``MP3mobile'', was a big Intel-architecture box that wouldn't fit in the dash. But the appeal of a big music archive on the road called to people. They mobbed Hugo's web site, and he founded empeg Ltd. With hardware designer Patrick Arnold and others, he designed the first in-dash version, the Mark 1, around a StrongARM CPU.
The Mark 1 was a must-have toy but difficult to manufacture. Units sold on eBay above list price, while empeg Ltd. couldn't build them fast enough to meet demand. Mark 2, the current model, is easier to build and test and has Ethernet for loading music. Last fall, S3, soon to become SONICblue, acquired empeg Ltd., which brought the empeg serious manufacturing capacity and a new name, the ``Rio Car''. And Hugo, now technical director of empeg, looks like a high-tech visionary of the first order, as other companies follow his example and choose Linux as the OS for net-enabled entertainment appliances.
The Rio Car
The first feature that will catch your eye is the ``visualizations''--configurable animations that move to the music. Not just VU meters but circles, curves, Fast Fourier Transforms and other cool effects take advantage of the big (for a car stereo) 128 × 32 dot matrix vacuum fluorescent display. Behind the display is a StrongARM S-1100-DA CPU clocked at 220MHz, with 1MB of Flash, 12MB of RAM and a Philips DSP chip that enables audio features, including five parametric equalizer bands per channel. A dedicated hobbyist or pro installer will have a lot of options to tweak the empeg's sound for the car in which it's installed. And, of course, there's plenty of disk space--currently up to two laptop hard drives, 20GB each.
I/O options are plentiful--a microphone for future voice recognition software, IrDA input, Ethernet, serial and, soon, wireless networking. The CPU only gets used at 30% capacity, so there's plenty of room for users to add their own custom software. As far as software goes, there's a full-featured MP3-playing application with multiple playlists and the visualizations. Nonhacker users can update their music collection and visualizations with a Microsoft Windows application, and there's a (GPL) utility to manage the empeg from Linux for the hackers. Windows Media Audio support is in progress.
Since Hugo approached the project from the classic ``scratch a personal itch'' point of view beloved by Linux hackers everywhere, it's no surprise that the empeg web site's claim to produce ``the most open in-dash computing platform in the world'' is right on. User projects include everything from software to play-preferred audio formats, to interfaces for steering column control sticks, to alternate startup screens, to a strange empeg/Palm GPS Mapping System that uses a Palm Pilot to show you a map while the empeg tells you how to get where you're going.
Can the empeg cross the chasm from hacker cult-object to necessary car stereo component? Its customizability will appeal to high-end car audio shops, and you can't beat its storage capacity and convenience. In our humble opinion, the answer is yes.
After checking out the Rio Car at the Consumer Electronic Show in Las Vegas, we interviewed Hugo by e-mail, then went for a ride with one of the empeg's early enthusiasts.
Hugo: If there is demand, this is a possibility. Currently, there's very little demand for it; we have plenty of headroom in terms of memory and CPU in order to add it, if necessary.
ELJ: Can you tell us anything about your experiences working with Microsoft to add Windows Media support to a Linux-based product?
Hugo: No problems with Microsoft per se, even with getting ELF format libraries. There were usual integration issues (library support, etc.), and we didn't like the interfaces they provided, but that's no different from integrating any external libraries really!
ELJ: empeg.mars.org is a site devoted to hacking the empeg, which you seem to encourage. Have you incorporated any of the technology developed by independent enthusiasts into the product?
Hugo: No, but we haven't ruled it out either. We don't particularly support empeg.mars.org, but if people ask questions we can answer, we usually do. Most of the staff read empeg.comms.net, which is a pretty busy users' BBS. Quite a bit of the information on mars.org has come from posts on comms.net. (See links to empeg hacking sites in Resources.)
ELJ: Since you started working with embedded Linux, several companies have introduced embedded Linux distributions and development tools. Have you considered using an embedded distribution, or do you still think it's better to roll your own?
Hugo: We use little apart from the kernel itself and glibc (with pthreads); a ``distribution'' wouldn't really be applicable. We run an almost standard kernel patched up with the latest ARM patches.
Between us, we've got quite a bit of Linux development experience, so we don't need a lot of hand-holding, which is probably more the audience the distributions are aiming at.
ELJ: It's been almost three years since you created the original ``MP3mobile''. Why did you move from x86 to ARM for the commercial product, and what types of projects do you think ARM is suitable for?
Hugo: I've been an ARM fanatic since 1987, when I got my first ARM-based machine: an Acorn Archimedes A310. I used an x86 machine for the MP3mobile simply because that was what I could get in the right form factor, and it had all the necessary I/O on one board. It was never going to be easy to use an x86 in a product as small and compact as the empeg, simply because of heat issues. At the time, the best fanless embedded x86 was only around DX4/100 power, which would have been a bit marginal. The StrongARM in the empeg runs cool at 221MHz with no heatsink.
ARMs are suitable for almost all embedded apps--there's a good range of microcontroller-like chips, from the Cirrus 7212 (74MHz, onboard SRAM, DRAM controller, LCD, etc.) as used in the Dell/Rio Receiver (also an empeg production) to the StrongARM SA1110 (up to 206MHz--the older 1100 in the empeg-car is 221MHz max, with similar onboard peripherals) through the latest XScale chips that will hit 733MHz. None have FPUs, but all have fast multiply-accumulate, which suits many DSP algorithms. They don't compete with desktop CPUs, but they are small, low-power consumption, relatively inexpensive and easy to work with.
ELJ: What are some of the new features you're considering for the next generation of Linux-based car audio devices?
Hugo: We demoed wireless solutions at CES this year, and this is going to feature heavily in the future; apart from that I can't say a lot--we're involved in many areas (both in-car and outside it), the fruits of which will be seen later this year.
Marc Merlin is an early adopter of the empeg and listens to a lot of rave-type electronic music that sure doesn't sound like anything you get on the radio, as Embedded Linux Journal discovered when he took us for a ride with the empeg. He has carriers installed in two cars and swaps the empeg between them or plugs in the AC adaptor to load songs and listen at home.
ELJ: Marc, since you were first on the block to get an empeg, how do you like it so far?
Marc: I love it. It wasn't cheap, but considering that 99% of my music is in MP3 format, it was well worth it. I couldn't stand the stupid radio we have here anymore.
I had one of the 350 Mark 1 players that were made. I later sold it for the same price I bought it and upgraded to a Mark 2 when they started selling in July of last year.
ELJ: Have you hacked it or is it stock?
Marc: The software has been hacked. I have a boot menu, Tetris and SIDPlayer for Commodore 64 tunes. I'll probably add a web server soon. The hardware is stock for now. I may add a second hard drive later.
Don Marti is the technical editor for Embedded Linux Journal. He can be reached at firstname.lastname@example.org.