A few weeks ago I went to the BoingBoing/Ford OpenXC Hack day, held at TechShop in San Francisco. About 40 or so hackers with different backgrounds came together to see what we could do using the new OpenXC open source interface to Ford (and other) cars. The system delivers about 50 performance variables from the car up to 60 times per second.
The resulting hacks were useful, intriguing, or just plain fun. I worked with a guy I just met, Steven Kryskalla, a developer from lumosity on a project that I had conceived when I saw the data available.
We built a real-cost-of-driving meter, which basically showed you in real time what your trip was costing. It incorporated the actual amount of fuel being used along with a charge for maintenance and ownership costs.
Seeing as we didn’t have an actual car to drive around and play with, we ran the tests for the device from 5 recorded trips made by a real car. The outputs from those trips were all recorded for the purpose of testing add-ons like ours. So the code was interpreting a stream of data from a file rather than direct from the car but it does the same thing. When the data was parsed, we made the calculations needed and sent the information over a serial port to an Arduino.
The cost was then displayed as a mobile Web page and a physical display that looked a bit like an old-fashioned taximeter, employing 7-segment LED displays driven by the Arduino. The 7-seg display is multiplexed (hence all the wiring you see) but controlled via a very cool library that makes it really easy to operate.
We managed to get the whole system working in about 6 hours of work and were awarded the Best Use of Data prize by the organizers.
You can see the code, which is available to play with and adopt at Steven’s github page. You can also see some (rather blurry) photos of the finished device here.
Thanks to BoingBoing, Ford, and Audeze for the experience and the prizes!