Linux Carputer Guide 101

Building a carputer the most difficult, expensive and rewarding do-it-yourself (DIY) projects I have ever completed.  If you own a car manufactured in the last 20 years, the chances are it has a specialized computer inside – the Electronic Control Unit (ECU) is a computer which originally only controlled fuel injection.  In today’s cars, the ECU is responsible for more than just controlling the powertrain.  Many standard features of cars produced today are monitored by the ECU, including emissions control, fuel saving, airbags, ABS braking systems, climate control, and many more.  In a few short weeks I’ve found it to be the best investment I have made in my car.  On the surface, the idea is simple, just take a computer put it in the car.  In reality, it is several times more difficult than installing a car alarm or replacing a factory head unit with an aftermarket radio.  Before you start, you need to ask yourself six questions:

How much can you spend?
What computer hardware do you need?
How will you interact with the computer?
How will the computer be powered?
Do you want any special features?
Where is everything going to fit inside the car?
Let’s find out.

Budgeting for a carputer DIY project is difficult.  Unless you’ve completed a similar project recently, you may not be able to find the tools needed for the job even if you own them.  Before buying computer hardware, tools, or even spending a dime, stop and estimate the total budget for the project.  A good rule of thumb is to take your initial estimate, and add 50% to the total.  If don’t have a significant tool collection already, be aware before you start that the right tools for the job can cost a significant amount of money.  Plan ahead and shop online for the best deals and make a checklist of everything you plan on purchasing, it can only save you money and plenty of headaches in the long run.

The hardware side of things is not a simple equation.  No two carputers are going to be the same, since each installation has different needs. I’ve seen some full size computers with quad-core desktop processors installed in a car!  Most people go for something smaller, since much more than a 1GHz is overkill for playing music and watching the occasional DVD.

Using a mouse and keyboard is impractical and not the safest way to control a carputer, so something a bit easier to use is in order.  Touchscreens provide a centralized display unit for the PC and with a driver-friendly interface, can be just as safe as any factory installed navigation system.  Two notable manufactures of touchscreens are Lilliput and Xenarc.  Both provide different sizes to fit nearly any car, features and native device drivers for Linux. 

Powering the carputer is one of the first problems you might think of when envisioning putting a car into a computer.  Some computers can be powered by a DC to AC converter, but I do not recommended for a permanent installation.  DC to AC adapters are notorious for introducing alternator whine into the audio system.  The best option in most cases is to use a specialized DC to DC converter that will take the 12 volt output from the car, and convert it into the necessary voltages for the carputer and plug right into the motherboard.  If your system will be using a laptop, it should be relatively easy to find a DC adapter that will plug into a car power socket.

Special features a carputer is capable of are endless.  Anything you can do on a regular PC can be done in the car.  Internet access provided by most mobile phones and a Bluetooth tether can provide a valuable asset for any commuter: GPS navigation with real-time traffic updates.  Another example would be backup camera that automatically switches on when you put the car in reverse.  If you can imagine something, it is not only possible, but someone has probably already done the legwork required to get it working.

Where the carputer is installed is dependant on space constraints, and is completely up to you. 

The planning stages are critical to this DIY project.  If you’re not careful and ask questions along the way, it’s reasonable to expect wasting money on components that are incompatible with each other or not suited for the purpose you need.  You will also need to be familiar with the electrical system in the car.  Wiring diagrams will go a long way towards knowing which wires you can use.  Most motherboards and all laptops have on-board sound cards which may be more than suitable for the project.  If you plan on using a FM modulator or auxiliary input on a head unit, you probably don’t need to upgrade to an external USB or PCI sound card.  You may run into unforeseen problems with on-board sound (engine noise) that may require using an external sound card to isolate the issue.

On the hardware side of things, some choices were deliberate, and others were just lying around the house.  I used the following components in my build:

Lilliput 7″ 629T LCD Touchscreen
Asus EeePC 4G
LG External DVD Burner
Pharos iGPS-500 USB GPS
Generic Bluetooth Adapter
LaCie External 500GB Hard Drive
Four-port USB Hub

I chose the Lilliput screen for the excellent sunlight-readable display and slim LCD internals with LED backlighting.  Other affordable options were explored and in the end it simply came down to what was available for the best price.  There is no “right way” to choose a display, just find one that has a few user reviews and go with it.  Don’t be tempted by the perfect product that claim to be shipping soon that have been announced yet remain in perpetual development. 

Carputer First Time Bootup

