Geek my ride
by Jonathan Oxer, Geek My Ride
Geek My Ride is a project to understand and document the electronics in modern cars, and then to extend it to provide additional functionality not intended by the manufacturer.
Many people have mounted computers in their cars over the years (often referred to as a “carputer”) but they are usually large, high-power systems intended for desktop use and so they can only be run while the car is running. One of the objectives for Jonathan Oxer’s Mazda RX-8 was to have his car “live” and connected to the Internet 24×7, even when not being driven, so it was critical to select a low-power computer that could be run continuously without flattening the car battery.
An ALIX 1 was selected because it is fast enough to run a full Linux distribution (Ubuntu, in this case) but draws very little power (~6W).
A mounting frame was assembled to fit into a recess in the base of the RX-8 boot, with room to mount the ALIX 1, a USB hub, a charge circuit, and a deep-cycle 28A/h sealed-lead-acid (SLA) battery. The ALIX 1 runs continuously from the SLA battery, which in turn is charged using an “intelligent” battery charger which tops it up whenever the car is running. The charger is designed for topping up deep-cycle batteries from solar arrays but also works perfectly in this application.
The ALIX 1 is connected to a variety of systems in the car, including:
The OBD (On-Board Diagnostics) port under the dash is where a mechanic normally plugs in a laptop to run diagnostics on the engine management system. In Jonathan’s RX-8 the ALIX 1 is permanently connected to the port and polls the ECU every few seconds to store dozens of parameters about vehicle performance including speed, RPM, intake manifold air temperature, engine load, fuel level, fuel pressure, fuel injection mode, timing, and many other items. All data is stored indefinitely in a MySQL database.
3G mobile broadband
The car is connected continuously to the Internet so it can be accessed for remote diagnostics or even to start and stop the engine by remote control.
Jonathan has built a custom ignition manager based on an Arduino development board, allowing the ALIX 1 to have software control of engine start, engine stop, accessory power, door lock / unlock, and boot release.
The car acts as a mobile access point, allowing authorised laptops to associate with it to access vehicle management functions directly or share its 3G Internet connection.
A USB GPS receiver allows the data logging system to store GPS values with every set of engine management parameters, which can then be used to match engine events to locations, display direction information, or generate “tracks” showing previous journeys.
An RFID reader is mounted in the back right window of the car, and when it detects an authorised RFID tag it unlocks the car and starts the engine automatically. Jonathan has an RFID tag surgically implanted in his left arm, allowing him to unlock and start the car simply by putting his arm near the window.
Audio systemThe BOSE sound system in the RX-8 has no “line in” connection, so Jonathan opened up the head unit and soldered input leads to the CD player circuit board. The headphone output from the ALIX 1 was then connected through to the head unit. He then created a 60 minute WAV file of silence and burned it to a CD which is left in the head unit on continuous-play. When the CD is selected, any sound played by the ALIX 1 is injected into the head unit which plays it thinking that the signal is coming from the CD. The ALIX 1 can therefore play music and issue voice alerts through the existing sound system.
The car was featured at linux.conf.au in Hobart in January 2009 in a conference talk titled “Geek My Ride”, and was also displayed to the public at the Wrest Point Casino along with the highly modified Nissan 300ZX owned by Jared “Flame” Herbohn during the conference Open Day.
More information about Geek My Ride is available online at www.geekmyride.org.
– Jonathan Oxer, Geek My Ride