When Ford announced it had begun working with Bug Labs in 2011, the pairing seemed strange. Ford is America’s oldest auto manufacturer, while Bug Labs is a quirky hardware startup focused on Lego-like device functionality. Just after the beginning of the new year, Ford released a finalized some of the fruits of that pairing: an open-source API for cars known as OpenXC.
Rather than Detroit leading the way on this project, T.J. Giuli and his team in Ford’s Palo Alto labs have been at the focal point of OpenXC’s development. “OpenXC is a research project focused on open-source hardware and software development for the car,” he said.
“On the production side, we already have our SYNC product with our production API called AppLink. That API was also opened up to developers” to link up to Ford’s in-car microphones and stereos, he said. “The big difference is, with OpenXC, we focus on getting a lot of the data that every car on the road today generate. Cars today are really big sensor probes. They have access to a ton of sensor data, and we translate that to an open format and an open API.”
Thus, while mobile application developers previously had the ability to link up to Ford’s in-car microphones and stereos through SYNC, OpenXC allows developers to simply access the lines of data that are flowing under the hood of every automobile.
“We offer things like steering-wheel angle, accelerator pedal position, status of lights, and window position,” said Giuli. “You can actually create quite a few applications with that. Maybe over time your application figures out ‘My driver like to have the windows down, period.’ It might try to optimize your driving experience. If it sees you’re driving above 50 MPH, it might give you a reminder that pulling up your windows reduces your drag, so using the A/C saves you gas.
“There’s a lot of this stuff we can scrape. We have access to button events, like steering-wheel buttons. There are some interesting ways you can get access to those events and interact through a program.”
Giuli also said that not all of the available data is accessible yet. He said the team at Ford is looking for the community to suggest what additional information should be accessible.
This traffic only goes one way right now. The ability to send any type of code back into an on-board computer is too difficult of a security risk to get around, said Giuli. But with all that data in the air, there should be plenty of resources for developers to play with.
And OpenXC isn’t just about the software; it’s primarily aimed at allowing plug-and-play peripherals for cars, said Giuli. That’s why Bug Labs has been involved.
“OpenXC is about open-source hardware as well as software,” said Giuli. “We’re primarily software developers for the project now, but we’re working with Bug Labs on the hardware side of the project. We don’t run OpenXC on any in-vehicle production hardware. We have an On-Board Diagnostics (OBD-II) dongle that fits into the diagnostics port of a vehicle, and we have hardware that does translation from the internal vehicle messages into a more readable format. We’re streamlining that hardware with Bug Labs.”
The project is hosted at openxcplatform.com, and Giuli said the team is excited to see what developers are able to do with it. He said that the data available for developers through OpenXC is quite extensive, and that developers can use Ford’s devices to collect data from their own automobiles.
He also said the team is working to improve the overall OpenXC experience in future releases. It will be working to lower the bar for entry into writing data-driven automobile applications, and it’s also hoping to speed up the emulator.