The Asus EeePC sub-notebook is a near-perfect choice for this application considering size, power, and screen.  It runs Linux to begin with, so potential problems with drivers are easily avoided.  Also it has its own battery power, so it can be powered on independently of the vehicle electrical system, avoiding unnecessary car battery discharge.  The seven inch display on the EeePC runs at the same resolution as similarly sized carputer displays.  The only downside is no optical drive, and finding one that would power on with a single USB cable was time-consuming.  For GPS capabilities, I selected the Pharos iGPS-500 after verifying Linux compatibility, positive reviews, and price.  Everything else was lying around the house.  The only item that is powered by an AC to DC adapter is the external hard drive, because of the oddly shaped power plug and reluctance to slice open the only cable I have for it.

Depending on the level of your expertise and time available, you may want to cut the project into multiple weekend projects.  I split my project up into four sections:  Radio (Head Unit) relocation, software configuration, touchscreen install and wiring.  Due to inclement weather, the touchscreen installation ended up taking one weekend for fabrication and another weekend for the actual install into the dash.

To move the radio from the dash to the glove box required adding 2 feet of wiring and removing the glove box.  I used 14 gauge wire purchased at the local hardware store and quick splice connectors lying around my toolbox.  I bought a single-DIN under-dash mounting kit from Metra.  After flipping it upside-down, it needed a little work with the Dremel tool to cut it to length for a nice fit inside the glove box.  The most difficult part was to get the wire harness for the radio around support beams inside the dash.

For software, I tested LinuxICE (In Car Entertainment) distribution.  LinuxICE is paired with nGhost front-end for a driver-friendly UI.   It is currently in development and suitable for basic needs, however I wanted a bit more.  I decided to go with the latest release of Ubuntu, and the only issues that I ran into with the UI was the size of fonts and icons with the low resolution of a 7″ screen.  A customized Ubuntu installation can be potentially more useful than a specialized distribution.  For GPS capability, the best option for this particular application is RoadNav, which has decent resolution maps and renders maps in 3D with the drivers point of view in mind.  During setup, I installed proprietary codecs for DVD playback, MP3 and WMA audio, as well as Xvid and DivX video.  Compiz Fuzion is not generally feasible to use on the small display.

The touchscreen installation was the most difficult portion of my installation and took much longer than I first expected.  I have very little fabrication experience.  After reading many fabrication how-to guides for people with no skill, I was confident enough to take the Lilliput touchscreen housing apart, and took out the Dremel tool.  I cut the original LCD bezel to fit the area provided by moving the radio.  Some initial difficulties were encountered by using the highest speed setting on the Dremel, which resulted in the cutoff disc getting too hot and melted plastic.  After switching to a lower speed setting and making shorter cuts, I had no more problems with this.  Additional removal of some plastic on the rear of the center console was needed to get a perfect fit.

To permanently mount the bezel in the dash, I tacked it in place using a hot-glue gun so it wouldn’t move around and used two-part plastic epoxy to fuse the two peices of plastic together.  The Lilliput LCD has several internal printed circuit boards which needed to be mounted behind the screen.  I did a test fitting with foam-backed poster board to electronically isolate the boards and avoid shorting them out.  After everything looked good, everything was sandwiched together.  The ribbon cables inside are extremely delicate.  After everything was all set, I powered it on to double check everything was working.  Installation into the dash once everything was fabricated was more time consuming than I expected.  There were some clearance issues, which eventually were solved by removing the audio/video/power cable and snapping the console back in place.  I was able to reach behind the dash to connect the cable once it was installed. 

The solid state hard drive and Celeron M processor of the EeePC uses very little power and was one of the main reasons why I chose it.  I purchased a car adapter for it and spliced it into the existing wiring for the power socket in my car.  To get the audio signal from the EeePC to the car speakers, I used a 1/8th inch audio jack extender from the output of the Eee to the auxiliary input on my head unit.  Lots of zip ties and electrical tape were used to get everything tidied up.  The laptop went under the driver seat, in a small tray fastened to the interior carpet with velcro to avoid having it shift while driving.

I have purposefully avoided making this article into a step-by-step how-to guide.  Each carputer is a unique creation of the person installing it.  There is no way every possible configuration could be expounded upon, so I’ve given you the basic knowledge needed to get started and some extrapolation on what, when, where, how and why my carputer installation succeeded.  The entire project emphasizes the flexibility of open source software, which is one of its core strengths.  I’ve looked into various options available for other operating systems, and although most commercially and proprietary licensed products may have undergone more spit-shine treatment than what is available for Linux, they certainly do not allow the user to exercise their personal do-it-yourself creativity as well as a Linux-based carputer can.

