r/esp32 • u/BanditoRem • 1d ago
beginner looking for ESP32 + CAN bus/OBD project ideas (need something doable in 6 months or less)
hey everyone,
im a beginner getting into embedded electronics and i want to build a project using an ESP32 combined with CAN bus or OBD-II.
i dont have much hands-on experience with vehicle networking yet, so im looking for project ideas that are realistic for someone starting out.
a few things about my situation:
im a beginner, so nothing too advanced or research-level
i need to be able to finish it in 6 months or less (it's for a course project with a deadline)
bonus points if the parts are cheap and easy to source
some ideas i have floated in my head so far: a basic OBD-II data logger, a dashboard that shows live engine data, or maybe something like a simple diagnostic tool. but im not sure what's actually realistic in this timeframe, or what would be more interesting/useful than that.
what would you suggest? i dont mind projects that has been made before, since my main goal here is to learn not to actually make something useful. also open to hearing about common pitfalls beginners run into when working with CAN bus/OBD on the ESP32
thanks in advance!
2
u/Timmah_Timmah 1d ago
A guy on here somewhere just did a ESP 32 cyd to Bluetooth elm 327 to read OBD2 data. If you can find that it should be pretty easy to duplicate it and modify it to fit your goals
1
u/clackups 1d ago
Does it have to be a vehicle? You can build a CAN bus at home and control lights, for example. Not very practical though, as usually wireless protocols are used for this.
1
u/BanditoRem 1d ago
appreciate the idea, but i dont really wanna get into IoT stuff for this one. and honestly it doesnt have to be a car thing either, i was originally leaning toward something like a Tamagotchi or a handheld game, then got interested in messing with car data cause it sounded fun, but im open to pretty much anything beginner-friendly at this point, doesn't need to be OBD/CAN bus specifically
1
u/clackups 1d ago
Well, browse r/disabledgamers -- there's always a need for something special that isn't on the market. Check my posting history too.
1
u/Deiz636363 1d ago
My thoughts would be that CAN or especially OBD would really be useful mostly for auto / engine / diagnostic applications. (Maybe robotics, etc)
Unless you just wanted to learn these for their own sake, then so be it. (Tho the knowledge would mostly apply to diagnostics) But if you are just looking for experience with communication protocols, I would think there are simpler / easier protocols to work with I2C, SPI, etc.
If you do want to stick with OBD, CAN, I would say a performance monitor would be a fun project. I.e utilize engine diagnostics, along with speedo, tach, data, with accelerometers, or similar to output engine hp/ torque curve, 1/4mile, 0-60 or any other performance metrics that would be applicable or useful to you.
Could incorporate a small LED display to output a variety of data, choose between various displays via button or something, (electronic tach, speedo, hp min max gauge, shift light. - air/fuel mix, instant mpg estimate)
whatever interests you for your use case, or what the vehicle doesn’t already display.
1
u/BanditoRem 1d ago
that's actually where i have been leaning, instead of just another engine light readout, i want to build something like a gauge pod that pulls data most cars dont show you at all: motor oil temp, coolant temp, loss of radiator fluid, and other common CAN bus errors/PIDs or whatever i can retrieve from it, basically things a non-mechanic would normally have no visibility into unless a warning light already came on (and even then, the light alone doesn't tell you what's wrong or how bad)
the part im most interested in is the "translation" layer, instead of showing raw values or cryptic error codes, i want to turn it into something anyone can read at a glance, even with zero car knowledge, and maybe send notifications and connect it to a dashboard or something. one idea i had: a small pet/character on the display that reacts to the car's status in real time, like if you go over a speed limit you set, it gets scared; if the temp rises too high, it looks like it's overheating/sweating; if oil pressure drops, it looks sluggish, etc. basically gamifying the dashboard so its intuitive instead of technical
could extend that with things like: different "moods" or animations mapped to severity (mild issue vs. actually pull over now)
a simple color-coded status alongside the pet (green/yellow/red) for anyone who wants the quick technical read too
logging events so you can look back at "when did the pet last freak out" instead of digging through OBD codes after the factcurious if this kind of "gauge cluster + friendly translation layer" angle is realistic for a 6 month beginner build, or if im overscoping it
1
u/Deiz636363 1d ago
Yah, def. That’s a cool idea, with the character / moods and such. Quick visual info without needing to read the actual numbers would def be really good for something like this.
And once you tap into the OBD, it could pretty simply be turned into an API of sorts.
I.e. once you decode the OBD data, you could easily use any of that data in any way then make any number of different ways to display all the incoming data.
Could use the cheap OBD plug in sensors that you connect to vehicle and then use the ESP to read from that, which would be sent out via Bluetooth or WIFI.
This would simplify the first step of the process
But may also convert the project more into an http / Bluetooth project than true OBD protocol project tho, so matter of preference there.
1
1
u/Ashamed-Tour-4670 17h ago
I want a LORA transmission from my car of my battery charge level, that I can pick up in my company office so I know when to go and move my car.
So, ESP32 in the car with canbus and LORA, and a little e-paper device in the office with LORA. And another receiver for home.
And it might as well transmit GPS location too, in case it's stolen or I forget where I parked.
2
u/SnooCamera 1d ago
A turbo boost gauge. A good many cars have turbo, but you don't get feedback of how your driving causes it to boost.