#421

  Рет қаралды 60,426

Andreas Spiess

Andreas Spiess

Күн бұрын

Last week my old Volvo suddenly stopped in the middle of a street in the city. Not a pleasant situation. Even worse! It showed an error message, and I could no longer start the engine anymore. I had to push it to the sidewalk and call my brother, a trained mechanic. The problem was smaller than I thought, and it can happen to you, too. Maybe you want to accompany me on my trip to prevent such things from happening again?
My second channel: / @hb9bla
Links:
OBD2 Shield: s.click.aliexpress.com/e/_ALbzXt
OBD2 connector: s.click.aliexpress.com/e/_ANVr7t or amzn.to/36vyIgS
OBD2 Extension cable: s.click.aliexpress.com/e/_AOnZeB or amzn.to/3ufTgSZ
Sandeep's libraries: github.com/sandeepmistry?tab=...
OBD2 introduction: www.csselectronics.com/pages/...
OBD2 shield docu: seeeddoc.github.io/CAN-BUS_Sh... and www.openhacks.com/uploadsprod...
Voltlog OBD2 video: • VW Can Bus Hacking Wit...
The links above usually are affiliate links that support the channel (no additional cost for you).
Supporting Material and Blog Page: www.sensorsiot.org
Github: www.github.com/sensorsiot
My Patreon Page: / andreasspiess
Discord: / discord
If you want to support the channel, please use the links below to start your shopping. No additional charges for you, but I get a commission of your purchases to buy new stuff for the channel
My Amazon.com shop: www.amazon.com/shop/andreassp...
For Banggood bit.ly/2jAQEf4
For AliExpress: bit.ly/2B0yTLL
For Amazon.de: amzn.to/2r0ZCYI
For Amazon UK: amzn.to/2mxBaJf
For ebay.com: ebay.to/2DuYXBp
profile.php?...
/ spiessa
www.instructables.com/member/...
Please do not try to email me. This communication channel is reserved for my primary job
As an Amazon Associate, I earn from qualifying purchases
#no#midroll#ads

