Robertdot

Main Site Navigation

Carputer Project

Introduction

Quick Notes

Articles I've read and items I'm considering purchasing for this project can be found in the Carputer Project area of my links page. The project Blog can be found in the updates section. Updates are in reverse chronological order.

Why Not?

I always thought an in-car computer (carputer) would be nifty to have around. I was never super excited about the common possibilities of MP3 playback, etc. I just liked the idea of staying wired while I was on the road. Before now, I just thought it was a cool idea. Now, it's starting to look like a viable option after paying off some debt and being motivated by cool projects like StompBox.

At first I was reluctant to do the carputer in a sports car. It didn't seem like the place. A carputer, I thought, would be much cooler in a wagon or SUV. But, I gave in. The RX-8 is pretty a technologically advanced car. Why not do it?

The Platform

The carputer will be installed into my 2004 base manual Mazda RX-8. Since it is a newer vehicle, the ECU plays a major part in how the car operates (from climate controls to fuel management). The base model I have lacks some annoying (for a sports car) features, such as sunroof and traction control. It has, however, an incredible rotary engine, and superb handling. That is, it goes and stops pretty well.

The Wishlist

As with most projects, I started with a wish list. This can be divided into three parts: tasks, hardware, and software.

Tasks

By tasks, I mean the things I want to do with the system. This will, to some degree, determine what kind of hardware and software I need.

First and foremost, I want connectivity. That means I should be able to browse the web and check my e-mail. Assuming it works, this would make the project worth the time. But, I could just get a laptop for this, so there must be a larger feature set built in.

GPS Navigation is an option on most cars, including mine. I opted out, since I didn't have any solid plans to leave Alabama when I was looking at cars. After getting to LA, the need for GPS Navigation is pretty apparent. Retrofitting the car with the stock nav unit would cost $2,000. For $2,000, I should be able to complete this custom project with tons of other features than just navigation.

GPS Tracking would be nice, much like in the StompBox project that I mentioned above.

While I've got GPS, logging data about my location would be nice (e.g. elevation, but this will probably require additional peripherals).

I want to run several cameras (forward facing, reverse, and one pointed at the driver) and have the images uploaded to the 'Net if there is a live connection around. This is for security, usability, and fun reasons. I'm sure you can figure it out. Pulling live video upon request would be nice, as well.

I want to interface with the OBD-II / CAN bus built into my car for diagnostic and logging purposes.

I want media playback! This means DVD, DivX, MP3, etc.

I want to be able to rip and burn CDs and DVDs.

I'd like to have some sort of distance sensors on the 4 corners and 4 sides of the car. This, however, may not be tied into the carputer project.

Voice controls are a great way to navigate. I should be able to do common tasks without looking at the screen (or even having the screen out).

Hardware

The mainboard needed to be power efficient and small. For quite awhile, Via Technologies have been coming out with some innovative mini-itx mainboards that get put into all kinds of places. These seemed perfect for carputer applications. With tons of options built into the board, they are pretty robust. They aren't power houses like Pentium boards; however, I'm not trying to make a desktop machine. I'm trying to make a computer to fill a very particular need. Speed is not much of a priority as long as the speed it runs at will run the applications I want it to run. I'm torn now between the Via SP8000 (has more multimedia capabilities but needs a DC to DC converter) and the Via TC6000 (lacks MPEG4 decoder, but has DC to DC onboard, and has chipsets supported by LinuxBios)

The monitor needs to be touch screen. Having a keyboard and mouse floating around the cabin is not a very efficient way to do things in a car. So, a capable touch screen monitor is needed.

A mic will need to be placed near the drivers side for voice integration.

The power supply should be DC to DC. This will allow me to make a more integrated solution instead of working through the extra components / size of a DC to AC converter (which would then convert back to DC for the computer to use). Further, I'll need some kind of power management, or at least use file systems that don't care if they don't cleanly unmount (which will probably be the option I go with).

Since connectivity is important, I want WiFi. Even if the whole war driving thing doesn't work out, at least I'll be able to transfer things to my computer without having to bring it in the house (which would require switching the power supply).

Bluetooth is needed, as it will integrate with my cellphone, and any other wireless devices I might need, such as a keyboard and mouse for backup.

For the various media tasks, I'll need a CD-RW/DVD+/-RW. The smaller the better. If I can score a laptop sized drive, that would be most efficient space wise.

This computer needs to boot fast. While I'm not sure if it is possible now, I'd like to boot from a compact flash card. With 512 MB cards costing around $60, I should be able to put something Knoppix-sized on it and read it into RAM. I still haven't thought about the intricacies yet, but that seems like the most viable option. It would guarantee my OS wouldn't crap out randomly.

I'll need a sizable hard drive to store media on. The data stored on this drive will be trivial. Most of it will be media loaded from my desktop computer, stills / video from the cameras, and any media I acquire while on the road (e.g. CD rips). Due to it's trivial nature, I don't want to spend 3 or 4 times as much on an extreme temperature / shock sensing hard drive. I'd rather make attempts to protect it and see what happens. I may reevaluate this if I lose a couple drives.

I want cameras for various reasons. I've seen Fire-i Camera that can daisy chain and runs on Linux. This would be one way to go, though the price is hefty. With USB 2.0 available on the SP8000, I should be able to easily keep 3 cameras running and have bandwidth left over. I'll probably take the USB rout, but I still need to research cameras.

All this hinges on one final piece of hardware. The Advanced AuxIn Module for my car. The headunit on the RX-8 is tied into the climate control, so just replacing it isn't an option. The Aux In Module is being built by some guys on RX8Club. The non-advanced module is out and functioning. It allows audio input to the car. However, the Advanced Module will allow steering wheel controls to send commands out. I may be able to integrate that into the software, which would be very worthwhile. If not, I can always solder in my on aux port, but that is an inelegant hack...

