Project home · Start onboarding · Build and flash · Dashboard · Onboarding guide · Plugins · CAN safety · Runtime optimization · Release notes
ev-open-can-tools is experimental firmware for selected Tesla CAN experiments. A small board listens to CAN frames, shows their state, and, when explicitly enabled, can send carefully defined changes back to a bus.
CAN is the vehicle’s internal message network. A frame is a small message with an ID, a length, and data bytes. A wrong frame can affect steering, driver assistance, braking, or gateway behavior. This project is not plug-and-play and is not a substitute for a qualified vehicle technician.
New to the project? Use this order:
| Goal | Start with |
|---|---|
| Understand the whole setup step by step | Guided newcomer onboarding |
| Use a supported ESP32 board | Build and flash, then Dashboard |
| Observe traffic with SavvyCAN | Dashboard -> GVRET |
| Create a CAN rule | Plugin system |
| Understand hands-on-wheel/nag experiments | CAN safety and testing |
| Improve firmware performance | ESP32 runtime optimization |
| Contribute code or documentation | Read the repository instructions, then use the validation checklist in the optimization and safety pages |
The exact features depend on the board, driver, vehicle mode, and build profile. Built-in handlers are used for observation in dashboard builds; enabled plugins are the automatic injection path.
Keep transmission stopped while learning. Validate the bus, bitrate, ID, DLC, mux, counter, checksum, and byte layout from evidence. Unknown or stale vehicle state must remain a reason to stop, not a reason to transmit. The firmware’s hard limits and gates are safety boundaries; do not bypass them as a setup shortcut.
For vehicle-specific wiring, use the correct electrical documentation for the exact model and build date. A generic connector diagram is not enough.