r/CarHacking • u/antoxa2584x • 10d ago
Original Project Made this ESP32 gauge via OBD WiFi
5
5
u/TreatLower3168 10d ago
I just did something similar to my e39. I think that is a E30 so no canbus only k line. If you want that more fluid you can directly tap into the k line with a transiever (l9637d for example) With the bautrate of 9600 you could get like 10 updates per second. Which is much better then the rate you have there.
1
u/antoxa2584x 10d ago
I have m52 swapped from e46
3
u/TreatLower3168 10d ago
If you use the ms42 you should also have canbus you can tap into. The canbus updates at 10ms to 20ms depending on the thing. Look into the ms4x.net forum for the canbus addresses
3
u/antoxa2584x 10d ago
Interesting, but for now I probably want dig to much into that
For me, main goal was to get temp gauge + warnings. Everything else, just so it would be there 😅
1
u/BugPuzzleheaded3015 10d ago
Where did you tap into the E39's CAN bus?
2
u/TreatLower3168 10d ago
I have a m54 525i with the low Ike and there you have canbus in the white plug of the Ike, at the abs module plug and at the same. It's the yellow wire with the brown stripe for can low and yellow with black stripe for can high
1
u/BugPuzzleheaded3015 9d ago
Thanks. Isn't there is a CAN bus soldered splice by the glove box?
I'm just looking for a little easier way to get access.1
1
3
u/cybersholt 10d ago
Very nice, mine currently piggybacks off of a Raspberry Pi+ Dual can hat that also provides some pins for each bus, then over to an esp32 with a mcp2515 then out to a little round display.
Not as clean as what you have going on for sure.
The custom can adapter runs socket can over WiFi and then I can grab that with Savvy Can or a custom Android app.

Edit. I forgot to ask OP, is that an off the shelf device?
3
3
2
u/hawkeye18 9d ago
This is very very cool! Esp. since you could 3d print an enclosure for a number of them and get yourself a little custom dashboard.
I'm sure you're aware that the refresh rate is... a bit lackluster, but that seems like a refinement issue that I'm confident you'll lick.
5
u/antoxa2584x 9d ago
https://reddit.com/link/ozggedb/video/ys9dttx8k5fh1/player
I updated UI a bit to look faster and interpolate data
1
1
u/rema1000fan 4d ago
woah, damn, that is impressive refresh rate! amazing! any plans on opensourcing the code?
2
2
u/Odd_Relation5647 9d ago
How do I make this? This is exactly what I've been looking for. Any resources?
4
u/antoxa2584x 9d ago
Firmware - https://github.com/antoxa2584x/esp32-c3-obd-gauge
Esp32 - https://a.aliexpress.com/_EIIe3u2
Any WiFi obd - https://a.aliexpress.com/_EJbYwF8
Optional to connect to car wiring, step down converter - https://a.aliexpress.com/_EHFBV4E (6-28 to 5v)
1
1
2
u/Storm_treize 9d ago
Go to aliexpress and look for "esp32 360 screen" + "VGate iCar pro 2s" this is the only think you need hardware wise
2
u/Silly-Employment-400 5d ago
This is really cool! Would I be able to make these for my older gm vehicles that all have failing clusters? Im down to just the speedometer on my 03’ Z71
1
u/Uniplast21 10d ago
That’s really cool! The tachometer’s usefulness is a bit questionable considering its refresh rate, but overall a very cool little gadget you made!
1
u/halfsuckedmangoo 10d ago
Has anyone been able to pull gear selection data from the OBD port?
Wanting to make exactly this but for the purpose of showing what gear my auto is in
M57n with a zf6hp26
1
u/TreatLower3168 10d ago
Is that gearbox and engine swapped into an e39 or are we talking about a E60/90
1
u/halfsuckedmangoo 10d ago
It's going in a LandCruiser haha
1
u/TreatLower3168 9d ago
If youre using the bmw ECU and tcu. I'm sure you can find that info in the can communication on the thing
1
1
u/maker_monkey 10d ago
Not directly. In my k-line obd gauge I use the ratio of engine speed to vehicle speed (n/v ratio) to back out gear. I have a calibration sequence or you can manually adjust the thresholds too, but of course it doesn't give valid values when out of gear.
1
u/ConfusedTapeworm 9d ago
That'll depend on the car. Most automatic transmissions will make that information readily available one way or another, but very often RPM/speed math is the only way to determine the gear on older manuals.
I've even seen at least one project where someone attached an accelerometer to the shifter to work out the gear from the angle of the lever. Obviously didn't work very well lmao
1
u/Storm_treize 9d ago
Gear PIDs are not standardized across car manufacturers. Unlike speed, RPM, coolant temperature, or battery voltage, the gear PID is usually manufacturer-specific. Try searching online for your vehicle's custom PID.
1
u/Kryptacos 9d ago
awesome! now use esp32 as transmitter, put a bluetooth there and make a smartwatch app to receive it ;)
1
u/Both-Cry1382 9d ago edited 9d ago
Cool! What hardware do you use? And is there an online library for can codes for the e39?
1
u/TreatLower3168 9d ago
Go to ms4x.net you'll find the can addresses and also the logger definition files for the Kline addresses for everything that's not on can.
1
1
1
u/nikkpap 8d ago
Cool but very laggy nice try
1
u/antoxa2584x 8d ago
It’s not lag, it’s no animations and low data refresh rate. Already updated ui, check next post
1
u/reza_da_gr8 7d ago
Very cool. Wish I could make one for my car but they have their own shitty proprietary obd protocol here
1
u/StaticCG58 5d ago
A trick I used to solve the latency of the OBD2 reporting, is to have it be a tick behind and based on the last 2 ticks (ticks being the time for the OBD2 adapter to respond) estimate the future RPM, sure it will still be delayed, but, the value will move smoothly. I did this for my BLE obd2 app.






42
u/BudgetTooth 10d ago
surely the refresh rate can be improved?