Version 0.95

Background

The quest for the carputer has been a long time coming. In the past I sometimes read about them, and thought that one day it would be awesome to have all of my music at my fingertips. But in my truck it wasn't feasible to have a screen that took up the limited dash and cab space that I had...... then I bought my Xterra.

From the minute I saw the double-din (twice the height of a normal radio) opening in my Xterra, it called out to me to hack it up and install new gear. I wanted to have all of my music accessible without changing CDs, and still have the quality audio I'm used to. I looked at the options for after market units, but none of them had the options I wanted. There are multiple low to high-end units on the market that have USB inputs, and several high-end units with hard drives, but most were limited in their capabilities. The USB units were too slow to react to thousands of songs, and the hard drive units didn't have the capacity I wanted. So, I kept looking..... nothing came. Finally, my searching led me to a computer.

I performed internet searches for the best options to make a functional, safe, and trouble-free system. Most of my searches led me to MP3car.com. I browsed their forums for months. I wanted a system that had a lot of user support, was cheap/free, was easily user configurable, and one I could integrate my steering wheel controls into. I looked at buying a Mac Mini and integrating it, I looked at Linux options, but finally I settled on Windows as my operating system. From there I moved onto deciding on a front end. A front end is a graphical user interface that allows easy control of the system. Many are built for use on a small(ish) touchscreen. I downloaded and played with Centrafuse, Frodoplayer, Freeway, and Road Runner; all but Centrafuse are free (they have a trial version though). I played long and hard, but ultimately decided on Road Runner. Road Runner is a free front end that utilizes Winamp as a background media player. It has a lot of people using and writing for it, support for multiple input and output options, and is easily skinnable (making it look like you want).


Hardware

This was the dash of the Xterra prior to me doing anything to it. It had the upgraded 6-disc in-dash CD changer, with steering wheel controls. The unit is made by Clarion, and the speakers by Panasonic. It was a piece of crap; it had to go.

My first step was pulling the front factory speakers and installing my old MB Quart separates in their place. The MB Quarts need an amplifier, so I also used my old PPI Amplifier and MTX 10" subwoofer. The only problem with this setup was that I needed a source unit since the old in-dash didn't have RCA outputs. I used my Archos GMini 120, a 20 GB mp3 player with a 1/8" to RCA cable. The in-dash was left in place, inoperable. This setup stayed for several months before I had enough time and motivation to implement the carputer.

Once I had enough time, I pulled the indash for measurements and to get a feel for the setup of the system. I thought about trying to jam the computer behind the touchscreen in the dash, or putting it in the glove box. I ultimately decided to fit it into the center console; more on that below.

I evaluated gutting the factory indash and mounting the screen within the metal cage that held all of its components. I didn't want to do this just in case I needed to put the factory system back in. I also thought about buying an old indash at a pawn shop or a Best Buy install shop, but didn't get around to it. I decided to build my own frame. The material I used for the new indash is a 1/8" fiberboard. It's the same material that pegboards are made out of, without the holes. It's a material that's easy to work with, and it's cheap. I figured that my first try would be a temporary setup, a proof of concept of sorts.

The screen is a Lilliput 619, a 7" diagonal touchscreen. It uses a standard HD-15 VGA input and USB for the touchscreen controls. It's powered by 12V DC; this makes it extremely useful in a car environment, as there is very little power conditioning that needs to be done.

I made the box using 5 pieces of the fiberboard, bottom, two sides, and two front pieces. It is held together with L-shaped brackets. The outer front piece is a bezel that keeps the screen from falling out of the box. It is the only piece that is sanded and painted. The inner front piece fits snuggly around the outside perimeter of the screen to keep it from moving up and down. The manufacturer mounts are used to keep the screen from falling back into the box. Behind the screen is the power and signal board that it needs to operate. (Incidentally, the inverter built into the board gives on helluva shock!)


Here is a shot of the front of the frame, before the screen is mounted and the bezel is attached. I beveled the edges by hand and gave it several coats and additional sanding before I was happy.


This is the bezel (from the back). It surrounds the frame by 1/4" (or so) to give it that nice, clean look.