I'll be building a custom enclosure to help cope with the temperatures my trunk achieves.

Software

If it wasn't already apparent, I want to run this on Linux. With projects like Linux from Scratch and Gentoo that allow you to customize your install, this is the best option. Windows just doesn't offer this kind of flexibility.

I'd really like a custom easy-to-use interface. I thought about Windows at first because Visual Studio would be a quick-and-easy way to get the basic setup. However, I'm committed to using Linux because it is the most flexible option. I've never done any software development on Linux outside of PHP and a few shell scripts. I'll have to see what IDEs they offer and assess the time span it would take me to hack something together.

However, I'm pretty sure that I'm not going to be able to integrate everything into one clean interface. That means I'm going to have to fall back to the Window Manager at some point.

I've looked at several GPS Navigation solutions. I won't be able to test them until I get (at least) a GPS unit.

Install Notes

I wanted to make some pre-install install notes. That is, I want to write down where I plan to put everything before I get there.

Screen

The screen will be located where the stock navigation would have gone. With the non-Bose and non-nav, the area is completely empty under the pannel. I would like to hide a web cam, as well as the screen in the hole. The screen will be hide-able and should be rotatable to offer viewing to different areas of the car.

Box

The box will be kept in the trunk. If I place it near the speakers, I may be able to rout cabin air (which will be cooler than trunk air) into the fan system to help with the temps. The trunk will also offer more room for any needed expansion. The only drawback is that the CDVD drive won't be accessible. However, I don't anticipate this to be a problem, as the only time I would need to put media into the CDVD drive would be if it were a DVD and wasn't my DVD. CDs could be play in the regular CD player, and (while they technically shouldn't be playing while I'm driving) DVD's should be loaded while stopped.

Antennas

With the box in the trunk, I should be able to rout all the antennas into the rear window. They should get decent reception there. The only worry is the defrost bars run through the window. I doubt this will be a problem. If it is, I'll revise my plan.

Other Wiring

Any other wiring will be done through existing wiring paths. I plan to have user-accessible line-in, USB ports, and FireWire ports (if I have any open).

Updates

20060329 - Neglect

I had to put this project off for an indefinite amount of time due to cash constraints. It is not forgotten, however. It is on my to do list for this year. I am starting on my PVR project in April. I'll be using the same motherboard for that project, which should shed some light on this project. Sorry if any of you were waiting with anticipation...

20050731 - Sony Ericsson s710

I got my new phone Friday. It turns out that it can interact as a Bluetooth HID device. That means I could use it as a mouse for my carputer (and I have used it as a mouse for my Mac). While it was a rather expensive investment, it does a lot and could be helpful on the carputer.

20050710 - DirectFB

X Windows is big and bloated if you don't need network transparency. Linux has, for awhile, had Frame Buffer. Frame Buffer creates a simple interface to video hardware. This allows consoles to be run directly on the frame buffer in high resolution. DirectFB takes frame buffer and runs a window systems on top of it. It lacks the bloat (as far as this project is concerned) of X Windows, and, therefore, is much smaller. DirectFB was designed for embedded devices, such as a carputer. I tried to get this running about three years ago to no avail, but, assuredly, the newer Via boards should have what it takes to run DirectFB. For future reference, I will be attempting to use DirectFB instead of X Windows to keep my install size down.

20050709 - LCD Placement

I got my screwdriver and shop manual out yesterday to do some research. In addition to the usual nicks and scratches my car offers me when I try to tear it apart, I gleaned some interesting knowledge about how everything is put together. I also learned (again) that I just can't be gentle with the parts. They are designed to be difficult to pull out, so I have to put that much more muscle behind it.

The task for yesterday was to see about LCD placement. In order to do that I had to remove the panel above the above the head unit, which I will call the navigation panel for lack of a better title (howto). It took me two hours to disassemble everything largely due to inexperience. I think next time I could knock it out in half the time or less. Unlike when I mess with computers, I came out with one extra bolt, and I know where it goes.

I took photos of everything and measured for the LCD. Unfortunately, I took photos of the measurements instead of jotting them down. The measuring tape got over exposed in the photos, so it is unreadable. Never the less, I know there is enough room to fit the LCD quite comfortably.

20050704 - Voice Control Research

Gnome has built-in text-to-speech (TTS) in its accessibility options, as well as an on-screen keyboard called GOK. I installed the necessary components via Gentoo. All the TTS is run through Festival, a command-line TTS program that I played with ages ago. As with every TTS system I've used, the speech is very computerized and sometimes hard to understand. This was further exacerbated by the fact that I could only get the British-accented voices to work. Festival, as I'd read, is very slow. This was a one-night try, however. After I get the motherboard, I'll have more time to play with it. There is also a KDE option. However, if it is as big of a pain in the ass to configure, I will be using the PC motherboard for my PVR project, and I'll order a Mac Mini (which will invalidate much of the research I've done thus far).

20050627 - Voice Control

Dan brought up an interesting point at lunch. He suggested, since the TouchScreen LCD is so expensive, to just make it work on a few buttons and voice commands. While I still think an LCD is needed, being able to operate as much of it as possible with voice controls is really great. I don't know how much support Linux has for voice control / text-to-speech. I may have to reevaluate if it's poorly supported, in favor of a Mac Mini, which will have OS X's really great voice control. I added a note in the Tasks area.

Closing Information and Links List

© 2001-2008 Robert Brodrecht