Welcome to the Tesla Openpilot Wiki!
We're just getting started filling this out, so feel free to jump in and help document things that need to be here.
This port is currently focused on the Pre-AP Teslas from 2014 and earlier. The EPAS (Electric Power Assisted Steering) unit on these pre-AP Teslas is capable of steering itself based on electronic commands like the AP1 and 2 Teslas, but since they don't have autopilot there's a kill signal that is sent to disable this feature. Because of this, we have to proxy the CAN-bus messages through the panda which will alter that kill signal and change it to an enable signal. To accomplish this, you have to remove the frunk liner to get at the EPAS unit, and unplug the factory cable and plug in a bypass cable that allows for this proxying. This cabling also allows OpenPilot to send the steering commands to the car.
Here's what you'll need to get OpenPilot working on your pre-AP Tesla
- Tesla Giraffe and Wiring harness. Contact @appleguru in the #tesla channel on the comma slack to arrange purchase. There are 2 different types of Giraffe, so you need to know if your car was manufactured before or after May 31, 2013
Instructions to set it all up
(this is very much in progress and not yet complete)
- Make sure your Eon is up to date This will bring you to the latest version of OpenPilot and update your EON to the latest version of NEOS. If you have problems they aren't Tesla related, check the other wiki / slack places.
- Install the wiring harness to the EPAS unit and the OBDII port in the driver footwell
- Install Panda on Giraffe ODB2 port (driver footwell)
- Run the 10 foot USB cable from the EON along your headliner, down the driver side A-Pillar, and down to the Panda
- Connect EON to Panda via USB cable
- Install custom tesla branch of OpenPilot on your EON by doing the following:
- cd /data
- mv openpilot openpilot.stock
- git clone https://github.com/jeankalud/openpilot.git
- cd openpilot
- git checkout tesla
- Update your Panda while SSH'ed in and Panda connected to ODB port and EON connected to Panda via USB (perhaps) - automated soon - Do we need to do this without data on bus?
- cd /data/openpilot/panda/board
- killall boardd
- make clean
- make recover
Most of the action is happening in the #tesla channel on the comma slack: https://comma.slack.com
Current Tesla branch URL: https://github.com/jeankalud/openpilot/
Some background info on the tesla port: http://openpilot.robertcotran.com/
Video instructions for removing the frunk: https://www.youtube.com/watch?v=JbPq1W_fYz4
How to flip your EON: https://www.youtube.com/watch?v=JPNzmAprWZs