I will. Next step is to take a look at those cheap Chinese elm boards, first wired and also Bluetooth connection, and of course getting more data than just speed and rpm. What would be the most interesting for you?
@@upir_upir not sure if that overlap your interest but some info about OBD2 and CANBUS and if all messages are available on obd or only some of them? Like.. outside temperature or opening/closing windows via touchscreen > arduino/esp > obd/canbus? I've heard [need to confirm it] that ODB2 has only partial access so in order to get full access [like opening windows] one must connect to some other, more hidden connectors inside the car. Would be nice to get this topic covered :) Thanks
WOW! OBD Protocol has been one of the few areas I have not ventured in. Thanks to you I am feeling much more confident to start an OBD gauge project now. I have already adapted your VW DIGIFIS to display RPM, temperature voltage and fuel data from an old 1965 Mustang. Works very nice indeed.
Bringing back memories. I first used AT commands 30 years ago on 300 baud modems. Yes, 300 baud. We had to use the telephone handset placed in a special cradle which in turn connected to the pc. Oh, the memories (of the pain 😂).
According to Wikipedia, AT commands were introduced around 1981. I wonder if their original creator would think they would still be used 43 years later..
Probably more than 30 years ago if it was a 300 baud modem 🙂 Because next year will be 30 years since I got my first modem and it was 28800 baud (v34 standard) and there was definitely more than one year between 300 and 28800 😁
It would be nice that you make more videos about bringing Arduino to the car, maybe even Raspberry Pi 4 or 5, I would really like to watch how you make a GPS for the car using some Display and some gps module! Just keep doing what you are doing!
Yes, exploring all the possible options is definitely something I would like to try - including playing with Raspberry PI. As for GPS, yes, that´s on my list as well.
Nice project UPIR, many thanks for this mega tutorial!! You just kicked my butt to move and do something similar for some project waiting for me to decide doing them! And you just confirmed my thoughts on using Nextion displays on cars, their brightness is soo low. I have tested some little 2 inch IPS displays with 300nit (300 cd) brightness and they work very well even on sunlight shining on them, but those are not easy to use as the nextions, but thanks to your previous tutorials on those DWIN, maybe I will have a change to do something.
that's what i need! My project is using Arduino Uno, connect K-line to read RPM, Speed, Gear on keihin ECU - > make E-cluth on Honda motorbike :D thank for your share!
Great vid as always, you deserve more views. Your videos always inspire me to learn more about coding. Thanks for uploading your projects to github; that makes it a lot easier to learn from when I can mess with the code
There is a library to work directly from elm327 via esp32 own bluetooth. Made a lilygo esp32 oled display for displaying the temperature in my opel van 😊.
@@upir_upir Watertemp because the van has none displayed and its on obd. Actually I am trying to merge it with Your very nice temperature gauge on the round display esp32s3 HW next. Thanks for Your work and inspiration.
Awesome display ! almost a year ago you showed how to use the ATTINY85 and of course WOKWI and now winter is here I get the urge to program, so if you find yourself with nothing to do (LOL !) I would like to see another game written for that set up please. Something simple like squash or breakout, I hope you don't think me to cheeky ! cheers !!
Thank you. I have a few game-related videos for ATTINY85 in progress, but they are on hold for now, with all the other projects going on. Perhaps during the winter I will be able to get to it. We will see..
Super video as usual. So a suitable Dwin screen will be needed in a 10” size for my needs then, along with a uno of some flavour. Don’t need the odb2 part, I’ll be reading from analog signals.
@@upir_upir well they all have feeds to the dash on individual wires anyway, so it should just be a case of measuring some resistances and counting pulses. I’m not 100% sure the exact method for each of them yet.
...just be a case of measuring some resistances and counting pulses... -- I would probably remove the word "just" :) It´s definitely not a "just" for me.
Thank you for letting me know, I have a bunch of those cheap ELM boards, let´s see if any of those will work. Are you using it for any of your projects?
That´s on my todo list for a while, but I would need to first either find suitable sensors, or reverse engineer the ones that you can find on AliExpress.. and I don´t know how to do that yet.
Another awesome project. I am planning to do it in my mk2 Golf with 1.8 turbo from mk4 Golf swapped. It should be easy to match digifiz cluster project with obd data like rev, speed, coolant temperature and fuel level, all of this data is supported in Bosch ME7.5 ECU by obd2 and shows in any mobile app connected via ELM327 BT . But I am wondering what about turning on the icons (lights and so on) and switching MFA functions with stock MFA switch. Is it possible to send info to the display just by shorting a wires to switch specified area of values created in Nextion?
Thank you! I´m sorry but I don´t know how to get the state of those individual icons and warning lights, I would definitely start with checking the voltage levels to make sure you are not frying your Arduino if those signals are above 5V.
I m in process of developing a motorbike version and I want to make a fully personalized pcb to have everything really compact and make the code have condition alerts, I would like to discuss with you some things about it. Thanks!!!!
@@upir_upir ofc its understandable. im just looking for a 3.5'' Nextion to fit in a air vent, just to show (for now) turbo preassure, intake temp, water temp and map value. later with your help, ill try to put sub menu or tabs to show other values
@@upir_upir Well. "break" is the standard way to exit a loop, so it's not exotic. As you are looping forever and exit on a condition that is not a thing like a ... countdown (like "while (counter--) {}", it is the most obvious way. And you save a (in your case unnecessarily global) variable. And yes, a tiny faster execution though that's irrelevant here. Another option to skip until target character (when sure that it will arrive) would be a "while (readchar() != '>') { /*empty*/ }" ... I don't have your exact code in mind now, but as far as I remember, this is basically what you do.
Thank you for your explanation, it makes sense. Someone suggested using the built-in function of Serial.readBytesUntil() - that might probably be even more elegant solution.
So i want to use an elm327bluetooth dongle but i can figure out how to do it, my bluetooth device has a pin "1234", you know how i could achieve that? thanks for the gauge tutorials by the way
to smoothen out the display refresh rate, is it viable to add an extra frame in between two frames that displays the average of the previous and next values. this would give you twice the fps using the same report rate.
What is the maximun output frequency of rpm data? Want to build something like a sound generator. Catch rpm, engine load and gear, map with sound data.
Some web pages say that you should wait 100ms between getting data from OBDII port, but I guess it depends on the car. If you need faster input, you can try canbus or perhaps a dedicated sensor.
No worries, hopefully, it answers your questions. Interestingly, when the display was in a place of the dashboard - i.e., covered with all the plastics around and shading on top, it was not -that- bad, but I would still go with brigher display instead.
@@upir_upir I think the display you used was around 300 nits, do you think something around 600 to 800 nits would do the trick? I am working on a diesel generator tow behind, and am looking for a 5 to 7 inch display for that project. Any recommendations appreciated.
@@The_Novo the question is if the speed is really a limitation of the MCU and not the ELM chip itself. I am pretty sure the uno could request the data far more often but it takes time for the ELM to respond.
@@PatalJunior yea you're right, I've also experienced some lag with my bluetooth obd reader using torque but I assumed it was the cheap reader and the bluetooth causing the lag, Idk about wired reader's speed
Ok now you have my full attention. Its something i wanted to have in my car for a while now. Maybe a way for this to work with generic bluetooth obd adapters as well? Might be a delay thought. Edit: I got excited and commented before you said about the ELM 🥲
All the source files are on GitHub: github.com/upiir/arduino_dashboard
Do you have an email? Thanks!!
This is a very interesting topic, please continue about OBD2 !!!
I will. Next step is to take a look at those cheap Chinese elm boards, first wired and also Bluetooth connection, and of course getting more data than just speed and rpm. What would be the most interesting for you?
Konnwei KW901 would be interesting ELM327 dongle. It is small and have on/off switch
@@upir_upir thanks for sharing. voltage level with an alarm if the alternator fails. A way to determine if the odb2 can tell if the aux is on or off.
@@upir_upir not sure if that overlap your interest but some info about OBD2 and CANBUS and if all messages are available on obd or only some of them? Like.. outside temperature or opening/closing windows via touchscreen > arduino/esp > obd/canbus? I've heard [need to confirm it] that ODB2 has only partial access so in order to get full access [like opening windows] one must connect to some other, more hidden connectors inside the car. Would be nice to get this topic covered :) Thanks
Definitely NOT too long. A lot of very useful info presented. Sad that the attention span of some people is minimal.
Thank you!
now we need a car reveal with all the projects about cars combined
insane work bro
The problem is that all the cars that I would like to get are pre-OBDII era..
@@upir_upir Feel this :(
If I ever get to a project car, it will probably be Datsun 240Z. So... no luck with OBDII.
This is by fare the best video online regarding OBD and arduino
Thank you, I’m glad you like it!
watching smart people work is both incredible and crushing at the same time
Hopefully this video has all the details so you can perhaps learn how to do that as well?
As always, an exceptional job with lots of detail and a high technical level. A marvel. Congratulations. A warm greeting from Spain
Thank you for your nice comment, I really appreciate it!
WOW! OBD Protocol has been one of the few areas I have not ventured in. Thanks to you I am feeling much more confident to start an OBD gauge project now. I have already adapted your VW DIGIFIS to display RPM, temperature voltage and fuel data from an old 1965 Mustang. Works very nice indeed.
That´s great to hear, thank you for your nice comment, and good luck with your project!
Bringing back memories. I first used AT commands 30 years ago on 300 baud modems. Yes, 300 baud. We had to use the telephone handset placed in a special cradle which in turn connected to the pc. Oh, the memories (of the pain 😂).
According to Wikipedia, AT commands were introduced around 1981. I wonder if their original creator would think they would still be used 43 years later..
Probably more than 30 years ago if it was a 300 baud modem 🙂
Because next year will be 30 years since I got my first modem and it was 28800 baud (v34 standard) and there was definitely more than one year between 300 and 28800 😁
this is my favorite content in all of youtube
That´s great to hear, thank you!
It would be nice that you make more videos about bringing Arduino to the car, maybe even Raspberry Pi 4 or 5, I would really like to watch how you make a GPS for the car using some Display and some gps module! Just keep doing what you are doing!
Yes, exploring all the possible options is definitely something I would like to try - including playing with Raspberry PI. As for GPS, yes, that´s on my list as well.
YES, THAT'S WHAT I WAS WAITING FOR, THANKS DUDE!
right, like I was just looking into making one
That´s perfect!
Nice project UPIR, many thanks for this mega tutorial!! You just kicked my butt to move and do something similar for some project waiting for me to decide doing them! And you just confirmed my thoughts on using Nextion displays on cars, their brightness is soo low. I have tested some little 2 inch IPS displays with 300nit (300 cd) brightness and they work very well even on sunlight shining on them, but those are not easy to use as the nextions, but thanks to your previous tutorials on those DWIN, maybe I will have a change to do something.
Thank you for your nice comment, yes, using DWIN displays with this project would be a good idea. I do plan to cover it in the next video.
Como siempre un canal refinado que se preocupa por dar las mejores explicaciones de todo el proceso. Felicitaciones de nuevo. ¡Gracias!
Thank you!
that's what i need!
My project is using Arduino Uno, connect K-line to read RPM, Speed, Gear on keihin ECU - > make E-cluth on Honda motorbike :D
thank for your share!
Sounds great! I´m glad this video was helpful.
This is more than I thought. It's an incredible job. Thanks for all the information.
Thank you for your nice comment
This is awesome! I'm looking forward to what's to come, I hope it has an aversion with elm bt!
Thank you, and yes, I would like to explore that topic a little bit more.
Great vid as always, you deserve more views. Your videos always inspire me to learn more about coding. Thanks for uploading your projects to github; that makes it a lot easier to learn from when I can mess with the code
Thank you for your nice words, I really appreciate it. Good luck with your projects!
That's soo interesting, your videos inspire and motivate me to work on my projects, thanks ☺
That´s great to hear, thank you and good luck with your projects!
There is a library to work directly from elm327 via esp32 own bluetooth.
Made a lilygo esp32 oled display for displaying the temperature in my opel van 😊.
Link for library pls? Thanks
Probably he means Elmduino
Thanks my re got cancelled
Cool. What kind of temperature are you displaying in your van?
@@upir_upir
Watertemp because the van has none displayed and its on obd.
Actually I am trying to merge it with Your very nice temperature gauge on the round display esp32s3 HW next. Thanks for Your work and inspiration.
Thank you for your videos. One of the best arduino/tech guide youtube channels out here
Thank you for your nice comment, I’m glad you like it!
I see what you did there, placed the mount so it covers the bmw check engine light? Big love man, nice videos… they are awesome.
Hehe, solving the check the engine light the easy way... but actually no, that light is not shining (yet).
Helllll yesss brother! I want to do something like this for an OBD1.5 vehicle as well.
Perfect, good luck with your project!
If it weren't for the possibility of bricking your only car, this would be a fun project.
That´s why it´s a good idea to start with the simulator. That said, there is very low probability to brick your car with OBDII port.
Awesome display ! almost a year ago you showed how to use the ATTINY85 and of course WOKWI and now winter is here I get the urge to program, so if you find yourself with nothing to do (LOL !) I would like to see another game written for that set up please. Something simple like squash or breakout, I hope you don't think me to cheeky ! cheers !!
Thank you. I have a few game-related videos for ATTINY85 in progress, but they are on hold for now, with all the other projects going on. Perhaps during the winter I will be able to get to it. We will see..
@@upir_upir :)
This is incredible
Thank you!
Oh man! I have always wanted to replace my cluster with an electronic one!
Cool! For which car?
@@upir_upir originally I wanted to replace a 2003 Jeep Wrangler, but I have a 1996 Honda del Sol that would be amazing!
Finally some cool canbus stuff !!! 😀
Thank you!
Hey, that is the video i was waiting for :D
Perfect, that’s great to hear!
Looking forward to a video with the cheaper ELM327, the sparkfun board is over my budget
Yep, I hope to look at those soon.
This is awesome work, can you do OBD2 car temps like air intake temps with a sensor?
Thank you. If you google OBD PIDs, there is a wikipedia page that shows a lot of them, so you can take a look if you see what you are looking for.
That's ever easier because just need to read values from sensor and not from obd2
Amazing as always, can u do a leanangle display?
Thank you, and yes, that´s on my todo list for sure.
Awesome....👏👍
Thank you! Cheers!
You are a good,
I´m good, thank you!
Dobrá práce :)
jak svině!! 🔥🔥
Diky diky!
Super video as usual. So a suitable Dwin screen will be needed in a 10” size for my needs then, along with a uno of some flavour. Don’t need the odb2 part, I’ll be reading from analog signals.
Cool. Could you perhaps share more details how you interface those analog sensors? Thank you!
@@upir_upir well they all have feeds to the dash on individual wires anyway, so it should just be a case of measuring some resistances and counting pulses. I’m not 100% sure the exact method for each of them yet.
...just be a case of measuring some resistances and counting pulses... -- I would probably remove the word "just" :) It´s definitely not a "just" for me.
@@upir_upir I’m being optimistic. 😂 I have a feeling I may need to add some components to get the inputs to a place I need them.
@@upir_upir Have you got a link to a good Dwin screen for this project. I'm confused as to which one to use.
Just a heads-up to hopefully save you some frustration. Those cheap OBD2 readers use a cloned/counterfeit version of an older ELM chip revision.
Thank you for letting me know, I have a bunch of those cheap ELM boards, let´s see if any of those will work. Are you using it for any of your projects?
Idea for a new project a stand alone tpms system would be super cool
That´s on my todo list for a while, but I would need to first either find suitable sensors, or reverse engineer the ones that you can find on AliExpress.. and I don´t know how to do that yet.
Another awesome project. I am planning to do it in my mk2 Golf with 1.8 turbo from mk4 Golf swapped. It should be easy to match digifiz cluster project with obd data like rev, speed, coolant temperature and fuel level, all of this data is supported in Bosch ME7.5 ECU by obd2 and shows in any mobile app connected via ELM327 BT . But I am wondering what about turning on the icons (lights and so on) and switching MFA functions with stock MFA switch. Is it possible to send info to the display just by shorting a wires to switch specified area of values created in Nextion?
Thank you! I´m sorry but I don´t know how to get the state of those individual icons and warning lights, I would definitely start with checking the voltage levels to make sure you are not frying your Arduino if those signals are above 5V.
@@upir_upir good sugestion, I'll check voltage level in the cluster pins when e.g. light is on.
Sounds like a good idea. If it´s 5V, than it´s really just a matter of getting the pin state. If it´s 12V, you would need some voltage divider.
can you make tutorials about ili9341 dispalys 🥺
Yes, those are on my todo list for a while..
Another video with how to get oil pressure, oil temperature, coolant temperature and fuel level would be nice
Great suggestion, I do plan to cover more data soon!
great! exactly whjat i need for my project! if u can get that to work with the bluetooth dongle, than it would be 100% perfect!
Thank you. What are you working on? I will try the Bluetooth dongle soon.
YES !! 😊 🙏👍
Thank you!
Great project! Is it possible to increase the FPS (frame rate) and make the interface smoother?
Could you do a tutorial with realdash and can-bus output of OBDII conector?
I’m sorry but I don’t have a knowledge for such tutorial yet.
I m in process of developing a motorbike version and I want to make a fully personalized pcb to have everything really compact and make the code have condition alerts, I would like to discuss with you some things about it. Thanks!!!!
I will reply to your email soon. Thanks!
GREAT MAN . ty you have read my comment. many thanks
You are welcome, hopefully it was understandable.
@@upir_upir ofc its understandable. im just looking for a 3.5'' Nextion to fit in a air vent, just to show (for now) turbo preassure, intake temp, water temp and map value. later with your help, ill try to put sub menu or tabs to show other values
Sounds like an interesting project! What car are you putting this into?
@@upir_upir wolkswagen passat b5 1.9 tdi from 2000 with pd engine
@Helder_Paulo cool, do you have any pictures of your project?
Thnx.
You are welcome !
You could just use a while (true) {} for your character skipping and exit it with a break.
What would be the advantage of such code?
@@upir_upir Well. "break" is the standard way to exit a loop, so it's not exotic. As you are looping forever and exit on a condition that is not a thing like a ... countdown (like "while (counter--) {}", it is the most obvious way. And you save a (in your case unnecessarily global) variable. And yes, a tiny faster execution though that's irrelevant here. Another option to skip until target character (when sure that it will arrive) would be a "while (readchar() != '>') { /*empty*/ }" ... I don't have your exact code in mind now, but as far as I remember, this is basically what you do.
Thank you for your explanation, it makes sense. Someone suggested using the built-in function of Serial.readBytesUntil() - that might probably be even more elegant solution.
👍👍👍
Thanks!
So i want to use an elm327bluetooth dongle but i can figure out how to do it, my bluetooth device has a pin "1234", you know how i could achieve that? thanks for the gauge tutorials by the way
I don´t know yet, but I will play with those dongles soon, so perhaps in the next video, I might have an answer.
great work
Thank you! Cheers!
to smoothen out the display refresh rate, is it viable to add an extra frame in between two frames that displays the average of the previous and next values. this would give you twice the fps using the same report rate.
Yes, I will cover smoothing the animations in the next video. Thank you!
What is the maximun output frequency of rpm data? Want to build something like a sound generator. Catch rpm, engine load and gear, map with sound data.
Some web pages say that you should wait 100ms between getting data from OBDII port, but I guess it depends on the car. If you need faster input, you can try canbus or perhaps a dedicated sensor.
Can you make an interface that will sent OBD2 signals to a fanatec sim racing wheel or other sim racing wheels with displays and buttons on it??
I don’t have such knowledge yet, but perhaps in the future..
i would love to build something like a hud with a projector of some kind maybe a new projekt?
That’s an interesting idea! I just need to find a proper projector…
❤❤❤❤❤❤❤❤❤❤😊🎉
Thank you!
Can you make that obd2 simulator drive the real car dashboard like amstudio showed in his video with arduino?
Not yet, I don’t have the required knowledge how to make it work. But perhaps in the future..
are the bottom two bits of the rpm significant in some way?
Probably not for the driver, but I’m sure the ECU is probably using it for calculations.
Is the display you specified daylight readable, or readable inside a car in daylight?
It´s mentioned at the end of the video, with some in-car footage driving during sunny day, so you can see it by yourself.
@@upir_upir Thank you, I cannot believe I missed the end of your video... apologies.
No worries, hopefully, it answers your questions. Interestingly, when the display was in a place of the dashboard - i.e., covered with all the plastics around and shading on top, it was not -that- bad, but I would still go with brigher display instead.
@@upir_upir I think the display you used was around 300 nits, do you think something around 600 to 800 nits would do the trick? I am working on a diesel generator tow behind, and am looking for a 5 to 7 inch display for that project. Any recommendations appreciated.
Is the arduino interpreting CAN signals?
No, there is a board in between.
Hello. Why did you use arduino uno instead of nano or other one?
No particular reason, I just like UNO and UNO-sized boards for prototyping. It should work the same with other Arduino boards as well.
I think I can use this to make integrated dashboard on my s60 because the said car will not work without dashboard
Cool, that sounds like an interesting project!
Wish it wasn't so laggy
Projects like this should be built on more powerful MCUs, like TI, STM, ESP.
It's not only faster, it's cheaper.
@@The_Novo the question is if the speed is really a limitation of the MCU and not the ELM chip itself. I am pretty sure the uno could request the data far more often but it takes time for the ELM to respond.
@@The_Novo All OBD apps that give speed rpm etc are roughly this laggy, this is more of a OBD issue other than anything else.
@@PatalJunior yea you're right, I've also experienced some lag with my bluetooth obd reader using torque but I assumed it was the cheap reader and the bluetooth causing the lag, Idk about wired reader's speed
You could program an animation that counts down to the new value received from to obd port to make it seem smoother
What about old cars there only K lain?
It won’t be fast enough.
I’m sorry but I don’t know how you would proceed in that case.
I want turbo boost, water and oil temp
I believe all of those should be accessible via OBD.
Hello, how can I contact you privately?
Do it with DPID because this is too slow
What is DPID?
Dynamic PID. You can request values you need, combine them into one or few packets and you choose send rate. It can go fast, crazy fast! Like few ms
Ok now you have my full attention. Its something i wanted to have in my car for a while now. Maybe a way for this to work with generic bluetooth obd adapters as well? Might be a delay thought.
Edit: I got excited and commented before you said about the ELM 🥲
Thank you for your comment, and yes, I will look at those cheap ELM boards soon.
Hi Upir!!! I m trying to find a mail to talk with you in private but I cant find it. Can u send me a way to chat we you. Thanks in advance
You can try utuber.upir(at)gmail.com