O2 Joggler Car Computer
When I first attempted to create a car computer for my MX5, I researched the various installations that others had done on the MP3Car forums. There's a wealth of information there provided by some very ingenious people.
A common method of installation is to use a laptop or netbook computer with an external 7" monitor, as they already contain a battery power source and are slim enough to fit under a seat or behind interior trim. I decided to go down this route by re-purposing an old laptop (placing it in a custom-made enclosure). As I'm a web developer/designer, the GUI would be written in HTML, supported by a native application (written in AutoIT) that would serve GPS and vehicle data to the GUI.
There were problems with this design. The laptop was slow to boot. This was before SSDs were readily available, and stripping down Windows XP didn't yield a significantly faster boot - an annoyance when accustomed to instant-on head units. Secondly, The USB monitor I chose to use would not display anything until Windows had booted fully. This meant that if the machine failed to boot properly (because it was doing a disk check or OS repair operation), I had no idea what it was up to. Additionally, I encoutnered a ground loop issue that I was unable to resolve. In short, the first attempt was a failure.
I decided to scrap the laptop and turn to another device, the O2 Joggler (also known as the OpenPeak OpenFrame). I'd recently acquired three of these at £50 a piece, directly fromm O2. This was a particular great deal, as the Joggler is infact an Atom-based tablet computer with a 7" capacitive display and Wifi/Ethernet connectivity. It's size, auto-power on feature and integrated nature made it ideal for in-car use.
Modifying The Joggler
These had been discounted from £150 to £50 primarily due to limited software and poor promotion. Despite their awesome potential they'd not sold well - so hackers were now picking them up for next to nothing and installing various flavours of Linux. I bought a few for future projects, so I set about preparing one for use in the car.
I re-used the modified Metra fascia from my previous attempt, as it already had a 7" opening for the Joggler's screen. I removed the Joggler's casing, then fixed the screen panel and main board together (and then the whole assembly into the fascia) with hotglue. As the (now removed) metal stand served as a heat sink for the processor, I added a number of aluminium sinks from my computer bits box, applying small amounts of hotglue to ensure they stayed on. Likewise the small power/audio/ethernet connector board was hotglued to the main board to reduce the chance of damage to the ribbon connector. I additionally plugged USB extension cables into the internal and external USB ports for use with an external HDD for the OS, and potentially a GPS/3G dongle in the future (as Wifi was no longer required).
With the Joggler modified and installed in the fascia, I was able to power it up with the standard mains PSU to ensure it was still working. The stock OS actually looked quite smart within the new frame - but it didn't provide the functionality I required. Instead, I would run a bespoke version of Ubuntu, prepared by Stephen Ford of the Joggler forums. This would boot from an external HDD within a USB enclosure.
At the time, Windows XP and 7 had not been ported to the Joggler. Ubuntu was the only viable OS that offered a web browser for my HTML interface - which I still planned to use.
Amplification & Power
The Joggler provides a 3.5mm audio output jack and has no internal amplifier. As such, I needed to obtain an amplifier to sit between the Joggler and the car's factory speakers (which I would not be changing). As space was limited behind the dash (and I wasn't looking to do a 'boot installation' with some ridiculously oversized amplifier, I choose a cheap eBay 'motorcycle amplifier'. These offer acceptable sound quality without costing a great deal. This particular one also came with proper interlocking speaker and power connectors rather than a crappy spring-terminal setup as many others did. I soldered this into the appropriate connections on my Metra wiring adaptor.
To provide power to the Joggler, I looked for a DC-DC converter that would drop the car's 12v accessory voltage down to the required 5v. I came across a company called Current Logic that offered ideal converters for under £20 each. At 25 and 50 Watts respectively, to two I ordered were each more than powerful enough to drive the Joggler and various other USB devices at the same time. I only needed one, but there were too good a deal to pass up and I wished to make the most of the shipping cost.
For all power connections behind the dash I used 4-pin ATX Molex connectors. They were perfect for the role as they carry high current 5v and 12v lines by design, and I have many available from old ATX PSUs. A single spliced-in line to the wires running up to the car's cigarette lighter socket offered a concealed connection with no modification to the existing wiring.
Installation & Testing
Like most cars, the MX5's steering wheel controls are based on a resistor network. Only two wires run from the wheel - pressing a button on the wheel grounds the two together via a resitor (each button having a different resistor value). To allow the car's steering wheel to control the Joggler, I needed to decode the steering wheel's controls and pass them on as keyboard commands over USB. Thankfully someone has already made a device that does just that: the Joycon EX reads these resistance values and translates them into keyboard keypresses. I'd used this before with my previous attempt - and because the Joggler was a full X86 machine with full USB host capabilities, it would work fine here as well with Ubuntu.
Once the whole assembly was installed, I booted the Joggler into Ubuntu. The first startup was quick, and as I had configured the browser (Chrome) to auto start (and set the home page to my localy-stored HTML interface), it immediately displayed my music playback interface. An initial noise issue was partially by adding an inline filter to the audio connection.
Unfortunately after continued use, some issues with the setup became apparent. Firstly, the boot time of the Joggle (with Ubuntu) started to increase dramatically - to the point where it would take minutes to start. Additionally, the OS (and particularly Chrome) has proven to be unstable - crashing regularly. Not being a Linux expert, I've been unable to rectify either issue. The Joggler hardware however, has worked flawlessly since installation.