Wayne Richardson is a IT administrator for a startup game developer in Austin, Texas.  When he isn’t suffering from rug burned love handles (don’t ask, long story) while installing a carputer and ferociously wielding a Dremel tools, he runs a popular Linux blog called “fsckin w/ linux” at http://www.fsckin.com

Sidebars:

Reccomended Tools:

* Dremel Tool
* Screwdrivers
* Pliers
* Wire cutters
* Wire crimper
* Scissors
* Soldering Iron
* Hot-glue gun
* Bondo
* Sanding paper
* Paint

Tips and Tricks:

* Running wires along existing paths when possible, which will save time and the end result will not be a rats nest of cabling strewn about your cabin.
* To avoid possible signal degradation, do not run audio and power wires together.
* Set reasonable goals:  Plan on spending twice the amount of time you expect, just in case something doesn’t go quite as expected.
* Have backup transportation available for trips to the hardware store.
* Check local laws before using your carputer on the road.  It may be illegal in some areas to have a movies in the field of view of the driver.
* The service or parts department of your local car dealership can usually bring up very high detail views of the components in your car on demand and possibly assist you over the phone.
* An internet connected laptop or PDA in your work area can be a godsend.
* If a product is out of stock, pick a date you’ll be willing to wait for it and stick with it.

Possible Features:
*     Music: CD audio, MP3, WMA, Ogg, FLAC, Sattelite Radio, AM/FM Radio, USB Turntable
*     Video: DVD, VCD, Xvid, DivX, Rear-view camera, TV Tuner
*     Navigation: GPS, Geocaching
*     Internet: EDGE, EVDO, Wi-fi 802.11b/g, weather, live traffic data
*     Cellphone: Bluetooth, USB synchronizing
*     Diagnostics: RPM/Temp/Speedometer, ECU error codes
*     Video Games: Native or Emulated
*     Vehicle control:  Windows, door locks, trunk latch, climate control.
*     Other:  Radar detectors, Printers

References:
MP3Car Forum FAQs
LinuxICE
Car Wiring Diagrams
Customizing Ubuntu 
Sharing iPhone Internet
GpsDrive
Touchkit Drivers
Asus EeePC Car Adapter

In other news….

It’s been nearly a month since my last post – Yikes! Let’s list the new things in my life since my last post:

City – Austin is one of my favorites cities I’ve ever lived in.
Job – Doing IT for a game development company. Who can ask for a better job?
Car – I’m now a proud owner of an Infiniti G35 Coupe. It is quite possibly the best car I’ve ever dreamed of owning.
Game Console – Did I mention the XBOX 360 is compatible with Linux? Definitely topic for an article. :)