Here is the screen all mounted and pretty.


And a close-up.

I was damn happy with how it turned out. As mentioned above, I believed it would be a temporary solution, but unless something drastic happens to it, it's staying right where it is.

The center console had a CD-sized tray underneath the cover, but there was an additional 2-3" of room beneath and around the tray. I pulled the center console out and cut away the CD tray to give me the room and access necessary for the computer. I used another piece of fiberboard to mount the motherboard to.

The console was remounted in the Xterra, with its new motherboard to keep it happy.


The wiring was run underneath the gear shift assembly to the dash to give a stealth look.

The motherboard used is from an old laptop. It is a 900 MHz Pentium M system with 512 MB or RAM, one serial port, VGA, LAN, and two USB ports (only USB 1.1 though). The data is stored on an 80GB Western Digital model 800VE hard drive.

The entire system is run on a DC-AC-DC conversion system. It consists of a DC-AC converter plugged into the cigarette lighter and two AC-DC converters plugged into this (one for the screen and one for the motherboard).

My model of Xterra has 5 factory steering wheel buttons (Vol up, Vol down, mode, track up, and track down). The controls work by using a variable resistor network to change the current draw. There are only two wires run from the steering wheel to the factory indash. I utilized a BU0836 joystick controller to adapt the controls into the system. The BU0836 has 8 analog and 32 button inputs. I am only using one of the analog inputs, but have thought about future possibilities.

The GPS portion of the XPC comes from a Garmin serial-based GPS. It is a 12V GPS that can track up to 12 satellites. It is a commercial system that puts out a standardized NEMA output over serial.

Here is the wiring diagram for the system.



Software

The operating system for the carputer is Windows XP. Utilizing a Windows OS is probably overkill, but it presents two major advantages: hardware and software support. The frontend for the system is called RoadRunner. RoadRunner is a free application specifically written for a CarPC environment. It utilizes WinAmp in the background for playing music. It is easily integrated with multiple GPS applications, FM radio devices, phones, video applications, satellite radio, and sensors (joysticks, temperature sensors, etc); all user configurable. To put it in laymanís terms, it is bad-ass!

Along with RoadRunner and Winamp, the system runs three other applications: Steering Wheel Controller (SWC), Hibernation Trigger (HT), and IGuidance. SWC detects the analog input from the BU0836 joystick controller and converts them to a key press that RoadRunner recognizes. HT detects when the system goes into hibernation or standby and shuts down the SWC. IGuidance is the GPS application.

Here is a screenshot of the default RoadRunner skin (when I installed). It gives a starting point for what can be done with skinning RoadRunner.


Here is the Digital FX 2.0 skin, before I made any mods.


Here is my current home screen. There are minor changes, along with hidden ones (like song ratings and unused buttons disabled).




Conclusion

The XPC is the greatest thing that has ever happened to me! Well, not quite, but it's close. At the time the GPS is not working, because the serial port on the motherboard is messed up. I have not worked on getting it operational because I drive the same stinking route every morning, so it is not a necessity in my life. It would be cool to get it working, but I am not going to try really hard right now. The DC-AC-DC conversion is not an optimal solution, but will stand for the time being. The steering wheel controls are a relatively new addition. They were installed about 3 months after the install of the original system.

The system has a few drawbacks, but they haven't affected my uses to a great extent. The first is that the system has a slow boot. Using the hibernation feature in Windows, it takes about 27 seconds to begin playing music. This may not sound like a lot, but on short trips this drives me insane; at the start of my 35 minute drive it's not bad. The screen gets extremely washed out in the sun. This makes it hard to use, but not impossible with the steering wheel controls.

One other note is that the system has become an obsession. I am constantly wondering what else I can do with it. I make small changes to the software from time to time, and have been dreaming of designing a skin for RoadRunner that meets my needs better. I am looking at a new motherboard for it, one with a faster boot time and USB 2.0 ports. I will be looking at getting a new power supply, one that will capable of supplying both the screen and motherboard, and with power-up and shutdown capabilities. I am also looking at getting the GPS working in the future, as well as adding a USB FM radio, and possibly a CD/DVD burner to be able to transfer files on the fly.