OBD data: what it can do
For us this started as fun, and the main reason was the smart home: the car is now part of Home Assistant. It was built in a few days on a handful of drives and some tests while parked, so a lot can still improve, and some readings from that time may be off because we were still working things out. Every drive adds more to compare: more items found, formulas fine-tuned.
46 sensors appear in Home Assistant on their own: battery charge, health and voltage, the highest / lowest / average cell and the spread, battery and motor temperatures, energy in and out, speed, gear, brake, steering angle, sideways and forward g, both indicators, each door and the boot, locked or unlocked, all four windows, the four tyres, battery current and power, A/C and 12 V. A dashboard for the phone is in progress.
Live while driving needs a way out of the car: with wireless CarPlay the phone's Wi-Fi is taken, so it can't share a hotspot to the logger. A 4G version of the board is on order; until then the data reaches home when the car does.
Idea, not built: a small ESP32-S3 touch-screen board on the dashboard, fed by the reader over ESP-NOW or Wi-Fi, for gauges the car's own screens don't show.


Pick a trip and play it back: a timeline with speed control and the charts you choose (speed, estimated power with regen, brake pedal, hydraulic brake pressure, steering, yaw, g-forces, indicators, energy, temperatures and more), with the door, gear, window and indicator events as they happened.

The car reports its yaw rate (how fast it turns) and the speed of each wheel. Adding those up step by step draws the route it drove, with no GPS at all. The test: an out-and-back drive of 4.8 km each way. Laid on the real road from a map, the drawing stays within about 28 m of it (median), and the way back lies on the way out.



The stability system's accelerometers include gravity, so standing still they show how the car is tilted: pitch and roll, clean whenever the car stops. Taking the car's own acceleration (from the wheel speeds) out of the forward reading while driving leaves the slope of the road, and adding that up gives a road-height profile. On the out-and-back drive the way back used more energy, 17.8 against 16.1 kWh per 100 km, and the height profile explains it: about 15 m more climbing that way.
With the brake pedal, the hydraulic brake pressure and the battery power side by side, the car's braking strategy shows: regenerative braking does almost all of the slowing, and the hydraulic brakes join in mainly below about 10 km/h and when holding the car still.
Battery power isn't one of the car's items: we estimate it from motor torque × motor speed, with factors fitted so the totals match the battery's own energy counters (within 1 % driving and 6 % regenerating on our trips). A battery-current item is now a good candidate too.
- Guided tests. The ESP32's web page walks through steps on a phone: read everything, do one thing (lock, open a door, wind a window down), read again, show what changed. That is how the doors, lock and windows were found.
- "Moves with". Over the recorded drives we compare each unknown item (every byte, every 2-byte pair) with the signals we already know. r = +1 means it moves exactly with one, −1 exactly opposite. Turns on a drive, matched with the indicators, the steering and the yaw rate, settled the right indicator and the stability-system block.
With the 4G board the logger becomes a black box for everything the car reports while driving. If something odd ever happened (say the car seemed to accelerate by itself) there would be a record of speed, motor torque, steering, g-forces and the brakes, and months of earlier drives to compare it with. You could also check on the car from anywhere. Two honest limits: the accelerator pedal isn't decoded yet, which matters for exactly that question, and fast items are read about every 0.6 seconds, not continuously. This is no certified recorder: in a crash, the car's own event data recorder in the airbag module is the official record.