So what else is new? Ohhh right. Linux Journal put the kibosh on what I’ve been calling my “secret project,” since it’s the largest article I’ve ever written and took about a month to finish. The Journal decided that they don’t want it, I’ll let you guys have it. It’s in exactly the same format as submitted it to LJ. Enjoy!

  • http://www.bioslevel.com Colin Dean

    Dag, yo. I’m jealous not only of your carputer, but your G35, too. I want a Skyline sooo much and the G35 is the closest it gets until the GT-R comes out next year, and I certainly wouldn’t be able to afford it.

    I assume, then, that you put the carputer in the G35? I’ve got a 200SX SE-R which may or may not get a carputer soon, depending on if I can make it sufficiently portable (car’s got maybe another two years on it before it loses too much value to be worth anything when I trade it in or sell it).

    What was your total cost?

  • http://www.fsckin.com/ Wayne

    nice ride colin. Ive always liked those cars The carputer went into my celica that I sold to avoid trailering it cross country. One of my sisters bought celica, another sister bought the asus eeepc.

    It would take some major balls to cut into a G35. :)

  • HaXiT

    Wow, that is a serious ride. When I get a car, you just gave me a few ideas of what to do with it. Dude, my ride is gonna be linux on wheels :P I am thinking of making a bootable install station :D

  • http://schestowitz.com Roy Schestowitz

    About LJ, s* happens. You have a great blog. use it.. :-)

  • radical

    Very nice! Do you have any suggestion for a 1 Din (in dash) tft display? I only found one without player capabilities… (xenarc 700 idt)

  • http://nmwoodworks.com/life BillinDetroit

    How’s about a few words about sensors for rpm, fuel and so on? Frankly, I think you are on to a good topic … I’d sure hate to see it fizzle out here.

  • PredatoryFern

    Well well well, that is a VERY nice car mod Wayne. Glad to hear you’ve made the move safely and you’re enjoying your job.

    Very nice article indeed. I think a VIA Pico board or something micro-ITX would be good for that kind of use if it were driver/device compatible.

    Looking forward to your next article!

  • Pingback: 3 » Linux Carputer Guide 101

  • moof

    Yo that is cool but you may want to check the best CarPC…

    https://www.timekiller.org/carpc/index.php

  • http://ibeentoubuntu.com Daeng Bo

    Dude, stopo fsckin around and control the blog spam on your site. Your “rm -rf /” article has how many blog spam comments now?

    Let’s count, shall we? 1, 2, 3, 4, 5, … oh, well, my ADD won’t let me really count about 50, so it’s pointless. The answer is TOO MANY.

    Oh, yeah, and I wanted to disable e-mail notifications for this so that I don’t have to have my inbox filled up, but that doesn’t seem to be possible.

  • Bob Jones

    “Many standard features of cars produced today are monitored by the ECU, including emissions control, fuel saving, airbags, ABS braking systems, climate control, and many more.”

    ECUs have controlled emissions since they came out; it’s always been an integral part of fuel injection. There’s no such thing as “fuel saving”. Airbags, ABS, climate control, and “many more”, have NEVER been included in ECU functionality…the only extension has been antitheft functionality and traction control (not the same as ABS.) Most of the functions you mention are handled by other electronic modules or computers.

  • http://www.fsckin.com/ Wayne

    Daeng Bo – yeah… site maintainance has been really sliding. been very busy at new job. i fixed up some of the spam, you’re right, it’s bad.

  • http://www.imeem.com/people/UrLHU6j oriepaikedsila

    Very nice!!

  • http://www.openice.org Chris

    If you’re looking for linux software for your car-pc, check out http://www.openice.org The guys over there are developing an entire linux operating system dedicated to in-car computing.

  • Craig Huffstetler

    If you’re running WordPress, run the upgrade to current 2.6* and use Akismet — and just get your comments up-to-date and moderated. It does a good job with its spam database. And it’s an excellent plugin. It may help with the spam issue(s)…

  • Craig Huffstetler

    Sorry looks like you are running 2.6* — is Akismet enabled or another spam module that has a spam database that is consistently updated and do you mark comments as spam or just delete them?

    Marking as “spam” kind of teaches the system (like an intelligent system, more or less…) about your site and spam patterns. I was just curious and wanted to be a bit helpful to wrangle these item.

    It’s definitely not as bad as it could be ;-)

  • http://antiquerugslosangeles.info nancy walters

    It a nice site collecting all info about rugs.
    I use to buy these rugs and i need this information.
    Thanks for your time to post this article.

  • http://achineserug.info anna michel

    Thanks for providing information and prices of different variety of shopping product. I need this info because i am using online shopping services.
    Thanks

  • http://antiqueragrugs.info Laura

    Thanks for providing me such an important information about rugs and there variety. I m looking for this type of information that i get from your site.
    Now i look for your post regularly.

  • http://www.ubuntumini.com pHreaksYcle

    My man, great story, I’ve always dreamed of doing this and you’ve put me in a sort of direction that I never had, especially in the way of how to do touch screen capability.

    This is where my question takes place: by “native linux drivers” do you mean it’s plug and play or do you need to install them? How exactly do you install a linux driver from a cd or something? I’ve never even heard of it!

    Thanks, and keep up the good work!

  • http://www.extremetoaster.com/ Chris

    I recommend TangoGPS instead of GPS drive.

  • http://www.streamlatestmovies.com SpliceecilpS

    Splice (2009) – Cam Rip – Stream/Download Links: http://extramina.com/english-hollywood-movies/splice-2009/

  • http://www.petrolleafblower.info Petrol Leaf Blower :

    for car speakers, i use Kicker Audio. i think Kicker is the best brand of car speaker.’-

  • http://www.capricornian.com Capricorn Horoscope ·

    car speakers should always be a three way system composted of woofer,mid-range and tweeter ~’-

  • http://www.fsckin.com/2008/06/26/linux-carputer-guide-101/?& Corwin

    Hey there! Don’t you use Myspace? I’d love to follow you if that might be okay. I sure am undoubtedly enjoying your site and expect new blogposts.

  • Isabell Macleod

    Modern vehicle manufacturing nearly always includes a complete system of some kind from the factory when the car is assembled. This is referred to as the ‘stock’ system, or OEM system. These systems can be supplied by an exclusive vendor to the manufacturer to their specification, or other company that specializes in design or production of such equipment.-

    Most up-to-date post provided by our new blog
    <http://www.foodsupplementdigest.com