Panda

From Tinkla: Tinkering with Tesla

The Panda is an OBD II dongle created by Comma.ai. It allows the EON to talk to the car via CAN bus messaging. It supports 3 CAN buses, 2 LIN buses, and 1 GMLAN.

The software for the Panda is opensource (and heavily modified for Tesla). When installed on a Tesla, the Panda (by itself) creates all the messages to emulate a DAS (the AutoPilot computer) as well as to keep the Bosch radar talking. It has CAN0 connected to the Tesla Chassis CAN, CAN1 connected to the Bosch radar, and CAN2 connected to the Tesla EPAS (the electric power steering).

There are two "flavors" of Panda:

  • White Panda: $99 USD - The white panda has WiFi and USB capabilities and can work directly with your computer running Cabana.
  • Grey Panda: $199 USD - The grey panda has high precision GPS (to be used with maps integration) but no wifi and can't be used with Cabana.

Both versions are currently fully supported because we actually use the Tesla GPS for maps integration.
I have both pandas due to the amount of development I do. I use the Grey Panda for driving the car and I use the White Panda for debugging/monitoring/reverse engineering CAN messages (in conjunction with an OBD II splitter).

The Comma.ai Panda can be purchased from the Comma.ai store.

Flashing the Panda

Most of the OpenPilot updates (or when installing new) require you to also update the software on your Panda. Here's how:

In your Tesla while it says “Car Off” connect your Panda to your Giraffe rev B OBD (or EPAS OBD). Connect your EON to the Panda via USB. Then SSH in and run:

cd /data/openpilot/panda/board
killall boardd
make clean
make && sleep 1 && (make recover || make recover) && echo Success! Rebooting in 2s... && sleep 2 && reboot

The kill command ensures that the EON stops regular communication to the Panda. That's also why a reboot is needed at the end. If any error occurs (which of course should not happen) the reboot will be skipped so you can troubleshoot.