At comma.ai, one of the keys to our success will be interfacing with cars already in the field. You know what firmware version is on your phone and your TV, why not your car?
After years of secrecy, it's time to finally expose what's inside the thing you drive everyday. We'll be announcing some stuff to light a fire under the car hacking community.
Welcome to the future home of the highest quality car information on the internet.
To document the sensors and actuators in your car.
How to Help
There are 4 ways to help:
- If you have a car listed here your car is supported by OpenPilot and recording your drives with chffr (or OpenPilot) will help build data to improve route tracking and sensor understanding
- If you have a different new model Honda or Toyota that has both lane keeping assist (LKAS) and adaptive cruise control (ACC), there is probably already a port underway to your car. You should search/ask on the forums and get on Comma Slack and help with the porting.
- If you have a different make car with LKAS and ACC, you can get the Panda and use Chffr to record your drives. If you're a hardware hacker, check out the Giraffe source repo to start adapting Giraffe to your car. You can also use Panda and Chffr to start recording drives now and decoding what CAN messages are available from the diagnostics port.
- If you don't have a LKAS or ACC car, you can still help the research project by getting a Panda and recording your drives with Chffr! You will gain Comma points and help bring the future of self driving cars closer.
And if you don't have a panda, you can help document which cars have ACC, LKAS, and self parking. This is a great list to start from.
(you must have at least 500 comma points to edit this wiki)
If you are looking to get your EON up and running see the following guides
- Installing Giraffe
- Installing EON
- Running ChffrPlus on the EON
- Installing OpenPilot on the EON
- Configuring OpenPilot
- First OpenPilot Drive
The Eon is the three things that you need for your car. A dashcam, navigation, and music.
chffr is like a Fitbit for your car. It's a dashcam app that powers comma.ai's self-driving technology. For every minute you record you get one comma point. Pair it with panda and view your compatible car's messages in cabanaIt is available for Android and iOS
See the chffr wiki page for more info.
panda is a universal car interface. Panda's allow you to talk to your car over USB and WiFi. It supports 3 CAN buses, 2 LIN buses, and 1 GMLAN. The software is 100% open source and is developed openly. Top contributors will be offered a job, comma.ai has a budget to fund this development, as we win if cars are more open and easier to talk to.
Giraffe connects Panda to vehicle control buses that are not exposed via the standard diagnostics port, usually the LKAS and ACC sensors and commands live on these buses. There are currently 2 versions, one for Honda and one for Toyota. Double check the connector and make sure it is compatible with your LKAS camera.
See Installing Giraffe for help installing it
openpilot is an open source driving agent. It is capable of controlling the gas, brake, and steering on certain cars, reaching up to 6 minutes with no user action required (besides paying attention!). Currently works with Panda and Giraffe on some Honda and Toyota cars with many more Honda and Toyota ports currently underway. See How it works and Installing OpenPilot on the EON for installation instructions for EON
Cabana is a web application that allows you to inspect, label, and plot vehicle data collected by panda which can then be saved locally or committed to GitHub in the form of a dbc file. Cabana syncs panda data with chffr data for an extremely user-friendly reverse engineering experience. This allows you to easily scrub through video segments to target a specific driving event, such as braking, and label the associated CAN messages.
View example Here
The NEO and the EON run NEOS, a heavily modified version of android. See NEOS for more info.
neo is an open source robotics research platform. It is powered by a OnePlus 3(3T) smartphone and an STM32F205-based CAN interface board. EON is capable of everything that NEO is capable of.
See the neo wiki page for more info.
Is my vehicle a good candidate?
Vehicles made prior to 2015 are less likely to be a good candidate. The older the vehicle the less chance of support. Do not expect 10 year old car to be a good candidate without hardware modifications. Check the vehicle makes section to see if any information exists for your car. A little research into the systems below could indicate if your vehicle is a good candidate.
- Good candidate vehicles are normally not base trim models.
- Openpilot needs to be able to control the steering. Good candidates likely will have some sort of lane keep assist system or parking assist feature. Vehicles without one of these systems are less likely to have a built in system to control the steering. Openpilot also needs to be able access the current steering angle and control it over CAN.
- Currently openpilot needs radar. Chances are your car won’t have this unless you have some sort of forward collision avoidance system/adaptive cruise control.
- A way to electronically apply brakes. This is normally another feature that comes with forward collision avoidance. In theory some vehicles may have a way to apply the brakes with the ABS module but is still theory at this point.
- Some minor things that are also good for the car to have
- ABS (the car wouldn't know to pump the brakes so it is best if your car has this)
- Traction Control (again harder for the computer to maintain control of the car without it)
Adding support for my candidate vehicle
If your car is a good candidate for openpilot, this article has information on porting your car. https://medium.com/@energee/add-support-for-your-car-to-comma-ai-openpilot-3d2da8c12647
See list of to-do tests to validate your port: openiplot port tests
Can I modify my vehicle to be a better candidate?
There are ways to modify cars to be more compatible that would probably require adding motors, radar, and actuators. Use caution when doing this as it could affect your cars performance and safety. In general it’s better and safer to start with a good candidate vehicle than it is to modify braking or steering systems.
Details and information on different makes and models of vehicles.
If you would like to add your vehicle, please see the vehicle guidelines for how to make the data most useful to others.
- Chrysler (Dodge, Jeep, Ram)
- Ford (Mercury)
- GM (Buick, Cadillac, Chevrolet, GMC, Pontiac)
- Luxgen (S5)
- Honda (Acura)
- Hyundai (Kia)
- Mercedes Benz
- Peugeot (PSA)
- Toyota (Lexus)
(*) Note - Data is unverified until someone can confirm they are correct.
If you are having any issues with Chffr, Panda, or Neo please refer to the links below