Пікірлер: 479
@peter.stimpel
@peter.stimpel 2 жыл бұрын
Hi Andreas. Nice, but quite tough topic. We work a lot with CAN bus at work, various types. Yes, there are several different bus systems, different voltages, different speeds, different protocols, even diifferent number of wires. So many chances to do stuff wrong. Can't wait to see the 2nd part of your video. Good luck with the CAN, and cheers to BOSCH for inventing it in the first place.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You are right about all the differences. This took me the whole week to learn about them and to find out which one applies to my car. Now I hope I find the right sequence...
@PhG1961
@PhG1961 2 жыл бұрын
Indeed Bosch did a nice job with this, going back a few decades. I once told a junior mechanic that the Can bus was invented in Canada and therefore was abbreviated CAN. It was meant as a lame joke and that he saw this through. However... he didn't and ever since he's been spreading this fake news around... ;-)
@peter.stimpel
@peter.stimpel 2 жыл бұрын
@Philip Gevaert Hehe. During the past decade, I was - beside other duties - responsible for teaching installers how to mount our telematics hardware into vehicles, including CAN and troubleshooting. To award them with a certificate, we came up with a test they would have to finish, multiple choice style. One question: What means CAN? Not many get it right, and there are suggestions like "Controlled Autonomous Nodes" ... another question is about the right termination of the CAN. You would wonder how many fail to find the right values you have to measure when 2 of those 120 Ohms resistors are on the bus. However, these seminars were lots of fun, and most of those installers are able to troubleshoot CAN connectivity issues in the field.
@PhG1961
@PhG1961 2 жыл бұрын
@@peter.stimpel On many occasions it all comes down to motivation and perseverance... Btw, I had a side job as a teacher (electricity) for some years and I totally understand your statement of the many fails to answer/find the correct answer. I'm sure seminars can be lots of fun. I'm over 60 and still follow workshops and seminars. It keeps me sharp.
@peter.stimpel
@peter.stimpel 2 жыл бұрын
@@PhG1961 me, turned 50 a few eeks ago, fully understand your point. And I like the interaction with different people at those seminars.
@GarryMobi
@GarryMobi 2 жыл бұрын
Other possibility: Get a $5 OBDII-Bluetooth adapter, link to you phone and use one of the apps to check / reset codes ...
@jamesmichener7526
@jamesmichener7526 2 жыл бұрын
That would be too easy... but the obvious solution
@GarryMobi
@GarryMobi 2 жыл бұрын
@Andy Smythe I guess if you had powered an Arduino from the onboard 12V, it would probably have killed it, too ... goes to show: You need a decent power converter with a protection circuit when powering any devices ....
@he1py
@he1py 2 жыл бұрын
Do the cheap OBDII work on all cars?
@GarryMobi
@GarryMobi 2 жыл бұрын
@@he1py can't say if they work on all OBD2 cars, can only speak of a 2008 Volvo and 2017 Chevy... The elm adapter works on both
@alexsorensen2000
@alexsorensen2000 2 жыл бұрын
Hi, Volvo uses K-line and 2 CANbus:es, one Low-Speed and one Hi-Speed. Low-Speed is on pins 3 & 11 (OBD) High-Speed is on pins 6 & 14 (OBD) 1999-2004: Low-Speed: 125 kbps Hi-Speed: 250 kbps 2005-: Low-Speed: 125 or 250kbps (Unsure) Hi-Speed: 500 kbps Not all units are connected to both busses. The CEM (Central Electronics Module) is kinda like a router/firewall for the CANbuses, especially to and from the OBD port. It needs a periodic keep-alive message on the K-Line interface to "open" the firewall for the OBD CAN into the real CANBus network. K-Line baudrate: 10800 or 10400, 8N1 Msg: 84 40 13 b2 f0 03 7c Send it every 5 secs or so.
@crono331
@crono331 2 жыл бұрын
fiat also uses at least 3 buses depending on model, different buses communicate with different computers.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you for the info. I hope I do not have to deal with the other buses!
@stormvaneersel5476
@stormvaneersel5476 2 жыл бұрын
The firewall you're talking about is just two relays turning on and connecting the high speed CAN to the OBD connector. I've heard of people just bridging those relays
@ErikB750
@ErikB750 2 жыл бұрын
Don’t get me wrong and this is a fun project, but … there must be somewhere a message stating getting the issues diagnosed, checked and fixed must be the way to go. Just throwing away or resetting error messages all day long can cause quite some severe issues in the (not so) long term. If a sensor prevents the engine to run, it could be caused by a sensor that fails the engine management to tell in which phase the engine/cylinder is. This info is crucial to inject fuel and spark at the right time. That said, bring on part 2 !!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I agree that dealing with errors is important and I trust that my viewers know that. I just wanted to get off this street into a safe place (I am a Volvo driver ;-)
@popviz3316
@popviz3316 2 жыл бұрын
With you brother's expensive diagnostic tool ,and your logic analyser you could rule the ODBII world! :-)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I hope so. For the moment I more feels like a "looser" :-(
@antaljani
@antaljani 2 жыл бұрын
I was waiting for this kind of video from you Andreas and here we go. Many thanks for this and I can't wait to see the next one.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I am not sure if I need a next one if I believe the many comments writing that a Smartphone app is able to reset the alarms... For the moment it did not re-appear.
@antaljani
@antaljani 2 жыл бұрын
@Andreas Spiess Bad news... I was interesting more n your project... I had project something similar, like yours, but I could not fnd the speed of communication. I still struggling here... :(
@ulwur
@ulwur 2 жыл бұрын
Andreas! I have THE same car, even same colour and rims. And like yours it's starting to show it's age. I NEED you to finish this project so I can keep my old companion running.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Indeed I like it very much, too. We will see how far I get. It seems I get a lot of help in the comments.
@avejst
@avejst 2 жыл бұрын
great project 👍 thanks for sharing your experience with all of us 👍🙂
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you!
@johnnycernato4068
@johnnycernato4068 2 жыл бұрын
Hi, the MCP2515 offers two filter masks and 5 address filters, you can use these to filter out messages from control-units you are not interested in - and bring down the 1500 packets/s to a more reasonable amount. In my project though I had to set the device into loopbackmode to successfully set the filter and into normalmode afterwards. I'm very interested in interfacing with cars via can-bus and very keen on your follow-up video. If you'd like more info about how I implemented filtering let me know! 😃
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I saw this filtering method but never used it because I changed to low-level sniffing. Now I can filter with excel. This is well known to me ;-) So far I still do not know which filter to apply...
@dannytemmerman16
@dannytemmerman16 2 жыл бұрын
@@AndreasSpiess One way to easily filter the correct ID´s is to look at the cycle times. OBD or UDS ID´s are often not sent cyclic. So if you exclude all the cyclic ID´s you should be able to find the service ID´s.
@kitkat224
@kitkat224 2 жыл бұрын
In my experience with mcp2515, the CAN library was too slow to receive messages, because it was relying on reading the status register, utilizing rx0 and rx1 buffer interrupt I was able to capture all th messages
@philliptoone
@philliptoone 2 жыл бұрын
I'm looking forward to hearing more about this from you as you continue with this project. As always, thanks for sharing what you do in videos like this.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
If I believe some commenters, I can solve the problem by purchasing an app. We will see...
@sammyk7024
@sammyk7024 2 жыл бұрын
Nice! Can't wait for the follow up video. I have a similar project in my TODO list, except for different purposes: My brother has a broken dashboard (with intermittent malfunction) so he purchased a second hand dashboard (the new ones are ridiculously expensive). The problem is that now the kilometers on the (new) dashboard do not match the kilometers on the ECU. Because of that, the vehicle fails the annual obligatory inspection. I'm hoping to learn something on how to approach my build. :)
@oilybrakes
@oilybrakes 2 жыл бұрын
Maybe it is enough to just swap the flash memory on the two instrument clusters.
@sammyk7024
@sammyk7024 2 жыл бұрын
@@oilybrakes A bit of an invasive and risky option, as I lack decent equipment to perform such a task. I'll have to consider it, nonetheless, as a last resource, if a software based approach fails.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Your project seems to be far more complicated than mine :-(
@sammyk7024
@sammyk7024 2 жыл бұрын
maybe not that "far", on the hardware/software side, but I'm counting on having to interpret insane amounts of data. filtering the "noise" will be challenging for sure, but I like challenges. and my brother has beer. what can go wrong? :-D
@tonysfun
@tonysfun 2 жыл бұрын
Very interesting project! Thanks again Andreas!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You are welcome!
@edivollgas719
@edivollgas719 2 жыл бұрын
Another interesting piece of information. Thank You ! As others already suggested I use the elm327 bluetooth dongle in two ways. First to read and reset errorcodes for repair via "torque" android app and plugins. Second to display some data not available in the cars instrument cluster via a ttgo tdisplay and obd arduino libraries but all are working random on reconnecting bluetooth ..... WIP.....
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I tried some apps in the past but they did not offer the function to clear DTCs. After many comments, I checked again and this function is only offered in the "pro" version for 20 bucks. I will buy it and hope you are right ;-)
@alanclark988
@alanclark988 2 жыл бұрын
Unfortunately the ELM327 does not work on Nissan 2015 Livina & 2018 Micra: There is another protocol layer, known as Consult-III which messes things up for "ordinary" people :-(
@edivollgas719
@edivollgas719 2 жыл бұрын
@@AndreasSpiess as You know beeing universally right is difficult. So I can say it worked for me on my BMWs and Opel cars years 2000 to 2015. Also its only for OBD (emissions) errors so covers most engine faults. Have it for several years and think pro licence was cheaper then ? Other systems or deeper diagnose is sure marque specific sw .
@Miltiadis_Vouzounaras
@Miltiadis_Vouzounaras 2 жыл бұрын
Waiting for the next video. I'm very happy for the reference on 07:00!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I always try to provide the source ;-)
@michaelbruns473
@michaelbruns473 2 жыл бұрын
Hallo Andreas, you opened a whole can of worms - so to say ;-) I applaud your determination and methodical approach! But there are much easier ways to clear those pesky DTCs. One of the easiest is to use a Chinese clone of the ELM327 Blue-tooth adapter and the Torque application on your phone. There are also several other free Soft wares for use with your Laptop - if you are so inclined. Careful with clearing DTCs before going to technical inspection, since it will result in a "p1000 obd2 cycle not completed" DTC. Some cars seem to have built in random error generators - maybe to generate additional income for the dealers ?? Honi soit qui mal y pense...
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Good to know about the "p1000 obd2 cycle not completed". However it seems it is a "non-blocking" code So far the Volvo never exposed such a behavior...
@timothystark5986
@timothystark5986 2 жыл бұрын
Yes, here in states you can't clear the codes immediately and then take it to an inspection station for its yearly safety inspection. You have to drive the car some minimum distance before the system is "ready" again. This was done to prevent people from tampering with their emissions systems in the car and passing inspections. OBDII was conceived as baseline communication language for emissions related issues only. The standard gives the minimum items to monitor but in recent years it has been extended to other items by each manufacturer by adding nonstandard functions. Modern cars typically will have more than one protocol also, they all will have OBDII because it is mandated by law, but they usually will have some other protocol that only oem tools can speak.
@sophiesmith5922
@sophiesmith5922 2 жыл бұрын
@@timothystark5986 Correct. Andmy error comes back after I drive far enough, but inspection shows no real issues, only a computer error. I will never pass emissions again!
@markii72
@markii72 2 жыл бұрын
@@AndreasSpiess In Germany you do not need to worry about P1000, the OBD drive cycles in E-OBD cars are much more limited. If you cleared the codes and drive it once until warmed up (~10 min. or so), that's enough to set the monitors on German market cars. TÜV doesn't care, in the past they manually checked the exhaust output if the monitors were not set, nowadays they check the exhaust output regardless. In the US that's a different story, they only look at those monitors and some of them are tricky to get set to the "Ready" state. You can easily spend 2 hrs or so after clearing the codes to make them set again and you need to drive a very specific way to set them, which can make it annoying and/or downright impossible (unless you do it in the middle of the night without traffic).
@victoryfirst2878
@victoryfirst2878 2 жыл бұрын
This is both interesting and useful. I can now make me one too. Thanks a bunch for going down a path that will make any car dealership cringe with disbelief that average people can figure out how to repair something as complicated as a car computer. Good day to you from USA. vf
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
If you read the comments, some apps also seem to do the trick. I still wait for the error to re-appear...
@victoryfirst2878
@victoryfirst2878 2 жыл бұрын
@@AndreasSpiess Got it fella.
@feriszabi6921
@feriszabi6921 2 жыл бұрын
Nice concept ! I've just bought an elm327 USB device , an OTG cable , connected to my Android phone and used an app to reset ,diagnostic my car, this is more convenient to me than using a big laptop!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Which app did the trick?
@feriszabi6921
@feriszabi6921 2 жыл бұрын
@@AndreasSpiess EOBD Facile
@klave8511
@klave8511 2 жыл бұрын
Torque for Android does it for me (with the cheap Elm 327). Torque’s free version does basic stuff and the paid version is almost free. Logs data too. Lots of fun. Debugged my oxygen sensor with it, it was responding too slowly. Found a bad coil and bad plug after it reported a misfire on cylinder one on my daughters car. Agents spent 2 hours and found nothing and wouldn’t take my feedback seriously. Eventually, and almost $300 later I told them to put it all together and I replaced one coil and all the plugs. Problem solved.
@Evgen-Evgen-Evgen
@Evgen-Evgen-Evgen 2 жыл бұрын
Very cool video. We pray for you success)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you!
@gabrieldaniel7441
@gabrieldaniel7441 2 жыл бұрын
Hello Andreas, interesting video. I work for some time in this domain and I think deleting the DTC's is not a good idea. The purpose of DTC's is to indicate to the driver that there is an error and to the mechanic where the error is. The sensors are read cyclically (every few ms) and if one of them has an error the SW goes into a state then a DTC is set as present-active. Sometimes you can clear this type of DTC's but they will be set again in few ms because the error is still present. The car will not start because the SW is in a "locked" state not because the DTC is present. If after a while the sensor is read correctly then the DTC is set as present-inactive, to indicate that there was an error in the past. You can clear this type of DTC's but then you will not know where the error was (I think this is your case) If the car does not start my suggestion is to disconnect the battery for few seconds, this will reset the electronic devices. I made a trace of some communication. In the traces I am connected directly to an electronic device but on the real car there are multiple CAN buses and the central computer acts as a gateway (server). The OBD is connected to the central computer so your communication will look a little different. Clearing some DTC's might require the car to be in a specific session like "Extended session" or "Diagnostic session" and entering in some of them require security access. This is done automatically by the expensive diagnostic tool depending on the VIN of the car. My suggestion is to record the requests sent by the expensive diagnostic tool (I think only the clear DTC should be enough) and replay it using the Arduino to see if it works. Trace from car manufacturer 1: Time Dir ID Data [+] 5.210535 Tx 64A [02] 10 01 [00 00 00 00 00] -> 0x64A = id of transmitter, 0x02 = nr of bytes with useful information, 0x10 01 = default session, 00..00 = dummy data. Data comes usually in 8 bytes packages [+] 5.211018 Rx 6B4 [06] 50 01 00 32 01 F4 [AA] -> 0x50 01= positive response. If the response = 0x40 + request, you get positive response, if the response is 0x7F you get negative response [+] 17.856905 Tx 64A [02] 3E 00 [00 00 00 00 00] -> 0x3E 00 = tester present, this is usually sent cyclically to keep the device in a special session [+] 17.859119 Rx 6B4 [02] 7E 00 [AA AA AA AA AA] -> 0x7E = positive response (0x40 + 0x3E), 0xAA - dummy data [+] 37.954872 Tx 64A [04] 14 FF FF FF [00 00 00] -> 0x14 FF FF FF - clear all DTC's [+] 37.956562 Rx 6B4 [01] 54 [AA AA AA AA AA AA] -> 0x54 - positive response [+] 44.731985 Tx 64A [03] 14 FF FF [00 00 00 00] -> 0x14 FF FF - try to send incorrect command (it should need another FF) [+] 44.734359 Rx 6B4 [03] 7F 14 13 [AA AA AA AA] -> 0x7F - negative response Trace from car manufacturer 2: Time Dir ID Data [+] 424.415898 Tx 73A [02] 3E 00 [+] 424.425278 Rx 63A [02] 7E 00 [+] 427.682021 Tx 73A [02] 10 01 -> default session [+] 427.705014 Rx 63A [06] 50 01 00 32 01 F4 [+] 431.508870 Tx 73A [02] 10 03 -> extended session [+] 431.524970 Rx 63A [06] 50 03 00 32 01 F4 [+] 436.152013 Tx 73A [04] 14 FF FF FF [+] 436.214631 Rx 63A [03] 7F 14 78 -> negative response, device is processing [+] 436.424719 Rx 63A [03] 7F 14 78 -> negative resp. [+] 436.544580 Rx 63A [01] 54 -> positive resp.
@kartoffelbaer1
@kartoffelbaer1 2 жыл бұрын
good luck! :) Lovely project
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you! 😊
@BerndFelsche
@BerndFelsche 2 жыл бұрын
Diagnostic connector is often on a "gateway" between the several CAN buses in a vehicle. The drivetrain bus can operate at 2 megabits per second and the "convenience ' bus as slow as 125 kilobits per second. The gateway routes messages between buses, depending on what device has registered an interest in that message type... which can be somewhat dynamic but is often coded into devices such as the gateway. The protocol was designed (obviously) by committee with scant regard for the sanity of those who implement it. It's nice in principle but the details are a swill.
@SpeedFlap
@SpeedFlap 2 жыл бұрын
Highspeed CAN in vehicles is 500kbit/s at almost every carmaker. 2MBit/s is only common in very modern CAN-FD networks.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Indeed it seems to be complicated. Even on old cars like mine...
@fitybux4664
@fitybux4664 2 жыл бұрын
Some cars have multiple CAN buses with gateways going between them. (Modern car design so that attackers can't screw up everything all at once. And also, as a separation of duties.) Radar CAN buses are common.
@jmonsted
@jmonsted 2 жыл бұрын
If someone was up to the task of recreating the expensive scanner tool as open source, millions of mechanics would love that :)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I can imagine the happy people. It would be a lot of work and you need a lot of different cars, I assume.
@dryber2
@dryber2 2 жыл бұрын
good luck with this project is very interesting
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you!
@mygpsforcegpsforce2174
@mygpsforcegpsforce2174 Жыл бұрын
Muy buen video gracias señor
@AndreasSpiess
@AndreasSpiess Жыл бұрын
De nada!
@McTroyd
@McTroyd 2 жыл бұрын
My mother has a Volvo XC 70 of about the same vintage as yours. That car is too smart for its own damn good. In her case, the engine faults actually warranted an engine shutdown (oil pressure problem), but we would have really appreciated a more helpful message than a service warning on the dashboard. It ended up being her oil catch can, which hadn't ever been checked, was full up to the point it was slightly interfering with oil flow. Still, that was a US$1000 dealer service visit I could have fixed myself. Volvo makes a great car, but this is definitely a shortcoming.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
It seems that many viewers have stories like that with their cars... We will see how my story ends ;-)
@kib2675
@kib2675 2 жыл бұрын
Very interesting. The check engine/Alarm signals are related to the printer manufacturers who will not let you scan with empty ink cartridges. As the owner of the car I want to control which alarms are worthy of my attention. Looking forward to next chapter.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I hope I will be successful!
@FrankGraffagnino
@FrankGraffagnino 2 жыл бұрын
i'm looking forward to updates on this!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
:-)
@rickv5004
@rickv5004 2 жыл бұрын
i find it hard to believe a volvo would break down, they're one of the most reliable cars on the road
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
The alarm never returned since then….
@bbogdanmircea
@bbogdanmircea 2 жыл бұрын
I see the library also works with ESP32. But you need a transceiver. Do you know if there are any boards with CAN for ESP32, or I should build it myself?
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You can search for MCP2515 and you will get simple modules. They seem to be 5V. This is why I use the arduino for the moment.
@ragohy
@ragohy 2 жыл бұрын
@@AndreasSpiess Hi Andreas, Use the SN65HVD230 3.3-V CAN Bus Transceiver @ your ESP32! According to NXP AppNotes and my very experience, there is NO violation of CAN BUS integrity with Mixed 5V transceivers @ the same bus. (running in my car Environment for two years now) Best regards Henry
@julianbambus9722
@julianbambus9722 Ай бұрын
Hoi, super projekt! Bin an was ähnlichem dran aber was ich mich frage ist das der CanBus aus dem OBD2 eine zu hohe spannung hat. Bricht das shield das auf 5v runter oder wie hast du das gemach?
@AndreasSpiess
@AndreasSpiess Ай бұрын
Die CANbus Treiber auf den Boards können mit 12V umgehen.
@eduardo9626
@eduardo9626 2 жыл бұрын
Thanks for video and subtitles in Portuguese
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You are welcome! This is because Nuno does the translation!
@farmerwoody123
@farmerwoody123 2 жыл бұрын
I think CAN analyser software is very useful for this sort of thing. There is a python library called python-can that can be used with many different CAN interfaces, including CAN messages converted to serial (e.g. from your arduino). Maybe the live message viewer could help you identify the diagnostic tool messages (they would only be sent once when you request the code reset).
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you for the info. Maybe it helps!
@RideGasGas
@RideGasGas 2 жыл бұрын
Looking forward to your next video on this. I have an OBD2/CAN reader tool that is sort of mid level ~85 USD that will read and reset codes on each of my various vehicles, Ford, Saturn, Honda, Jeep, Hyundai, and Mercedes. They range from 2000 to 2019. Not quite ready to tinker with my 2018 E63s AMG's bus but wouldn't worry too much about the Saturn :) Beyond resetting the DTCs, the next step is controlling features of the car. For example, my Mercedes shipped with intelligent LED lighting that is capable of operating with the high beams on all the time and just cutting out a box of light for oncoming traffic or for cars in front of you, however due to US DOT regulations the intelligent feature is disabled for US cars and we only get simple high beam low beam operation. Thankfully, the US recently changed this law so smart headlights are coming soon. In the meanwhile, it is possible to recode the car via the OBD2 connector and make it think this feature is enabled. Driving the car at night on the highway with this feature enabled, well it's like night and day difference almost :-). Other interesting features to play with depending on the vehicle. I wonder if the Raspberry Pi with more capability and ready access to Python and more space for libraries would be a good platform to start from for the more advanced bus fiddling?
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Your project ideas are far more complex than mine! I hope you find the needed information because it seems car companies protect it very well...
@KlausMusch2
@KlausMusch2 2 жыл бұрын
I also did some investigations with the CAN-bus and ODB2 in the past. Not only for resetting error codes, but also to set certain behaviour of the car, e.g. the behaviour of electrical side mirrors, behaviour of lights when leaving the car and so on. I bought a device called obdeleven which is able to do all these settings. It is not too expensive, but for every change you want to do you have to pay. So I tried to sniff the packets. I found a software for Arduino for sniffing and serial dumping raw data from the bus. The library "Mechanic - Hacking Your Car Version 0.6" from Joerg Pleumann still works well, although being from 2013. It has several examples, one is a sniffer. There was also an article about this in german magazin "c't hacks" from 2013. With the sniffer I got tons of packets when setting certain behaviour of the car (e.g. side mirrors), all of them not standardized. After hours I gave up trying to understand them. I have a simpler device called "Ysding JD-101" which is able to delete error codes. Maybe I should try to sniff that device.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Your problem is more difficult, I think! Thank you for the tips about the sniffing software and the device. Maybe I buy one and if it works, my problem is solved ;-)
@raniathemri949
@raniathemri949 Жыл бұрын
wow what a great video thank you a lot u gained yoursel an other subscriber is the second part ever comming soon?
@AndreasSpiess
@AndreasSpiess Жыл бұрын
Welcome aboard the channel! So far, my car never stopped again. So I have no need for a part two (at least until now).
@nkronert
@nkronert 2 жыл бұрын
Question: is it possible to set off an airbag if one by chance sends the wrong command? That thought has always kept me from experimenting with the CAN bus in my car so far.
@mrfrenzy.
@mrfrenzy. 2 жыл бұрын
No, there are no CAN commands that could set off the airbags. They only react to impacts from the collision sensors.
@nkronert
@nkronert 2 жыл бұрын
@@mrfrenzy. that's a relief. Thanks!
@baconsledge
@baconsledge 2 жыл бұрын
I have a cheap Autel block that plugs into the OBD-II port and works with a phone. It was less than $99 US at Walmart. I have reset errors and the diagnostics and CAN messages are very good and reports can be generated in PDF and emailed . Worth every penny.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Good to know. Thank you! Would be much easier.
@TradieTrev
@TradieTrev 2 жыл бұрын
I've got one of Voltlog's units myself without an ECU car lol.... My plan is using those CANBUS rain sensors in trashed cars for a lora weather station.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Nice project! This should be possible because you only have a one sensor as a source of messages...
@TradieTrev
@TradieTrev 2 жыл бұрын
@@AndreasSpiess esp chip will be for local access but lora can share info much further for fellow radio hams! You give me good ideas mate!
@he1py
@he1py 2 жыл бұрын
Hey Andreas, This is Mohamed 7X3TL, I have been fiddling with CAN Bus for a little time now on my Peugeot 207. And to say the least my car has 4 CAN buses, two of which are exposed thru the OBD connector, pins 6 and 14 are for ECU CAN and pins 3 and 8 are for diagnostics, I made a little app using Delphi to read the messages and interpret them I get a lot of sensor data that are given by the ECU automatically, but as of yet, I havent been successful in getting the DTCs from the Diag Bus, still trying though. Keep up the good work, totally a fan here!
@ErikB750
@ErikB750 2 жыл бұрын
Any documentation of your work online ? Sounds interesting !
@he1py
@he1py 2 жыл бұрын
@@ErikB750 haven't reached the point where I feel confident to share it, but, since there is interest I will document it somehow. Thank you
@mrfrenzy.
@mrfrenzy. 2 жыл бұрын
Get a clone diagbox/lexia or find someone that has one that you can borrow. Then you can send all commands from the computer like clear dtc or activate actuator and sniff the messages.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@Mohamed: I knew they have more than one bus. But I was not aware the second bus is also exposed to the OBD connector!
@he1py
@he1py 2 жыл бұрын
@@AndreasSpiess neither did I until I checked Peugeot official electrical documentation.
@krimke881
@krimke881 2 жыл бұрын
Are you making sure you don't reset more than just the alarms. So that the ECU don't revert to a kind of 1st startup every time you do this? hence it need kilomenters to tune in your driving, tune fuel to air mix ratio, etc. Seen a few try similar before, and actually in practise, doing the same as disconnecting the battery would do. So fuel consume went up and more.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
So far my plan is to copy the commands issued by the Autel device and hope it will not harm the car.
@willallen7757
@willallen7757 2 жыл бұрын
Have you tried turning it off and on again ? :) unhooking the battery for a few minutes may also correct the problem .
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Interesting! Another viewer suggested to turn the key a few times without starting the engine helps (see pinned comment).
@str0g
@str0g 2 жыл бұрын
can you tell us in ur case what repairs have you done on your 16 year old volvo?
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
So far only one sensor/valve (I do no longer remember which one) and the navigation system. It has close to 200'000km.
@gyuri911
@gyuri911 2 жыл бұрын
We might get some fun car projects here! Also this car is old enough not be overcomplicated so you might have some cool additions like the garage opener on the Harley but more built-in
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
The garage door opener is already built-in ;-)
@nrdesign1991
@nrdesign1991 2 жыл бұрын
One of the few remaining fields where you can save serious money by DIYing :)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
But it seems not to be easy :-(
@contentnation
@contentnation 2 жыл бұрын
I've done car CAN-bus decoding. The hardware level is easy. You'll get those message, but the interpreation what those message mean is non-trivial. To decode it, you need a car maker and often model and year specific lookup table. In this table you'll find info like this: Message 100: 8 bytes length, 6 bits of information A, 3 bits of information B, .... Sometimes you even need a formula to make "useful values" out of it. Like temperature where it you need to extract the relevant bits, make a number of it and multiply with 10 and add an offset of -30. Fun stuff like this. Maybe you are lucky and such a lookup table got leaked or reverse engineered for your car. OBD2 is just a subset of those message where the "which bit mean what" is specified across makes and models. Another thing that should be open for right of repair stuff. But the manufacturers will fight this with every method they can. You could build amazing stuff if that data is know. As said, been there, done that. But the table was under NDA and sadly not the make and model of my personal car :(
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I agree about reverse engineering. I know this from other applications like sensors. Here I hoped I could only copy the reset commands of the Autel instrument (if I ever find them)...
@jon_raymond
@jon_raymond 2 жыл бұрын
I had a similar issue and used a cheap ELM327 Bluetooth module with an Attiny85 which monitors a button and sends the reset over UART to the ELM327.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Cool! But where did you get the reset commands from?
@jon_raymond
@jon_raymond 2 жыл бұрын
@@AndreasSpiess The ELM327 has a list of commands. If you send it "04" over UART it clears all engine codes.
@jafinch78
@jafinch78 2 жыл бұрын
Interesting timing. I received and tested out my Panlong bluetooth OBDII adapter that was amazingly cheap to buy online. I paid a little more from an eBay seller so to get shipped sooner... though ~$13 is a way better price that what I first paid for (~$67) and returned once I found the ELM327 & Panlong versions. I'm only using Hybrid Assistant on Android LG G4 phone for now to display engine coolant temp since I blocked my engine radiator grill 100% a few weeks back. Amazing what is capable with better software... days when would be nice if there were better open source protocol/communication analyzers for the LA's.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Is it capable of deleting the engine blocking messages or only to do analyses?
@TheSflanker2
@TheSflanker2 2 жыл бұрын
@@AndreasSpiess Maybe yes. Try it. I had tested APS error, but this didn't make engine block. I can delete error message with this. Please refer APS test on my channel.
@jafinch78
@jafinch78 2 жыл бұрын
@@AndreasSpiess Looks like my replies are being deleted, I guess due to links provides? Maybe you've received in related email notification if you get?
@jafinch78
@jafinch78 2 жыл бұрын
@@AndreasSpiess Well, YT is capable of deleting messages. Yes, appears is a transceiver bluetooth device that is not only for Android as listed with Torq Lite and OBD Auto Doctor... the Amazon seller noted in a reply ""PCMSCAN and ScanMaster-ELM can work with Windows." Listing notes "Support all OBDII protocols: J1850 PWM, J1850 VPW, ISO9141-2, ISO14230-4 (KWP2000), ISO15765-4 (CAN-BUS)"
@jafinch78
@jafinch78 2 жыл бұрын
@@AndreasSpiess I think I noted in a reply that might be worth finding the application that is most cost effective that can delete the codes and when doing that, use the LA to determine what is being sent during that process. That's if there isn't an open source functioning way. I think that's about all I noted in the deleted reply comments, with the amazon link that can be found by searching "Panlong Bluetooth OBD2".
@ellisdeon
@ellisdeon 2 жыл бұрын
I had a problem with a faulty crank sensor on my car. I used the ELM327 Bluetooth dongle and a app on my phone the pro version and was able to find the problem and to reset after replacing the sensor. The dongle is now kept in the glove box off the car.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Good to know, thank you. Because others also wrote that these apps work I will purchase one and try...
@kerwincarreon7621
@kerwincarreon7621 2 жыл бұрын
You are very interesssssting guy
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
:-)
@doranku
@doranku 2 жыл бұрын
If the warning light would be off in my car, that is the time to worry! It always reports some error concerning O2 levels IIRC, but it passes MOT, sensors where switched but error remains. Hope you have success.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Modern technology has lots of secrets ;-) Here the alarm did not reappear up till now. We will see how this will go on...
@mahudson3547
@mahudson3547 2 жыл бұрын
I carry one in my camper van because I cannot push it! Chinese ELM327 about $4 and it connects by Wi-Fi to an app on my phone. Shows me the fault list and clears it as well as all the live data. But that’s not really the point, is it… Good luck!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
It is the point (and I did not know it exists because my ELM327/apps never killed the alarms)! Which app do you use?
@mahudson3547
@mahudson3547 2 жыл бұрын
@@AndreasSpiess Car Scanner by Stanislav Svistunov. It has saved me many times. I hope you follow the rabbit hole with the logic analyser - I have been tempted to have a look. But be careful or you will find you have a very large brick !
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@@mahudson3547 Downloaded! I will try it tomorrow... Thank you.
@thesimbon
@thesimbon 2 жыл бұрын
In emergency usually you can still unplug battery for some time to clear the dtc errors, the time depends on the car.
@mybricology7388
@mybricology7388 2 жыл бұрын
DTC are stored in flash/ee-prom for many years at least for the last 20/25 years, I'll be very interested to learn which car maker had been using Engine Control Unit that do not back-up their DTC in EEPROM/Flash?
@thesimbon
@thesimbon 2 жыл бұрын
@@mybricology7388 in my astra g you can at least for those who turn on the check engine light, but I don't have a professional tester to read more in depth.
@korgmangeek
@korgmangeek 2 жыл бұрын
@@mybricology7388 Same trick (you can remove the ECU fuse to clear ECU) works on japanese car of 2004. I will not name the brand 🙂
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Not easy in my car because the battery is buddied under the rear trunk...
@thesimbon
@thesimbon 2 жыл бұрын
@@AndreasSpiess as mentioned before also pulling a fuse or any other means to cut power to the ecu would do
@PhG1961
@PhG1961 2 жыл бұрын
Been there, done that. I bought a cheap one (25 EURO), with the reset functions available and it always stayed in my car. If I'm not mistaken, there are can bus parameters that are proprietary to the car manufacturers and can only be read/reset using the genuine software libraries. This equipment is rather expensive.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Which kind of errors were you able to kill? I tried it last time but was not able to reset the engine blocking code.
@PhG1961
@PhG1961 2 жыл бұрын
@@AndreasSpiess I used my device on 2 different cars (Opel and Jaguar). The Opel had a "top dead center sensor" (=Google translate). Usual there are 2 of these sensors in modern cars (camshaft sensor and the crankshaft sensor). If one fails, you get an error message but the remaining sensor will allow your car to go on. Once the 2nd sensor is broken down, it's game over and your car will stop instantly. Here you can easily reset the error message of the sensor. The Jaguar had a burnt valve and a gas mixture/ignition error. Also here I was able to reset the error, even while driving the car. At some point I tried to disconnect/bridge/by-pass the sensor that was sensing this error, but that was way to complicated.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@@PhG1961 Thank you!
@H2O2FromH20
@H2O2FromH20 2 жыл бұрын
I have a suggestion. Have your brother connect up his diagnostic device, and snoop the can bus as he sends the rest command for your model of car. I have a feeling each model of car is different, this is probably why the cheep obd2 don't have reset.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Actually, my plan is to find the commands the Instrument sends. But finding them was not easy up till now :-(
@amessman
@amessman 2 жыл бұрын
What model Volvo? Looks like a 2006 XC90? I have an '06 XC90 and my OBDII dongle actually made the computer restart when I was driving.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Yes, it is a 2005 or 2006 XC90. So far it was reliable...
@CortVermin
@CortVermin 2 жыл бұрын
i wonder how this OBD2 port could be used via 433hz devices to send all those cool data to your home. some tires are already sending their pressure to my RTL dongle, but im more interested in the weather (or at least my own car :D)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Not easy, I assume because the data rate is quite high. WiFi probably would be better...
@BenMitro
@BenMitro 2 жыл бұрын
I would love to get a scanner for my old Holden Monterey (Trooper, Bighorn, Acura, Horizon, Monterey et al)) with the 4JX1 diesel engine but it doesn't respond to any ODB2 readers/scanners - it has the plug though, so I figure it must support an older protocol, so this project would be very interesting to me.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
These connectors support also non- CAN protocols. But I have no knowledge about them…
@Helder_Paulo
@Helder_Paulo 8 ай бұрын
I would like to read obd2 value and put then in a display, so I can later use value of rpm readed and every time rpm are between 1500 and 2000 activate an water pump. Is it possible?
@AndreasSpiess
@AndreasSpiess 8 ай бұрын
Yes, you find such projects using Google.
@Helder_Paulo
@Helder_Paulo 8 ай бұрын
@@AndreasSpiess actually you don't for few reasone, some incomplete, just show it working or show half of it, others like a like but they aren't what I looking for
@magikben
@magikben 2 жыл бұрын
The reset often has to be done under specific combinations of key position and engine condition (typically off with key in run position). You sketch would need to run at the appropriate time for your car.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You are right with the service message. There I found the process on KZfaq. But so far the only way to delete the other messages was to have the car on and use the analyzer instrument shown in the video.
@c7ndk
@c7ndk 2 жыл бұрын
I can highly recommend the OBD2 sniffers from Freematics. Those are designed for Arduino and ESP32 with cellular connectivity!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you for the info!
@atomikrobot300099
@atomikrobot300099 2 жыл бұрын
Post this to SwedeSpeed! There are many of us who get up to Volvo CAN shenanigans. Sorry to hear that your P2 XC90 let you down there. They're usually so reliable.
@atomikrobot300099
@atomikrobot300099 2 жыл бұрын
Feel free to ask any details about the Volvo P2 CAN network design BTW. We've done lots of projects and reverse engineering.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You saw where I stand now. What I would need is the reset commands the Arduino has to send... My shield should be able to create any CAN bus message.
@atomikrobot300099
@atomikrobot300099 2 жыл бұрын
@@AndreasSpiess Also look up a device called the CFE Plus / CFE Ultra. It adds many capabilities and automations to Volvos because of their CAN architecture. E.g. You can display any info/error message you want in the DIM LCD display, read out error codes, reset error codes, use your door mirror joystic as a mouse, auto-heat seats when it's cold out, etc.
@atomikrobot300099
@atomikrobot300099 2 жыл бұрын
@@AndreasSpiess The latest CFE device can also serve as a J2534-2 with the latest firmware. The more I brainstorm this problem you have, the more I feel that the CFE in one package does everything you need and more... It resets your codes, let's you view any problem on the LS and HS CAN bus without VIDA, lets you reset modules, lets you automate and add features from later generation Volvos, acts as a DiCE unit for VIDA (if you want the rich diagnostics/history viewing), has WiFi+BLE for ease of viewing / control instead of using the mirror joystick, logging, etc.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@@atomikrobot300099 I hope I do not need it because it cost more than 200 Euro. (CFE Ultra). An Arduino would be cheaper ;-) But good to know that I have a backup.
@andineise3513
@andineise3513 2 жыл бұрын
Hi Andreas, I've done some projects with the ESP32 and the internal can transceiver or the teensy 4.0 and there two internal can transceiver to control electric power steering pump or use it as a hmi for the megasquirt ECU. But in your point, the fastest way to find the error reset is, to connect your Arduino sniffer between the car and the diagnostic tool and sniff the error reset command. Greetings from Germany Andreas
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
That was (or still is) my plan. But it is not so easy to attach the messages to the sender :-( CAN is a common bus and you see all signals.
@andineise3513
@andineise3513 2 жыл бұрын
@@AndreasSpiess yes it's not easy, but if you sniff a longer time you can ignore all ID's they comes repeatly and the remove DTC command will only come ones. Maybe Wireshark can help you to interpret the sniff. If I have time I can do the same test by myself, but I only own a VAG diagnostic tool...
@kamaris9019
@kamaris9019 2 жыл бұрын
I am looking for micropython CAN module for ESP32, wroover e. Thanks in advance for any info.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Another viewer wrote that he uses Python for his OBD2 analyses.
@davidsetyo9365
@davidsetyo9365 2 жыл бұрын
Hi Andreas, you can use ESP32's built in CAN controller and CAN transceiver such as TJA1050/1040. Personally I've found more consistent results with TJA1040, plus it support low power standby mode. Problem is, TJA1050/1040 are 5V devices, so logic level converter is a must to communicate with ESP32.
@delboy4711
@delboy4711 2 жыл бұрын
There is SN65HVD230 or SN65HVD231 which works from 3.3V. Despite using 3.3V to drive the CAN bus it interoperates perfectly well with 5V devices. Another alternative is to use STM32 Blue Pill which also has a built in CAN controller and is 5V tolerant so TJA1050 can be used.
@TheGamerFreak007
@TheGamerFreak007 2 жыл бұрын
@@delboy4711 The TJA1050 works with 3.3V logic from ESP32 at RX and TX. You just need to connect 5V to VDD. No need for a logic level converter but certainly advisable
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you for the info. The CAN interface works fine and is cheap. What I need is the codes ;-) Maybe I will use an ESP32 for the final design.
@parsec3d
@parsec3d 2 жыл бұрын
I have that on a Renault forces me to wait from 15 to 20 minutes to try to restart again if it fails the first time I need to wait 20 minutes more, so far the I have replaced all possible sensors causing the failure and all possible cables whiteout luck, Would be great if you get this to work on your car , will take a look and see if it weeks on mine without more modifications.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Maybe the code I used works in your car. Would be worth a try, I think...
@tubeDude48
@tubeDude48 2 жыл бұрын
I have an *AUTEL,* but not the pro. It works quite well. So it would be great if one of your viewers has a solution for this project!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Others suggest that a Smartphone app can do the trick, too. I will try it.
@ThomasRiebmann
@ThomasRiebmann 2 жыл бұрын
I've currently built a K-Line and CAN sniffer, based on an ESP32 which writes anything onto a SD card. But I'm also struggling to find the right data 🤷🏻‍♂️
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I can imagine. This video took me nearly one week :-(
@adrianschneider1977
@adrianschneider1977 2 жыл бұрын
Hi Andreas! My solution to that problem is a 12USD/CHF ELM327 OBD2 to Bluetooth dongle along with the "Torque" app. The app cannot only display and record driving data. It can as well reset errors. Though I still had to replace the worn out (actually it was dirty) exhaust recirculation valve of my 2011 Mercedes Diesel to fix the issue. I hope you sensor will not need a replacement. Best regards from Limmattal! Adrian PS: Of course I'm still looking forward to part 2 of that video! :-)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
If you (and others) are right there is no part two because it seems to be very simple. I wait now till the error re-appears and try this app (BTW: Torque was no more free when I tried it. They wanted to sell me a contract. But maybe I did something wrong.
@adrianschneider1977
@adrianschneider1977 2 жыл бұрын
I did pay once a few CHF for the Torque pro app. Though no subscription - at that time some years ago
@dwintechnology-fiona4920
@dwintechnology-fiona4920 2 жыл бұрын
Hi Andreas Spiess, can we put some our lcd display short video on your channel for advisetisement
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Unfortunately, I do not do advertisement videos :-(
@dwintechnology-fiona4920
@dwintechnology-fiona4920 2 жыл бұрын
@@AndreasSpiess ok, if any lcd display request ?
@mrdiegotrumpet
@mrdiegotrumpet 2 жыл бұрын
Hello Andreas, I would try to find the .dbc file that translates the ids of your car on human lenguage. I use cantools library on python, but first try to find this .dbc file, may be on openpilot (comma ai). Happy learning!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thanks for the tip! Not easy as I found out in a first search...
@TheSimon253
@TheSimon253 2 жыл бұрын
I obly have minor experience with canbus so far but I am going to do a university project on it soon. I can only say that I am really skeptical that those few lines of code should do the trick. Can-bus is really complicated and has several varieties. I also recommend you replace that sensor 😅
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I would replace the sensor if the error reappeared (we forgot to note it down because we thought it will reappear)...
@bbogdanmircea
@bbogdanmircea 2 жыл бұрын
Hello, I work with CAN in Automotive since 2008, very nice idea with the Arduino Shield and the OBD2 library, but I couldn't understand why the reset all DTCs doesn't work when you send it from Arduino? How good is the Arduino at logging the CAN communication, can you log all the messages? If yes, then just make a reset with the Tool and then decode the OBD2. If not, I recommend Peak Dongles on USB they are very cheap and can log all the communication. I always wanted to make a water temperature gauge for my car by using an ESP32, I think it has a CAN transceiver too? Do you know if the libraries work also on ESP32? Anyway I am happy to help if I can please contact me at this id over Gmail or here.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Yes, the logic analyzer should log every CAN message on the bus. And I agree, it should be possible to find the ones sent by the resetting device (that was my plan). I must investigate more next week. One question: Do you think I can identify the messages coming from the analyzer device by the message ID (does every device on the bus have a different but constant ID like an address?)
@bbogdanmircea
@bbogdanmircea 2 жыл бұрын
@@AndreasSpiess I don't think so, but I must check the OBD2 protocol. Usually there are some fixed IDs and it doesn't matter who is sending them, Arduino or OBD Tool, but you know by ID if a message is sent from the CAR side or the tool side. What I mean is that if you clone what the OBD Tool does and then send it from the Arduino, the CAR doesn't know.
@ragohy
@ragohy 2 жыл бұрын
@@AndreasSpiess Hi Andreas, your question: >> my answer: ID is NOT an Adress! The node sends a message with an ID. This message can be read from any node, if not filtered. The lower the ID, the higher the priority! (... wins bus arbitration). It is up to the Code in the ECU, what ID is applied. So i. e. nodes could send with the SAME ID, if it makes sense at all . So careful planing of the ID's is needed. Best Regards Henry
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@@ragohy Thank you!
@radarmusen
@radarmusen 2 жыл бұрын
Maybe a resistor between the CAN bus and the fault analyzer could be used to see where it came from. If the pulse are higher on one side of the resistor the data direction can be detected.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Good idea!
@Thatdavemarsh
@Thatdavemarsh 2 жыл бұрын
I scrolled through most of the comments but didn’t see it: what sensor failed that shut the car down?
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Unfortunately we did not make a picture because we did not expect that it will no more appear. It was something with low voltage.
@Erok8019
@Erok8019 2 жыл бұрын
I needed a working one of those Monday... limp mode is not fun on an interstate highway.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Indeed. Fortunately my problem was on Sunday with less traffic…
@atomikrobot300099
@atomikrobot300099 2 жыл бұрын
Investigate purchasing a DiCE unit and VIDA. All the messages are there and explained as with block diagrams explaining every module in the P2 Volvo high speed / low speed CAN networks.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I did not find a price tag on these instruments...
@atomikrobot300099
@atomikrobot300099 2 жыл бұрын
VDASH by D5T5 is also a great alternative to VIDA for diagnostics (but not for documentation or trouble history). For working on Volvos, nothing beats the level of fault history and detail that VIDA + a DiCE can achieve. The Volvo DiCE unit is a Volvo device that adheres to the SAE J2534-2 standard. Keep in mind that there's also a high speed and low speed CAN network on your P2 Volvo XC90. VIDA or google will have diagrams showing how both connect to the Volvo CEM module.
@ulwur
@ulwur 2 жыл бұрын
A clone DiCE unit can be found for cheap on eBay. And VMware images with (cracked) Vida can be found on the internet.
@nicolaguerrini347
@nicolaguerrini347 2 жыл бұрын
Each car maker allows a subset of CAN commands under a specific “session”. You can have: default, extended, supplier, diagnostic… In this case can you check if the code you are using is already switching to the proper session before sending the dtc clear command? You should see with the sniffer (when deleting with the expensive tool) something like 0x1003, 0x1011…
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Cool info! I will search for such codes next week. But what do you mean by "switching to the proper session"?
@nicolaguerrini347
@nicolaguerrini347 2 жыл бұрын
Each CAN command you send to an ECU is allowed (accepted, you’ll get back “positive response” from that ECU) within a specific logical session. You should check if before sending the clear DTC command to the malfunctioning ECU you will have to send the command to switch to a non-default logical session to accept the command
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@@nicolaguerrini347 That seems to be rather complicated. Is there anything I can read?
@hjhhhjhjh9474
@hjhhhjhjh9474 2 жыл бұрын
Hi Andreas, it is fine to use this resetter if it happened one time only. But if you are getting this error regularly, you should investigate the root cause. It might create a machine damage, or even a safety issue, which slightest possibility is not acceptable where human safety risk is involved. If you are getting errors regularly, please be safe, and do this. (Promise we will watch those videos as well ;). Take care.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Yes. Of course you are right!
@1three7
@1three7 2 жыл бұрын
I had a Mazda which would short out on a low battery or one which didn't have a good confection. It would set off the alarm, but in a way that was erratic and random. It happened to me once in the middle of the road when I had turned my car off to wait on a train. When I tried to turn it back on it went insane and started blowing the horn randomly and turning lights on and off randomly. Everyone around me probably thought I was the crazy one. It took a lot of research to figure out what happened and how to reset it. But I was eventually able to get it off the side of the road where I pushed it by following a reset process which was something like turn the switch on press the brake, turn it off, turn it on, turn it off, press the brake three times, open and close the door three times etc. I have no idea what the actual steps were but until I found those my car was just bricked because of a slightly low battery.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Good story! In my case, the alarm also did not reappear. Maybe it also was a false alarm.
@pepethefrog7193
@pepethefrog7193 2 жыл бұрын
Get a BT OBD2 dongle. CHF 10 on ali. Then connect DDT4ALL on your laptop to it over BT. Reset anything you want. Also good for disabling seat belt alarm, start-stop feature and led light warnings.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you for the link!
@klave8511
@klave8511 2 жыл бұрын
Don’t know if it works on all cars but disconnecting the battery for a few minutes used to reset my error codes.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
It seems that they keep these important errors in EEPROM. Anyway, the battery in my car is buried in the back below the trunk. Unloading all on a busy road is not what I want ;-)
@BinderTronics
@BinderTronics 2 жыл бұрын
Laughs in pure mechanical car. Cries when trying to find parts. Seriously need to add a feature to allow a car to run regardless of error or at minimum allow the car to run x amount of distance after first detection. Found it very useful to randomize maintenance warnings.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
So far the alarm did not appear again. So it probably was not needed...
@were_all_fact6026
@were_all_fact6026 2 жыл бұрын
I just watched an episode of Pine Hollow Auto Diagnostics where the CAN bus on a Mercedes was brought down by a rear windshield washer fluid leaking into the car shorting the signals causing a non-start, . Could you just sniff the reset packets coming from your brothers scanner? Interesting project thank you.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
That is my plan. But because of these many messages it is not easy to fin the right ones...
@bitosdelaplaya
@bitosdelaplaya 2 жыл бұрын
A very big thanks !!!!!!!!!!!!!! How to not make an ESP32 can bus reader/reseter. I think if you search the internet you can found easy how to reset (perhaps) because i think it is part of OBD2 standard command (but i'm not an expert just a mechanical and electronic hobbyst). I'm very impatient to see the second part.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
That is what I also thought. But unfortunately, this info seems to be protected...
@bitosdelaplaya
@bitosdelaplaya 2 жыл бұрын
@@AndreasSpiess Oh sh*t. i Thought that with the numbers of cheap OBD2 and software on the market someone put this info on the web. I have 2 OBD2 dongle. One of them is based on PIC uc, so this why i thought the infos are "free" on the web. Thanks for your work. I have free time but not enought to make all my project. Perhaps one day i can be like you !!.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
@@bitosdelaplaya You have to get old like me to have time ;-)
@bitosdelaplaya
@bitosdelaplaya 2 жыл бұрын
@@AndreasSpiess This is exactly the problem !!!! 15 years to wait to have all my time to make projects (i god give me this chance)
@iceberg789
@iceberg789 2 жыл бұрын
hi, i was looking for the blue tooth phone charge controller project video, is it deleted ? can you please restore by any chance ?
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
So far I did not delete videos.
@iceberg789
@iceberg789 2 жыл бұрын
@@AndreasSpiess hmm may be i have mistaken. >.>
@bayareapianist
@bayareapianist 2 жыл бұрын
One quick suggestion that you can try. There are very cheap dongles for ODBC 2 to Bluetooth or wireless. Most of them use the generic wirings. Then you better use a raspberry pi since audrino does not have these ports. 2nd suggestion is that you can get some free apps and use the dongle. I reset my 2013 bmw error messages using this dongle and app. But do not expect to read in-depth massaging.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I own such dongles and tried some apps last time I had an error code. But unfortunately, they did not do the trick. This is the reason for this video. But many viewers suggest trying it again. So far, I do not know which app I should use.
@bayareapianist
@bayareapianist 2 жыл бұрын
@@AndreasSpiess That is the difficult part. It is hard to find a free software that does the job. I use an old cell phone 5o install the apps. However I really would like to know if the dongle using Bluetooth works with raspi and see if you get any traffics from ODBC.
@chadkrause6574
@chadkrause6574 2 жыл бұрын
I would record all the messages for 30 seconds, then I would record again and start the clear DTC command, then filter out just the new messages with either excel or SQL
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I wrote now an Excel macro to put all related messages on one line. Now I hope I can do what you suggest...
@smak201
@smak201 2 жыл бұрын
The project sounds interesting, but probably a bit overkill for the task. But i'm not saying it's a bad thing 😊. Like other have been commenting the cheap 5€ bluetooth adapters works quite well. Finding the right software for PC or Android can be challenging. I think popular ones for android are “Car Scanner ELM OBD2” and “Torque Lite”. I think both can do DTC reset. There are also model specific pc software that can do many more things than basic software, but I don’t know what it would be for Volvos. One correction to your video. OBD2 is not exactly working on top of CAN-bus like you described. CAN-bus is one of the communication buses in the OBD2 interface, but there are also other for example K-line that can be used to talk with the ECU. It is possible that the scanner tool you are using is sending the reset signal through K-line instead of CAN-bus and that’s why you can not see it with the current setup.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I tried the “Car Scanner ELM OBD2" and only the pro version for 20 bucks promises the reset function. But not which alarms it can reset. But after many people write it works, I probably will spend the money for a try...
@TheEmbeddedHobbyist
@TheEmbeddedHobbyist 2 жыл бұрын
There is only a small standard subset of can bus data thats the same for all makes of cars. The rest is all defined by the manufacturer and the details are not exposed to the public. They go to extreme measures to try and block access to the information, I know one manufacturer where the car has to be connected via the Internet back to them for diagnostic purposes, they get sent messages for what to check or change. ,looks like they don't even trust their own garages with being able to decode the data.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You are right. This is what I found out last week. My advantage is that I have a device which has the information (it was able to kill the alarms). So I hoped to be able to see these commands on the bus. But currently, I do not know which one do the trick ;-)
@eduardovillar2211
@eduardovillar2211 2 жыл бұрын
May be you can try a tester present of ECU on the bus, quite similar to i2c scanner, staring from 0x000 to 0xFFF ECU identifier, usually PCM has the common ECU ID... As Volvo on 2000 has also owned by Ford it is posible that exists another CAN bus on the vehicle at 125k speed, if you could see on the backside of the obd2 car connection twisted cables are CAN busses, check if there is only one bud or at least two: one at 500k and the other at 125k
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I hope I do not need to use the slower buses. But it is good to know they exist and if I do not find signals from the Instrument on the fast bus I have to dig into that one, too...
@srrandall88
@srrandall88 2 жыл бұрын
Really hope you see this... I'm wanting to implement OBD2 along with posting sensor readings...but importantly also sending commands to automate AC, electric windows and interior lights...for a future overland LR defender build...please make a video on how to sniff and access sending command codes to CAN busto automate a vehicle with home assistant...
@SianaGearz
@SianaGearz 2 жыл бұрын
There isn't one CAN bus but generally two, with a gateway firewall in between them. So one of them has engine stuff, headlights and signal lights, and another has all the interior stuff. I don't know where the OBD2 sits, perhaps not on the accessory CAN. The accessory CAN should be found going into the headunit. At least if your vehicle is anything like Bosch equipped ones.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Interresting project. I also heard that the newer cars use several sub-bus systems...
@stormvaneersel5476
@stormvaneersel5476 2 жыл бұрын
What year Defender? I work with these cars, the CANbus on them goes from the ECU to the gauge cluster... And that's it. It's only used to drive the RPM, temperature gauge, check engine light, charge light, diesel pre-heat light, oil pressure light and maybe the traction control light. Not sure about the last one. All other functions of the gauge cluster, and the whole car for that matter, are mechanical or analog
@srrandall88
@srrandall88 2 жыл бұрын
@@stormvaneersel5476 well was hoping to implement in a 2008 puma. And try see if i can control electric windows, central locking and possibly not sure of legality but a remote start
@stormvaneersel5476
@stormvaneersel5476 2 жыл бұрын
@@srrandall88 Ahh, i think i've misinterpreted your comment. I thought you meant your build would be a Land Rover. To reverse engineer your CANbus, you could take a look at savvycan.
@pen25
@pen25 2 жыл бұрын
I use a couple obdlink mx+ and cx and use torque on my android phone. It will reset the cel and will communicate on the can high and low paths. You will most likely have to emulate elm327 and run software be it tied to your phone or laptop. I'm looking forward to this Btw the obdlink cx is bt le and doesn't work well with software that can't wake it up. Forscan refused to even see it. These use stn chips which will keep up with that canbus without a problem. The cheap elm327 are rarely even usable today.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I have an "old" ELM327 dongle. But unfortunately, the apps I used were able to show all the data but were not able to reset the engine stopping alarms :-(
@pen25
@pen25 2 жыл бұрын
@@AndreasSpiess some do and some don't. Most at v1.5 which can only look at obd2 and not the canbus or if can only high or low. Btw new canbus believe had 3 high medium and low. And I just looked. Seems the odblink devices only looks at generic on the Volvo not own specific pid's
@kevinshumaker3753
@kevinshumaker3753 2 жыл бұрын
I have a Bluetooth ODB2 device that cost $10 US, and a free Android app, that accomplishes this with also data logging and visualization. It works on my old Ford minivan up to my son's new Ford. It works across a lot of other makes and models, too. I can use the same device with the RPis, too.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
And does it reset the alarms? The ones I tried unfortunately did not :-(
@kevinshumaker3753
@kevinshumaker3753 2 жыл бұрын
@@AndreasSpiess Yessir, at least until it re-discovered the issue was still 'broken'. I had an intermittent bad MAPP sensor, and another bad sensor. It would reset the alarms (Check Engine Light & software flag) until the sensors would stop responding appropriately, then the Check Engine Light and software flags would go on again. Replaced the MAPP sensor, and fixed the leak at the other sensor and didn't have any further issues until I sold the minivan. I am using it now to do continuous data logging on my son's Ford. It's not the BT device, though that resets the flag and light, it's the software run on the Android or Pi. They have to have the ability to talk to the car's computer...
@NicksStuff
@NicksStuff 5 ай бұрын
Did you ever finish that product?
@AndreasSpiess
@AndreasSpiess 5 ай бұрын
No. Since then, the car never broke down again :-)
@NicksStuff
@NicksStuff 5 ай бұрын
@@AndreasSpiessToo bad, I was looking forward to seeing you reverse-engineer some CAN protocol
@JNET_Reloaded
@JNET_Reloaded 2 жыл бұрын
clearing all codes means you will have issues you wont know about and will cuase you pain in the long run!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
You are right if the issue is the engine. I would assume that, if something is defective, the alarm should reappear. Unfortunately it did not so far. As soon as it reappears it gets fixed. I just would have liked to clear the road quickly...
@murraymadness4674
@murraymadness4674 2 жыл бұрын
Of course you don't care that you can get a volvo-specific odb2 scanner that allows you to view and clear the volvo specific codes. I had to buy one for my C30 project I did an engine swap on. It wasn't very expensive. But I've been wanting to do an odb2 scanner for a long time. On my 2003 Prius, it gets a check-engine light because the catalytic converter is missing a valve thingy that costs $1200, and no way I am going for that when another 2005 Prius cat works great but doesn't have it. So it would be great to have it clear this code as soon as it shows up, probably once a day. Or better yet, disable the check engine light on the dash, and instead have a device that only turns it on if ANYTHING ELSE comes up exdept that code. :)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Others also reported alarms without a proper cause. Fortunately yours does not block the car... Here the alarm did not reappear so far.
@MrArecki777
@MrArecki777 2 жыл бұрын
Hi Andreas, Seems my previous comment has gone, probably due to github link, so I will try to put it once again. I was bit surprised that basic OBD2 command like Clear All DTCs does not work in the sandeepmistry's OBD2 library you tested and I think I found a bug in the code there. According to the OBD2 protocol there should be number of data bytes in the message, while in the clearAllStoredDTC() method there is send 0 as number of bytes. Please check line 714 of the OBD2 source file: CAN.write(0x00); // number of additional bytes CAN.write(0x04); // Mode / Service 4, for clearing DTC I would expect there 1 byte of data, so corrected code should be: CAN.write(0x01); // number of additional bytes CAN.write(0x04); // Mode / Service 4, for clearing DTC I haven't tested this, but you can try this fix if you want.
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
Thank you. I will test it!
@zoom2broom2
@zoom2broom2 Жыл бұрын
This worked on my RX8. Thanks MrArecki777, and Andreas too!!
@Sierra-Whisky
@Sierra-Whisky 2 жыл бұрын
Perhaps it's better to get yourself a < $5 ELM327 OBD2 reader. There are several types of devices, wired, Wifi and bluetooth. With such a reader you can read OBD2 information yourself and you can reset error messages yourself. (on demand) The risk of automated resetting error messages is that you might miss important error messages, which may lead to serious (engine) damage. Some error messages can safely be ignored, others are meant to take appropriate actions immediately. (Unfortunately it cost me a repair of well over €2400 to understand)
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
So you found an app that resets engine blocking messages? The ones I tried only showed the analysis... And of course, you are right with the handling of errors. My theory is that a severe error should occur again immediately after resetting. But in your case, it seems that this did not happen.
@boblewis5558
@boblewis5558 2 жыл бұрын
The MOST frustrating thing with modern CANbus electronics in cars is this EXACT problem. I know that you do need a more expensive unit to do SOME of the more involved tests and diagnostics but my wife's VW Golf had a repeating non critical error that was becoming a real pain. It would only happen about once a fortnight originally but gradually got more frequent. I bought one of those cheap OBDII units off eBay for a few quid that works with the free app Torque (paid version supports some additional features). It worked great! Told me exactly what the problem code was, quick Google search to establish cause (faulty temp it said!) BUT, most importantly, it reset the fault code when requested. Fault eventually tracked to BOTH a faulty sensor AND a dodgy connection - something viewers should beware since such wire faults are always misreported (by the fault code description) as sensor faults - a potential money pit if an EXPENSIVELY OVERPRICED sensor is purchased and fails to fix the problem! I now have one permanently installed in both my car and my wife's. WELL worth the money!
@AndreasSpiess
@AndreasSpiess 2 жыл бұрын
I just tried another recommended app. So far it has not shown the (non-critical) DTCs shown by the Autel instrument. The initial error did not reappear, unfortunately...
@boblewis5558
@boblewis5558 2 жыл бұрын
@@AndreasSpiess bummer! 😥
467 Radar Sensors from $3 to over $100: Which one is Best?
14:31
Andreas Spiess
Рет қаралды 162 М.
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 103 МЛН
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 44 МЛН
I CAN’T BELIEVE I LOST 😱
00:46
Topper Guild
Рет қаралды 94 МЛН
How to hack your car | Part 1 - The basics of the CAN bus
16:57
Adam Varga
Рет қаралды 286 М.
439 24GHz Radar Presence Detector that Works (LD2410)
13:19
Andreas Spiess
Рет қаралды 304 М.
Naughty CANbus odometer "interface".  (Fakes mileage.)
16:45
bigclivedotcom
Рет қаралды 782 М.
CAN vs OBD2: What is the Difference?
5:57
MrDIY
Рет қаралды 4,6 М.
Sniffing any CAN-bus on the cheap(5$) with Arduino, Tested on an VW Polo 9N3
21:57
#423 Fluid (Water) Level Meter from Blood Pressure Monitor Hack
13:45
Andreas Spiess
Рет қаралды 65 М.
Худший продукт Apple
0:53
Rozetked
Рет қаралды 221 М.
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33
Ремонтяш
Рет қаралды 332 М.
Blue Mobile 📲 Best For Long Audio Call 📞 💙
0:41
Tech Official
Рет қаралды 1 МЛН
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 5 МЛН