Evmetrics Protocol Explorer

Reverse Engineering State of the Art

Apps like LeafSpy, CanZE, and Scan My Tesla rely on decoding the CAN Bus (Controller Area Network) traffic of electric vehicles. Unlike internal combustion cars which use standard OBD2 PIDs for emissions, EVs use proprietary, often undocumented Manufacturer Specific PIDs. This research aggregates findings from GitHub repositories and community wikis.

📡
TRANSPORT LAYER

ELM327

The standard chip logic used. Most apps send "AT" commands to configure the dongle to listen to specific CAN headers.

💾
DATA TARGET

96 Cells

Standard 400V architecture (Leaf, Bolt, older Tesla) uses 96 series cells. Requires multi-frame responses to read.

🔓
ACCESS METHOD

UDS & Passive

Leaf/Zoe use Active Polling (UDS/ISOTP). Tesla requires Passive Listening (sniffing) via adapter cables.

Summary of Community Findings

Nissan Leaf: Uses 3 distinct CAN buses (EV, AV, CAR). The OBD2 port exposes all 3 on different pins, but standard dongles only read one.

Tesla Model 3/Y: No useful data on the OBD2 port under the steering wheel. A "Y-Cable" must be inserted behind the rear console to intercept the chassis CAN.

Renault Zoe: Heavy use of ISO-TP (Transport Protocol) frames. A single "parameter" like Cell Voltages is split across dozens of lines of hex code.

Bluetooth LE (4.0+): Requires different init strings than Classic Bluetooth. Throughput is often a bottleneck for high-frequency cell monitoring.