This project was inspired by a love for music. Specifically, a love for free music. My mp3 collection had been getting out of hand. Unfortunately, the place where I listen to the most music: my car, did not have any way to play this ginormous collection of music.

The solution is the muzak car mp3 player. This player has been inspired by other similar projects such as the CAJUN project and the route66 project. The idea is to use a Linux powered PC to play mp3 files to a car stereo system. Feedback is provided with an LCD display and the system is controlled with an infrared remote control.

Armed with very little knowledge of Linux, an old Pentium and lot of illegal music, I set out to build the ultimate car stereo.

Here are some entries from the log of events over the last few months:

May 2
Confirmed group memebers

May 15
Got a new P133 motherboard to use since the old P120 motherboard was flaky. (Spacewalker HOT-541)

May 16
P133 motherboard won't boot. Tried installing both Linux and Windows. Both froze up every time in the install program. In 6 install attempts with Linux, I got a different error every time!

May 22
Got an old 486/DX 100 computer. I'm not sure if it will be fast enough to decode mp3's or not so I'm going to have to test it out.

May 28
Tested the 486 board. It won't boot at all. No lights, no sounds, no memory check or anything. This is very strange since I was told it worked fine before I took it apart. Uh oh.

May 29
Got the 486 motherboard to power up. Turns out the floppy connector has to be put on backwards on this motherboard. Unfortunately, I have no documentation for it so it's a little hard to get it working. I still couldn't get it to read from the floppy disk. Now it is simply at the point that I can get into the BIOS settings. I may have to go back to my original flaky P120 motherboard.

June 2
Got a car stereo mounting bracket from A & B sound. The guy gave it to me for free when I told him what I was going to be using it for, on the condition that I show him the mp3 player when I'm done.

June 5
Got my Irman infrared receiver. Can't wait to get it in, if only my motherboard would work!

June 7
Bad news, the LCD display I have is too tall to fit in the mounting bracket for the car. This is a HUGE problem because one of my main goals for this project is to have the system fit in a standard car stereo slot. Now it seems like this will be impossible unless I resort to using a 2 line LCD display. A 2 line display is way too small to be able to make effective menus and scroll through long lists of tracks. Now I'm going to have to either mount the unit somewhere else in the dash, or use two slots instead of one. Two slots would be bad though, because it means the driver can't keep an existing CD deck and the mp3 player, they would have to remove the CD player to accommodate the mp3 deck. Damn! I even checked new LCD suppliers but the circuit board on all of them is past my height restriction.

June 12
Well, today we took apart all the panels on Alex's 1986 Toyota Celica and figured out that despitethe fact that the LCD display will not fit into the normal car stereo deck space, we can fit it into the ashtray slot by building a nice mounting system for it. The idea is to custom fit two pieces of wood. One will remain permanently in the ashtray slot to hold the serial connector and the other will house the LCD display and be removable so I can work on the system at home, and also so the LCD display can be hidden as a theft deterant (people will steal anything!).

That is good news, but unfortunately I've been trying yet another motherboard and I can't get it to work. First I couldn't get it to show anything on the monitor, but after flipping around an IDE connector, I got a memory check at least. Then I get the error:

I/O conflict: 3F8 2F8

After a little research I found out that those are the addresses for COM1 and COM2. So I went into the BIOS settings and disabled the COM ports to see if I could get rid of the error messages. No luck. I tried a bunch of other settings too and nothing worked. Grrrrrrr…. So frustrating! I am giving up for now and going back to my original motherboard (which is known to be flakey and I really don't want to use but it's the only one I can get to work). Getting the hardware set up is taking way too long and I have to get back to coding soon.

June 14
Now I've got a motherboard to use, I tried to install Redhat Linux 6.0 onto an old 2GB laptop hard drive that I had. Unfortunately, formatting a 90 MB partition was taking over 4 hours on it which led me to believe something was seriously wrong with the drive. I decided not to use it and switched it for a 1.4GB laptop hard drive. In the end I will probably be using a regular hard drive because they are cheaper, and eventually I'll want a bigger drive.

I partitioned the hard drive with 90 MB swap space, 1000 MB mounted on / and 400 MB mounted on "/mp3". I don't really want mp3 to have such a small partition, but I have this incase I want to install windows in that partition at some point. Sometimes it helps to loop up IRQ's and stuff in windows and then configure Linux from that. Hopefully I won't have to do that.

June 15
The mp3 playback using the mpg123 program seems to drop frames once in while making the songs sound like they're skipping a little. I'm going to try and remove some of the unnecessary programs that get loaded automatically. These might be stealing cpu cycles from the rest of the system.

I figured out that it only skips on the tracks when playing off the cdrom. That's fine since the system is not designed to play off the cdrom anyways.


July 17
Now that I have the display on COM1 and the infrared sensor on COM2, I have no place to plug in a mouse during development. I found that there are PS/2 pins on the motherboard, but I'll have to figure out the pin layout to make it work and then reconfigure X Windows for the new mouse. I hope it works because I really don't want to have to finish developing using only a keyboard (although it would force me to finally learn all the emacs shortcut keys).

July 18
I finally got Hummingbird Exceed to work. It's an X Server for MS Windows. It is the greatest software ever. It lets me run X windows apps off of the Linux box in a window on my MS Windows desktop. It also means I never need a monitor for the mp3 box. Also no need to worry about not having a mouse, just run the apps through another machine.

July 20
My display wasn't working properly and after inspection I found that it wasn't getting any power. Tracing the wires back with a voltmeter, I found that some weird build up on the cantacts of my fuse caused it to stop transmitting power. Very strange. I think it might be because I used scotch tape around it instead of electrical tape.