Taking Back Control: How a Cheap ESP32 Saved My Car From the Data Harvesting Overlords
There is a distinct flavor of modern irritation that only a "smart" gadget can provide. You buy a piece of hardware; you plug it into your own property; and yet, somehow, you are suddenly signing away your digital soul just to read a simple number.
Such was my journey with the ZUS OBD-II adapter plugged into 'Silly Sally', our trusty, completely unpretentious 2009 Ford Focus.
Silly Sally does not have a cellular connection. She does not have an operating system that updates overnight. She barely has a CD player that works consistently, an kicks out of 2nd gear randomly. Yet, the corporate masterminds behind the ZUS adapter seemed convinced that tracking her diagnostic data, my driving habits, and heaven knows what else, all funneled neatly into their proprietary cloud infrastructure, was a necessary part of the "user experience."
I didn't want a data collection policy. I just wanted to know if my alternator was flagging before the family school run turned into an impromptu roadside picnic.
So, I decided to cut out the middleman.
The Ultimate Data Rescue Mission
The ZUS adapter speaks Bluetooth Classic SPP (Serial Port Profile). It sits there in the footwell, happily broadcasting numbers to any device willing to authenticate. The official app uses this to grab your data and ship it off to parts unknown.
I figured it was time to redirect that data stream to somewhere much safer: my own local home network.

Enter the ESP32. For the price of a cheap cup of coffee, this little microchip gave me the power to stage a bloodless coup against the corporate cloud. I sat down and wrote a custom bridge firmware that pulls off a beautiful piece of digital espionage:
- The Interception: The ESP32 boots up, fires up its own Bluetooth radio, and aggressively pairs with the ZUS adapter right under its nose.
- The Translation: Using the excellent ELMduino library, the ESP32 handles the standard OBD-II PID requests, translating raw automotive telemetry into simple, clean numbers.
- The Escape: Instead of sending this data across the internet to a random corporate server, the ESP32 publishes it straight to my local MQTT broker over WiFi.
No accounts. No privacy policy updates. No corporate monetization of Silly Sally's engine RPM.
From the Dashboard to the Kitchen

Once the data is floating around on my local network, the real magic happens.
Silly Sally might be approaching her second decade of existence, but she now has a digital twin. I hooked the MQTT feed directly into my local Telegraf and InfluxDB stack, allowing me to spin up a dedicated Grafana dashboard. Now, I can monitor engine load, coolant temperature, and battery voltage on a glorious, dark-mode graph that looks like it belongs in a mission control room.
Even better, the fuel level now feeds directly onto our main family dashboard in the kitchen.
No more guessing games. No more getting into the car on a rainy Monday morning only to find the fuel light screaming because someone parked it on "fumes." The kitchen screen tells the absolute truth before you even lace up your shoes.
Free Silly Sally: Build Your Own
If you are tired of your car gadgets treating your privacy like a suggestion, you can build your own bridge. The firmware includes a neat local web UI to handle the Bluetooth pairing process, handles WiFi drops gracefully, and even supports a little attached OLED display if you want real-time stats right on the device.
I have open-sourced the entire project, including configuration templates and architectural layouts. You can grab the code, modify the publish intervals, and flash it to your own hardware via PlatformIO.
Check out the full repository here: esp32_odbII_ZUS_bridge on GitHub.
Silly Sally may be an aging 2009 hatchback, but her data belongs to us now. Happy hacking; and keep your telemetry local!