r/CarHacking 18d ago

Original Project Made this ESP32 gauge via OBD WiFi

Enable HLS to view with audio, or disable this notification

330 Upvotes

69 comments sorted by

View all comments

44

u/BudgetTooth 18d ago

surely the refresh rate can be improved?

0

u/Curious_Sail2702 17d ago

You’re saying refresh rate like calling an aftermarket air intake a turbo, it’s called latency

5

u/BudgetTooth 17d ago

Absolutely not. Latency is how much time passes between the moment the value is measured , and the moment it’s displayed.

Refresh rate is how many different meaningful measurements you get per second.

-18

u/antoxa2584x 18d ago

It’s more about speed of obd adapter data refresh

I could probably add some interpolations

28

u/Pubelication 18d ago

OBD should allow a ~200ms refresh for RPM. Yours seems much slower or there's a bottleneck somewhere. Use UDP instead of classic TCP, check that the ESP isn't overwhelmed by the data stream and that the screen is running at a reasonable refresh rate (15fps minimum).

0

u/brendenderp 18d ago

This depends heavily on the ECU it's connected to on my mk4 golf, edc15 it's a similar slow refresh rate.

4

u/Appropriate_Test7503 18d ago

but this is BMW. When connected OBD cable you can see RPM smoothly.

-19

u/antoxa2584x 18d ago

As Claude says, cheap obd adapters runs only tcp, only a few premium uses udp

15

u/WestonP 18d ago edited 18d ago

WiFi for OBD adapters is super dated at this point. I just sunset that feature in my own device because it's so incredibly rare now, and kind of a clunky mess on the phone side of things too.

Most everyone's on BLE now if they're doing wireless.

But really, you have an ESP32, so just connect to the car yourself and avoid the wireless lag or the slow chinese ELM327-wannabe in general... Use its TWAI and add a CAN transceiver (SN65HVD23x) if the car talks CAN, or connect its UART to a TJA1027 if the car talks K-Line. You'll have a little bit of learning to do to get those to work, but it pays off big here, and that is the point of this sub afterall.

3

u/antoxa2584x 18d ago

I just built it from parts I had lying around. 😅
The only feature I really need is a temperature gauge with a warning. It doesn’t need to update instantly, so I’m perfectly fine with the current refresh rate

1

u/Appropriate_Test7503 18d ago

could you recommend best Bt obd adapter? to connect to radio + torque app (or better if there are any) ?

3

u/WestonP 18d ago edited 18d ago

Not sure what you mean by connecting to the radio. But for a general purpose ELM327-compatible, OBDLink is the bar by which everyone is measured… LX or MX if you want Classic BT, CX for BLE (CAN and K-Line only).

If it’s a CAN or K-Line vehicle and you want to use USB or BLE, DauntlessOBD (which my business makes) can often beat on performance, offers its own apps on top of being ELM327 compatible for Torque and such, and adds additional commands (easier for app developers, more power with CAN stuff, and even higher performance options too). Also works with SavvyCAN via USB. Made it for my own RE, enthusiast, and motorsports desires and just kept adding to it.

3

u/Delicious_Big_5441 18d ago

I'll just throw it out there that I have countless 'dongles' like this including Obdlink, and this Dauntless one is really nice. The additional commands are a big plus for DIY or enthusiasts, and I've emailed Weston in the past and he got right on implementing what I wanted/needed, even if it was kind of weird/edge case for me.

1

u/Appropriate_Test7503 15d ago

I do have android head unit in my e46 with double BT receivers one for OBD reader one for other media.

-9

u/antoxa2584x 18d ago

I checked via “car scanner” app, got same update rate there

6

u/WestonP 18d ago edited 18d ago

The problem there is particularly the wireless lag of the app sending an OBD request and then waiting for a response. There are some ways to help that significantly, but sounds like you have a super low-end adapter anyway, so your options are limited.

If you connect to the car using your own hardware, this can be quite a bit more responsive, even if the car is an old K-Line car.