O'Reilly logo

Car PC Hacks by Damien Stolarz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Hack #52. Build an in-Car PC

Having covered all the basics, let's look at how a U.K.-based IT manager put together his car PC.

My job involves a good deal of travel, so naturally I looked into buying a satellite navigation system when I was buying a new car. But the high cost and minimal features of the factory navigation system compelled me to look at computer-based alternatives.

At first I considered using a laptop with a GPS and PC-based navigation system, but laptops are clunky copilots at best. After a lot of online research, especially on http://www.mp3car.com, I found that I could actually build a small PC for the car that would not only give me a navigation system, but also MP3 and DVD playback, all usable though a nice touchscreen interface. Armed with this knowledge and the cash I had saved by not opting for the factory navigation system, I began piecing together my car PC.

Choosing a Computer and Screen

To get started, I looked for a computer. Cost was a big factor here for me, and after some searching I purchased a used, preassembled 800-MHz VIA Mini-ITX system (Figure 4-20) from an online auction. The low-cost, power-efficient VIA boards [Hack #41] are by far the most popular motherboards for in-car computer use.

The first version of my car PC project used an LCD composite monitor attached to the TV-out port of my video card. I thus learned that using a standard LCD TV screen (with a composite connector) will result in an unacceptably low-resolution picture for anything but watching movies. If you think using a TV for a monitor on your home PC is bad, it's even worse in the car because the screen is so small.

As far as I am concerned, the screen is the most important part of the whole system. It needs to have high enough resolution that it is readable, looks good, and is able to cope with the resolutions needed to run computer graphical user interfaces. Lilliput's (http://www.newision.com) 7" touchscreen monitors [Hack #26] are by far the cheapest (less than $300) and most popular screens for in-car PC installation, so that's what I went with.

A Mini-ITX based computer

Figure 4-20. A Mini-ITX based computer

I had to do some adjustment to get the sharpest picture on my Lilliput monitor. I invested in a PCI video card with 3D capabilities and TV out, and fortunately the card I bought was compatible with a utility called TVTool (http://tvtool.info/index_e.htm). The Lilliput has a native resolution of 800 x 480 pixels, and TVTool was able to set the resolution to 800 x 484 or 800 x 480, both using the 75-Hz refresh rate. This put Windows in a true 16:9 (wide-screen) resolution and eliminated flickering on the screen. The onboard video of most VI A boards can't display 800 x 480, but the Lilliput can display an 800 x 600 image—it will just look compressed vertically, which you may be able to compensate for in your application software.

Installing and Mounting the PC and Screen

While a custom-fabricated dash installation of the screen is a very popular option, one of my goals was to have a PC that I could move from car to car. On the Lilliput units, the USB wires for the touchscreen and the VGA input are all contained in a single cable, which means that if need to I can simply unscrew the screen from the dash, unplug the cable, and quickly place the screen out of view from prying eyes.

To mount it on the dashboard I used a special mounting bracket from Dash-mount (http://www.dashmount.co.uk) in the U.K.—the bracket needs no screws, so when I sell the car there will be no holes left in the dash. To attach the screen to the bracket itself I simply used the thumbscrew that came with the monitor, slightly drilled out the center hole of the bracket, and added some sticky rubber pads to hold the screen in position (Figure 4-21).

My touchscreen mounted to the dash

Figure 4-21. My touchscreen mounted to the dash

I decided to install the computer itself in the boot (that's the trunk, for all you Yanks), still keeping to the goal of minimizing the amount of modifications I made to the car (i.e., drilling holes). To wire up the computer, I needed power [Hack #42] , ignition (ACC/KEY 12V), a very good ground, sound to the head unit [Hack #14] , and VGA and USB extension cords. For the power I used a three-pin "Euro" mains socket and plug and a 13A main cable. I ran the power down one side of the car and the sound and video down the other, to prevent interference [Hack #17] . For the VGA, I bought a 10-foot extension cable from a computer store. Finding audio cables was easy, but I had to fabricate the USB extension cables by soldering a USB socket and plug to CAT4 networking cable.

The benefit of a trunk install is that would-be thieves are unaware of the computer's existence. However, I needed a method to stop the computer from sliding around the trunk while I was driving that didn't involve modifying the vehicle. The answer came when I was looking at my brother's new car. He was in a rush to get his stereo and amps into the car, so he had used Velcro to put them in place. This held the amp to the carpet in the back and also let him quickly remove it at night. I decided to try this myself, so I went down to the local market and bought some Velcro. Once I got it home, I laid it out on the floor in a cross and placed the CPU on top of it. Then, making sure that the plastic hooks were facing down, I measured and cut them as needed. When finished, I simply took the whole unit, with the Velcro wrapped around it, and stuck it to the carpet in the boot (Figure 4-22). Success! And although I planned to replace it with a custom-built metal case drilled into the side of the car, I have never yet had cause to change the design.

The power of Velcro

Figure 4-22. The power of Velcro

One of the questions you may be asking yourself is, "Won't the hard drive get damaged when I drive over a bump?" It's possible, but I think in the several years I have been following car computers I have only heard about this happening once or twice. Still, there are ways to minimize the possibility, two of which I have tried myself. The first is to soften the impact by placing rubber in between the hard drive and the mounts where the screw attaches to it. (I got this idea from Hewlett-Packard, who used it in some of their desktop machines that I worked on a lot a few years ago.) The second option is to use a laptop (2.5") hard drive. Although they tend to be smaller and slower, the advantage you get is that they are built to take more shock and vibration than conventional 3.5" desktop drives—and the speed of laptop hard drives today is quite sufficient to play back audio and video.

Powering the PC

After looking at the various power supply options [Hack #42] , I decided to go for a highly recommended off-the-self option: the 90W supply from Opus Solutions (http://www.opussolutions.com). I knew that if I skimped on the power supply I could come back to my car to find it with a dead battery, or possibly even fry the machine.

Although it was slightly bigger than I expected, it was still smaller than its 150W bigger brother, and it fit very nicely in the unused hard drive bay in my Casetronic case. The Opus cost a fair bit more than many of the other options, but I felt that the extra expense was worth it because it gave me configurable shutdown options and low-battery protection for the car, as well as a clean ATX power output.

Peripherals and Controls

The primary interface for controlling the operation of my car PC is through the touchscreen and the custom skin I've made for the FrodoPlayer software [Hack #75] (Figure 4-23). I have also configured a wireless remote [Hack #56] , so that my passengers can control the music playing from anywhere in the car.

Audio Connection

Once I had installed my car PC, I had to decide how I was going to connect it to my existing car audio system [Hack #14] . I tried using an FM modulator, but the sound just wasn't clear enough for me, so I purchased a Kenwood head unit (KDC-W6527) that had auxiliary audio inputs and even worked with my existing steering-wheel volume controls.

In addition to connecting my car PC to the radio, I connected a USB radio to my car PC [Hack #19] . I used the D-Link DRU100, and I installed the drivers from a program called Radiator (http://radiator-fm.com.ru/indexuk.htm), as they are more stable and work better with Windows XP than the ones that came with the DRU100. With the USB radio, I can tune radio stations and set presets via the same touchscreen interface that controls all my audio.

My touchscreen interface

Figure 4-23. My touchscreen interface

Networking

One of the popular solutions for getting content from your home PC into your car is WiFi [Hack #64] , but this approach is much slower than good old network cable. Also, because car computers are designed to shut off soon after the car turns off (to save the car battery), if you download content via WiFi you actually have to leave your car on while your music downloads. I tried using WiFi anyway, but my house tended to absorb the WiFi signals too much. Although I could get a connection outside, when I tried to copy large amounts of data the wireless connection dropped a lot of it. To solve this problem, I installed the remote desktop program VNC (http://www.realvnc.com) on both the car PC and my laptop. When I need to copy content to the car PC, I simply use a crossover network cable—this solution cost me far less than buying wireless cards and a WiFi point, and it transfers the data quicker.

If you do want to connect to the Internet while you're out and about [Hack #62] , you'll more than likely need a Bluetooth adapter, a Bluetooth phone, and a contract that allows you access to a GPRS data system. You may find this useful for accessing certain web-based travel data sites (such as the U.K. Traffic Master system), so you can plan your route before you leave your departure point [Hack #65] .

Frontend Software

While Linux options exist, I found that most of the free frontend applications developed by and for the in-car PC community are Windows XP–based. The various car PC frontends tend to carry out the same functions, but in different ways. Most of these applications are also skinnable—that is, you can customize the visual look of the user interface to suit your taste. As many of them are under continuous development, I think it's a good idea to test several options before you make your choice. The main players in the freeware world that I looked at were FrodoPlayer [Hack #75] (http://www.frodoplayer.com) and Neocar Media Center [Hack #74] (http://www.neocarmediacenter.com/?language=EN). I found FrodoPlayer to offer the best options for visual customization.

After I installed all the supporting utilities, I installed FrodoPlayer and set up my preferences (such as my music and movie directories). I also placed a FrodoPlayer icon in my startup folder, so that when my PC started it would be the first application that was shown (hiding the Windows XP interface).

When choosing a skin, bear in mind that a touchscreen can be very hard to read in sunlight, so a darker skin can help the characters stand out better. I adapted one of the more well-known FrodoPlayer skins from Febsperanza (http://febsperanza.3plast.com), and once I'd changed the text and the "glow" of the buttons to match my dashboard color, I had an interface that looked like it came straight from the manufacturer (Figure 4-24).

GPS/Navigation

The first GPS software I used was Microsoft's AutoRoute, a quick application that supported my GPS system. Later, I switched to Destinator [Hack #71] . Destinator is one of the few PC-based systems that looks as good as factory navigation. It gives you touchscreen menus for planning your journey and excellent 3D views, just like a factory-installed system (Figure 4-25). More and more car PC applications are now supporting it.

I'm on my second GPS receiver now—my first one worked well, but it was purple and round and just didn't look good on my dash. I originally ran a single USB connection to the front of my car, with all the devices going into a nonpowered USB hub [Hack #51] . My new GPS unit is a power hog and demands more power than that USB hub could provide, though, so I ended up running a separate USB cable just for the new GPS device.

Movies and Music

Beyond navigation, the main benefit of my car PC is that I can play all of my music and digital videos in the car. I have been slowly converting all of my LPs and CDs to MP3 using CDex (http://cdexos.sourceforge.net), and I have a collection of music videos as well. When I finally got my PC fully installed, with my entire music collection available at my fingertips, I knew it was worth all the effort.

Designing my FrodoPlayer skin

Figure 4-24. Designing my FrodoPlayer skin

Destinator's 3D navigation interface

Figure 4-25. Destinator's 3D navigation interface

Conclusion

A car PC is a great thing to have, and it gives you features available nowhere else. If you put in the effort, you can create a unique, customized system that does exactly what you want and offers far better value than any off-the-shelf solution.

When you're planning and building your car PC, be sure to take advantage of the many online forums. These forums are extremely useful to the car PC community, as they enable people from all over the world to share ideas and hints, and even arrange local meetings to show off their work. I have attended a number of U.K. meets, and I've found them to be excellent opportunities for enthusiasts to meet up, see what others have done, and make new friends.

See Also

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required