One thing I would add would be monitoring for the erro codes and other less visible information like engine temperature. Also personally I would not put speed and RPM since the car I drive already has it on the gage cluster.
I'd add approximate gas consumption combining the data from the rpm, motor load, speed, and past mileage history. You could also collect your driving data every 5 seconds or so, export it after each day and use it to do big data analysis (useful graphs, data on best hours to go to particular places based on gas consumption, driver recognition/mood estimation based on driving style with machine learning classification,...)
I would have the basics, Speed, Temp, Volts, if you wanted you could add a RPM gauge, and even more for diagnostics, or even make it so that when an event happens like oil pressure drops you can get a red light that the text "OIL" on it. you are off to a good start though
I would place it in the lower corner of the screen, so I could have the navigation in another corner, with vehicle tilt, and incline in another corner, and maybe add current weather.
I drive a Prius. There isn't a gauge or display for coolant temp. I've used Hybrid Assistant and this is one of the readings available. This is one I would add if I were to make my own.
For a better interface you can design a webpage and host it using flask. Flask is very easy. The difficult part would be designing a dynamic webpage using JavaScript. But if you have any experience with web design, this would make it easily expandable and more versatile. You can ask your community to design a template for you if you aren't experienced in web design yourself. Loving this project so far. Waiting for the next installment.
I am making a digital Speedo for my car and can't work out how to get it to display the speedo needle and another a catch is I have not got an OBD II port as the car has a carburettor and I will be using a PWM that pulses X times per 1 revolution so would be good to see how to do it
I would also like to add gauges for displaying the instantaneous torque and horse power produced by the engine. Also specs like air fuel ratio would be cool.
Hello, I have 8 lines of voltaje connected to some small lamps , some of this lamps will bécame on if 12 volts is on the líne , some voltaje is pulsed and if there is a voltaje there then the lamp will blink and a buzzer will sound , so I need to send this info to a cell phone, this task May be accomplished with a raspberry pi or arduino or what May I do?
Hmmm. I think it would be fairly easy to change you speedometer to nice heads up display with some high brightness vdf display. Though I think there's already plenty of aftermarket displays available.
Can you make each gauge have a needle animation, and also tie into the other sensors like engine temp, battery voltage, oil pressure...ect. Pretty much all the info your odb puts out. Make info your current gauges are give or specifics of the ones you have.
i would like to see the data transmitted to an app on a phone, connected by usb/lightning port (more secure i think) or through bluetooth. i think that would be awesome
Sub'd. Jeeze. Why am I just seeing this now? This is pretty cool, really great work! Being a classic BMW nut, for ODB2 stuff, we tend to use the now archaic INPA software -- which kinda sucks by today's standards. While it provides great info, it's archaic/windows dependent, and the translations are terrible. I'm gonna take what I learned here (and in video 3), install Grafana on the Pi, then see if I can't simply pump these dynamic values into Grafana for an easier gauge like display of all the car's critical data points. Like, IAT, fuel trims, o2 readings, etc. Thanks again for the inspiration.
I would like to see the power output from the car. Your videos really help a lot and I am working on the getting my power outputted and logged to a file for later analysis. I wish I could send you an email on the updated code once I finish. But thanks for the great videos.
My car doesn't have approximate fuel range, so I would add that to the screen. All you would need to know is your car's tank capacity, and the mpg your car gets at certain speeds. Then just have it average your speed, take that value against the mpg chart, and read the gas level. I assume gas in cars is not mechanical, since it goes all the way down when the car is off... but I don't know.
For load (I’d assume that’s throttle position?) I would have it as a bar like in the new civic SI. I wouldn’t have the speed but instead a boost gauge (although I don’t think your corolla has much boost 😁.). And definitely an alert window that would notify you of an engine code. Maybe another window for lateral Gs and/or. A 0-60 timer. Anyway could this setup be used for changing some properties of the car??
i tried this the first error i got was attributeerror: module ‘obd’ has no attribute OBD and now i am getting the same error with using Async. Anyone know the problem?
this is super cool and i want to do it but im terrible with pi's. i would make gauges of sorts and have them fill up based upon the load/speed/rpm. what other data could you display on this setup?
Just for fun I wanted to try this out, however, even after entering 'pip3 install obd' (since I'm running python 3.5.3 on my pi) and rebooting my Raspberry Pi 3 numerous times, when I try to run your finalized code for the HUD, only a black screen is displayed. what could be wrong?
This question is completely unrelated to this video, but it didn't seem as though you were responding to ones on the original video. About 4 years ago you made a raspberry pi cluster copmuter - can you run programs with GUIs using the cluster, or only python/C++ files?
Although I think I come late to the party, I think I still can add my two cents. Maybe you could also show the fuel consumption together with a price of one trip... You'd have some button which would reset the counter and some input which would allow you to enter the price per gallon. That would be pretty cool I think! ;-)
For next project, combine camera and OBD... normally you will have screen with gauges, but when you shift to reverse, the camera will turn on and screen change to video of rear cam... allso you can add some features like radio, more gauges, door open screen (if OBD have it) and so on, there is a lot of things you can add :) btw. great video ;)
please help. I get the circles on the screen... in SCREEN i also get replied commands... but once I try to put text to pygame using your script i get connection.watch(obd.commands.SPEED, callback=get_speed) NameError: name 'connection' is not defined If I could get past this part it probably would be all clear.... heeeelp! And thank you for your awesome videos!
I would rather not display these 3 values, but oil pressure, oil temp, engine temp, turbo pressure, DPF current filled value, DPF "needs to be emptied" warning light, and others.
For anyone that tried this out I own a Fiat Barchetta from 1997, unfortunately the OBD2 on this model wasn't implemented... They're only available from the model in 2000 and older However fiddling around and finding on the internet showed that i could use the OBD3pin from the ECU (Engine Control Unit) with an adapter for OBD3pin to OBD2 I was wondering however, would like work with the code given and the program if i use an adapter? I'm afraid that i won't be able to get the wanted data out of this... I'll try regardless of this comment getting answers and update if anyone asks, but if anyone could update as i can't wait to receive my adapter, i'd be grateful
if i was as smart as you are, i would make a coat with all of this inside of it so that it would scan everything going on with my body, aka heart beat, heat, hydration. maybe hook up a camera to a pair of glasses via bluethoot on my shoulder with a rasbery py on my wrist.
Why would someone care about RPM and speed when using a scan tool, people want to fix their cars without paying thousands of dollars for full featured scan tool.
One thing I would add would be monitoring for the erro codes and other less visible information like engine temperature. Also personally I would not put speed and RPM since the car I drive already has it on the gage cluster.
I'd do it because my Spedometer is analog and falls out of sync.
This ringing everytime drives me CRAZY!
Been battling the connection errors with the python-obd module for quite some time now. Really helped me out, thanks a ton!
I'd add approximate gas consumption combining the data from the rpm, motor load, speed, and past mileage history. You could also collect your driving data every 5 seconds or so, export it after each day and use it to do big data analysis (useful graphs, data on best hours to go to particular places based on gas consumption, driver recognition/mood estimation based on driving style with machine learning classification,...)
I would get those little bluetooth tire pressure gauges to put on each tire and see if you can get the raspberry pi to talk to them.
I'm looking at doing the same thing but I'm exploring using a FPGA to give me the extra features I need as my car has steering wheel controls etc.
I would have the basics, Speed, Temp, Volts, if you wanted you could add a RPM gauge, and even more for diagnostics, or even make it so that when an event happens like oil pressure drops you can get a red light that the text "OIL" on it. you are off to a good start though
I think displaying check engine codes would be cool!
You should combine the back up camera and the readouts into one interface now
That's the hope!
I would place it in the lower corner of the screen, so I could have the navigation in another corner, with vehicle tilt, and incline in another corner, and maybe add current weather.
I drive a Prius. There isn't a gauge or display for coolant temp. I've used Hybrid Assistant and this is one of the readings available. This is one I would add if I were to make my own.
fuel economy!! that would be neat calculated from like speed and load or something
For a better interface you can design a webpage and host it using flask. Flask is very easy. The difficult part would be designing a dynamic webpage using JavaScript.
But if you have any experience with web design, this would make it easily expandable and more versatile.
You can ask your community to design a template for you if you aren't experienced in web design yourself.
Loving this project so far. Waiting for the next installment.
Step up from that would be to use Dash (by Plotly) and you'd have all sorts of neato widgets and graphics!
If you start loving JavaScript, you can give NodeRed a try. It has a very good dashboard and can call Python code if needed
Have a button to display car engine faults?
Keep up the good work
Cool project. For me I would be fuel curves and power output levels. You have done a lot of work here.
I am getting 'vehicle speed' is not supported error can anyone help
Thankxx
Why not use a webserver, run a browser in kiosk mode and push the data to a page, you'll have more flexibility in css.
I am making a digital Speedo for my car and can't work out how to get it to display the speedo needle and another a catch is I have not got an OBD II port as the car has a carburettor and I will be using a PWM that pulses X times per 1 revolution so would be good to see how to do it
i can you make a Tutorial on how to build a readout for issues of the car this would be really useful !!!
great Video man learned a lot !
Sharks with frikkin laser beams on their heads :)
Very cool project.
I would also like to add gauges for displaying the instantaneous torque and horse power produced by the engine. Also specs like air fuel ratio would be cool.
why the engine light is on and any other problems with the car oh and jarvis
I love this project. I really want to do this.
KiemPlant Well,just do it then😂
Hello, I have 8 lines of voltaje connected to some small lamps , some of this lamps will bécame on if 12 volts is on the líne , some voltaje is pulsed and if there is a voltaje there then the lamp will blink and a buzzer will sound , so I need to send this info to a cell phone, this task May be accomplished with a raspberry pi or arduino or what May I do?
Can we detect the brake pad thickness and harsh braking events ?
Hi, how did you power the rPI and the screen? Did you use 12v-5v converter?
bro, what to look for gear value?
what version of python are you using
That was awesome.
Hmmm. I think it would be fairly easy to change you speedometer to nice heads up display with some high brightness vdf display. Though I think there's already plenty of aftermarket displays available.
How about engine temp as a bar graph / chart along the bottom?
Can you make each gauge have a needle animation, and also tie into the other sensors like engine temp, battery voltage, oil pressure...ect. Pretty much all the info your odb puts out. Make info your current gauges are give or specifics of the ones you have.
I would also add fuel level and engine temp?
I can confirm this works on a Raspberry Pi 3B+ A bit finicky, but it did work.
Why did you use an engine telegraph when you said "speedometer"?
i would like to see the data transmitted to an app on a phone, connected by usb/lightning port (more secure i think) or through bluetooth. i think that would be awesome
I would add to that real time fuel consumption, average fuel consumption and how many km you can run until you need a refill.
Maybe you can use red-node and red-node-dashboard to make your interface
Sub'd. Jeeze. Why am I just seeing this now? This is pretty cool, really great work! Being a classic BMW nut, for ODB2 stuff, we tend to use the now archaic INPA software -- which kinda sucks by today's standards. While it provides great info, it's archaic/windows dependent, and the translations are terrible. I'm gonna take what I learned here (and in video 3), install Grafana on the Pi, then see if I can't simply pump these dynamic values into Grafana for an easier gauge like display of all the car's critical data points. Like, IAT, fuel trims, o2 readings, etc. Thanks again for the inspiration.
I would like to see the power output from the car. Your videos really help a lot and I am working on the getting my power outputted and logged to a file for later analysis. I wish I could send you an email on the updated code once I finish. But thanks for the great videos.
Needs BOOOOOOOOOSSSSSTTT
Maybe add music player (from your phone) and google assistant.
My car doesn't have approximate fuel range, so I would add that to the screen. All you would need to know is your car's tank capacity, and the mpg your car gets at certain speeds. Then just have it average your speed, take that value against the mpg chart, and read the gas level. I assume gas in cars is not mechanical, since it goes all the way down when the car is off... but I don't know.
this is pretty cool but obd is kinda old hat now i'd love to see you do the same but with canbus 😀
For load (I’d assume that’s throttle position?) I would have it as a bar like in the new civic SI. I wouldn’t have the speed but instead a boost gauge (although I don’t think your corolla has much boost 😁.). And definitely an alert window that would notify you of an engine code. Maybe another window for lateral Gs and/or. A 0-60 timer. Anyway could this setup be used for changing some properties of the car??
i tried this the first error i got was attributeerror: module ‘obd’ has no attribute OBD and now i am getting the same error with using Async. Anyone know the problem?
this is super cool and i want to do it but im terrible with pi's. i would make gauges of sorts and have them fill up based upon the load/speed/rpm. what other data could you display on this setup?
When you say terrible with Pi's, do you mean terrible with Linux? Cause basically I'm just using it as a small linux box with bluetooth.
yeah pretty much. im not familiar with any of the commands and i cant make it do anything useful
Tinkernut could to please tell a good and free place to learn Python and the raspberry pi terminal.
Just for fun I wanted to try this out, however, even after entering 'pip3 install obd' (since I'm running python 3.5.3 on my pi) and rebooting my Raspberry Pi 3 numerous times, when I try to run your finalized code for the HUD, only a black screen is displayed.
what could be wrong?
how can i use Cobra WIFI OBD2 and do the same
What woul i add ?
Oil temp
Oil preassure
Water temp
Intake air temp
Battery voltage
I'm gonna buy a car
Cars make great cases for Raspberry Pis.
Yandex Navigation? Google maps?
This question is completely unrelated to this video, but it didn't seem as though you were responding to ones on the original video. About 4 years ago you made a raspberry pi cluster copmuter - can you run programs with GUIs using the cluster, or only python/C++ files?
Although I think I come late to the party, I think I still can add my two cents. Maybe you could also show the fuel consumption together with a price of one trip... You'd have some button which would reset the counter and some input which would allow you to enter the price per gallon. That would be pretty cool I think! ;-)
That's a great idea! For even more awesomeness you could pull that data from some online API in real time.
What would I add?
MPG
Ambient Temps
Engine Temps
Maybe an option to give you trouble codes
Voltage monitor to keep track of your battery or alternator
For next project, combine camera and OBD... normally you will have screen with gauges, but when you shift to reverse, the camera will turn on and screen change to video of rear cam... allso you can add some features like radio, more gauges, door open screen (if OBD have it) and so on, there is a lot of things you can add :)
btw. great video ;)
also what display are you using?
It's the official Pi touchscreen
Sir, actually I wanna know how to put all these data to the web in real time.
But but but.... Python.... Errg.... It's the grand daddy of coffee script, and that is errg too
A HUD! You need a heads up display.
why not go right off the canbus im going to try it on a boat with 2 engine's
please help. I get the circles on the screen... in SCREEN i also get replied commands... but once I try to put text to pygame using your script i get
connection.watch(obd.commands.SPEED, callback=get_speed)
NameError: name 'connection' is not defined
If I could get past this part it probably would be all clear.... heeeelp! And thank you for your awesome videos!
It is un comm on like a comm port
Ok that's it, im buying Raspberry Pi !
OK that's it, I'm buying a car !
you can only add the things your ECU can read
i would make the background black with blue outline and text
Wait.... Python.... Qt.... oh my lord... how far has this gone?
This is way too hard. Where can I pay something that does the same thing?
i would install android (somehow ) on raspberry and use app called Torque PRO
yes it is very simple but give it a try with your smartphone
Juraj Konečný You can install Crankshaft on the Pi and run Android Auto
I would rather not display these 3 values, but oil pressure, oil temp, engine temp, turbo pressure, DPF current filled value, DPF "needs to be emptied" warning light, and others.
l could use QtQuick to improve the interface.....
I think Kivy would be more beautiful and simple
I like Kivy. Definitely nicer interface, but I disagree with it being more simplistic.
Add a visual representation of your gas tank
For anyone that tried this out
I own a Fiat Barchetta from 1997, unfortunately the OBD2 on this model wasn't implemented... They're only available from the model in 2000 and older
However fiddling around and finding on the internet showed that i could use the OBD3pin from the ECU (Engine Control Unit) with an adapter for OBD3pin to OBD2
I was wondering however, would like work with the code given and the program if i use an adapter? I'm afraid that i won't be able to get the wanted data out of this...
I'll try regardless of this comment getting answers and update if anyone asks, but if anyone could update as i can't wait to receive my adapter, i'd be grateful
if i was as smart as you are, i would make a coat with all of this inside of it so that it would scan everything going on with my body, aka heart beat, heat, hydration. maybe hook up a camera to a pair of glasses via bluethoot on my shoulder with a rasbery py on my wrist.
I'd like to log the data graphically. rather than display it
My brain hurts
Hack into your CANbus and control your ac, windows and so on.
GPS would be useful
The is no SMART CAR anywhere in this video.
These are steps to make a regular car smarter. Did you miss that?
Why would someone care about RPM and speed when using a scan tool, people want to fix their cars without paying thousands of dollars for full featured scan tool.