#421

Поделиться
HTML-код
  • Опубликовано: 17 июл 2024
  • 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 года назад +26

    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 года назад +3

      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 года назад +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 года назад +1

      @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 года назад +1

      @@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 года назад +1

      @@PhG1961 me, turned 50 a few eeks ago, fully understand your point. And I like the interaction with different people at those seminars.

  • @alexsorensen2000
    @alexsorensen2000 2 года назад +11

    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 года назад +10

    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 года назад +7

      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 ;-)

  • @GarryMobi
    @GarryMobi 2 года назад +16

    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 года назад +1

      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

  • @antaljani
    @antaljani 2 года назад +1

    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 года назад +1

    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 года назад +1

      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.

  • @popviz3316
    @popviz3316 2 года назад +3

    With you brother's expensive diagnostic tool ,and your logic analyser you could rule the ODBII world! :-)

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +3

      I hope so. For the moment I more feels like a "looser" :-(

  • @avejst
    @avejst 2 года назад +1

    great project 👍
    thanks for sharing your experience with all of us 👍🙂

  • @sammyk7024
    @sammyk7024 2 года назад +4

    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 года назад +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 года назад +1

      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

  • @johnnycernato4068
    @johnnycernato4068 2 года назад +21

    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 года назад +7

      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 года назад +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 года назад +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

  • @tonysfun
    @tonysfun 2 года назад

    Very interesting project! Thanks again Andreas!

  • @edivollgas719
    @edivollgas719 2 года назад +10

    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 .

  • @feriszabi6921
    @feriszabi6921 2 года назад +1

    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.

  • @gabrieldaniel7441
    @gabrieldaniel7441 2 года назад +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.

  • @philliptoone
    @philliptoone 2 года назад +3

    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 года назад +1

      If I believe some commenters, I can solve the problem by purchasing an app. We will see...

  • @Evgen-Evgen-Evgen
    @Evgen-Evgen-Evgen 2 года назад

    Very cool video. We pray for you success)

  • @BerndFelsche
    @BerndFelsche 2 года назад +9

    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.

  • @McTroyd
    @McTroyd 2 года назад +1

    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 года назад +2

      It seems that many viewers have stories like that with their cars... We will see how my story ends ;-)

  • @kartoffelbaer1
    @kartoffelbaer1 2 года назад

    good luck! :) Lovely project

  • @victoryfirst2878
    @victoryfirst2878 2 года назад +1

    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 года назад +1

      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 года назад +1

      @@AndreasSpiess Got it fella.

  • @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.

  • @michaelbruns473
    @michaelbruns473 2 года назад +34

    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 года назад +3

      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 года назад +8

      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).

  • @Miltiadis_Vouzounaras
    @Miltiadis_Vouzounaras 2 года назад +1

    Waiting for the next video.
    I'm very happy for the reference on 07:00!

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +2

      I always try to provide the source ;-)

  • @FrankGraffagnino
    @FrankGraffagnino 2 года назад

    i'm looking forward to updates on this!

  • @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 ;-)

  • @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...

  • @mygpsforcegpsforce2174
    @mygpsforcegpsforce2174 Год назад

    Muy buen video gracias señor

  • @dryber2
    @dryber2 2 года назад

    good luck with this project is very interesting

  • @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  Год назад +1

      Welcome aboard the channel! So far, my car never stopped again. So I have no need for a part two (at least until now).

  • @he1py
    @he1py 2 года назад +1

    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 года назад +1

      @@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 года назад +1

      @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.

  • @farmerwoody123
    @farmerwoody123 2 года назад +5

    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 года назад +1

      Thank you for the info. Maybe it helps!

  • @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.

  • @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 ;-)

  • @eduardo9626
    @eduardo9626 2 года назад

    Thanks for video and subtitles in Portuguese

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      You are welcome! This is because Nuno does the translation!

  • @c7ndk
    @c7ndk 2 года назад

    I can highly recommend the OBD2 sniffers from Freematics. Those are designed for Arduino and ESP32 with cellular connectivity!

  • @jafinch78
    @jafinch78 2 года назад +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 года назад +1

      @@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".

  • @TradieTrev
    @TradieTrev 2 года назад +1

    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 года назад +1

      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!

  • @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)...

  • @jmonsted
    @jmonsted 2 года назад +1

    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.

  • @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...

  • @willallen7757
    @willallen7757 2 года назад +3

    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).

  • @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...

  • @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

  • @thesimbon
    @thesimbon 2 года назад +3

    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 года назад +1

      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

  • @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)...

  • @PhG1961
    @PhG1961 2 года назад +1

    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 года назад +1

      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!

  • @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.

  • @jon_raymond
    @jon_raymond 2 года назад +1

    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.

  • @atomikrobot300099
    @atomikrobot300099 2 года назад +1

    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 года назад +1

      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.

  • @kerwincarreon7621
    @kerwincarreon7621 2 года назад

    You are very interesssssting guy

  • @julianbambus9722
    @julianbambus9722 2 месяца назад

    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  2 месяца назад +1

      Die CANbus Treiber auf den Boards können mit 12V umgehen.

  • @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 RUclips. 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.

  • @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.

  • @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...

  • @philsponsel3824
    @philsponsel3824 2 года назад

    the amount of details in the comments here is incredible! I would still try to go the direction of using a existing library, maybe you can get the library you found to work? My (noob-ish) experience with ODB2 is that there are so many differences from car to car so if you find a libraray which supports almost all cars than your Alarm Resetter will maybe also support almost all? :-) Maybe someone reads this an can suggest one?

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      I agree that the resetter will not work with all cars. Mine would already be ok for me... The libraries work because the "bits" are the same for all cars. Just their meaning is different...

  • @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 года назад +3

    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 года назад +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 года назад +1

      A clone DiCE unit can be found for cheap on eBay. And VMware images with (cracked) Vida can be found on the internet.

  • @bayareapianist
    @bayareapianist 2 года назад +1

    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 года назад +1

      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.

  • @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.

  • @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 года назад +1

      @@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

  • @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.

  • @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.

  • @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.

  • @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.

  • @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…

  • @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...

  • @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 :-(

  • @pen25
    @pen25 2 года назад +1

    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

  • @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 года назад +1

      @@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)

  • @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.

  • @nrdesign1991
    @nrdesign1991 2 года назад

    One of the few remaining fields where you can save serious money by DIYing :)

  • @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….

  • @MrArecki777
    @MrArecki777 2 года назад +1

    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!!

  • @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?

  • @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 года назад +1

      Maybe the code I used works in your car. Would be worth a try, I think...

  • @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...

  • @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 года назад +1

      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.

  • @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!

  • @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...

  • @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 :-(

  • @mahudson3547
    @mahudson3547 2 года назад +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.

  • @lawrencium2652
    @lawrencium2652 2 года назад

    A J2534 passthrough device/chip is what works with the Volvo factory software. I will caution you to be careful sending errant commands to the car. Volvos can be very touchy about their canbus systems. I've even bricked a window switch by using the factory software to send commands to it. Hopefully yours being newer than mine makes the controllers and software more mature, but I would still be very careful.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Thank you for the warning. I hoped to only do exactly the same thing the Autel instrument did. This or these magic messages deleted the error and made the car work again. So far the error did not reappear...

    • @lawrencium2652
      @lawrencium2652 2 года назад

      @@AndreasSpiess If you had a good used module you could experiment with it on the bench. You could even duplicate the low voltage error by adjusting your power supply.

  • @str0g
    @str0g 2 года назад

    can you tell us in ur case what repairs have you done on your 16 year old volvo?

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +2

      So far only one sensor/valve (I do no longer remember which one) and the navigation system. It has close to 200'000km.

  • @angelkato
    @angelkato 2 года назад

    Hello
    Node red Support can Bus and I also implemented the support of the CAN FD driver. You can easily use it to snif the network also.
    Regards

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Interesting! So far the sniffing seems to work. Where I have my problem is to understand the OBD2 traffic and particularly where it comes from (to filter the packets from the analyzer)

    • @angelkato
      @angelkato 2 года назад

      @@AndreasSpiess il’s impossible without the DBC file from the manufacturer or internet, CAN message start With ID but there is no rules unfortunately

  • @patrickfitzgerald6081
    @patrickfitzgerald6081 2 года назад

    The auto repair place located a defective oxygen sensor on the intake to the motor of my Toyota. The alarm condition had been removed but the alarm history was still showing in diagnostics.
    A local Hardware chain sold me the Innova 3020d for about $80cad. I found the proper manual on-line and followed instructions to clear all. It worked.
    USB and WiFi OBDII dongles came with WinXP multiple softwares that were mostly demo versions. Buggy, GUI quality and software functionality was rather poor.
    The best was a bluetooth OBDII dongle for about $12 combined with 5Euro Car Scanner Pro software from Android Play store. The phone software had a cool free demo version that unlocked when paid. Connecting to the BlueTooth dongle and then the ECU Engine Control Unit was smooth and repeatable.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Thanks for your info. After many comments I purchased such a dongle. But I still wait for the alarm coming back. So far the car runs and runs...

  • @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...

  • @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.

  • @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...

  • @TheEmbeddedHobbyist
    @TheEmbeddedHobbyist 2 года назад +1

    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 ;-)

  • @bobyrev
    @bobyrev 2 года назад

    Hello Andreas.
    On my current work I'm responsible for Diagnostic Over Ip - DoIP in one ECU in Volvo car.
    But I also had an experience in Diagnostic over CAN bus (UDSonCAL)...
    But in general - It is a common automotive standard for this -- UDS (Unified diagnostic services - ISO 14229-1, ISO 14229-2, ISO 14229-3)
    I can recommend you to find this standard, especially part 1: Road vehicles - Unified diagnostic services (UDS) - Part 1: Specification and requirements
    Long story short - your Arduino ECU need to send Engine ECU a CAN message with UDS service 14 - ClearDiagnosticInformation and FF FF FF as a groupOfDTC description:
    > 14 FF FF FF

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Thank you for the info. I never heard of UDS. What is its relation to OBD2 and CAN?

  • @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! 😥

  • @Helder_Paulo
    @Helder_Paulo 9 месяцев назад

    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  9 месяцев назад

      Yes, you find such projects using Google.

    • @Helder_Paulo
      @Helder_Paulo 9 месяцев назад

      @@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

  • @edwardvanhazendonk
    @edwardvanhazendonk 2 года назад

    There might be encrypted obd 2 busses, and maybe search for some volvo dump of their obd 2 software, there might be a usable library. The standard OBD 2 (rpms etc) are I think part of a mandatory set, all manufacturers are having own subsets and calls to submodules ... Maybe you can find a universal library or even a universal android tool who works, then sniff the exact message is not easy.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад +1

      As I have a tester which can create a working code I thought I can copy its behavior. Others also pointed to apps which should work. Currently I wait for the error to re-appear.

  • @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...

  • @SidneyCritic
    @SidneyCritic 2 года назад

    Cars stopping dead is pretty dangerous. My DIY Arduino EFI stopped entering into fast moving traffic and nearly got T-boned, but thankfully I got it started just in time. Either way I got rid of it.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Good idea to disconnect it! I do not want to have it connected while driving. Just for resetting the error.

  • @largerification
    @largerification 2 года назад

    Nice project, but maybe you can go in another direction.
    Like storing certain car parameters and analyse them later- elevation, distance, fuel consumption etc.
    Regarding the DTC reset, there are Bluetooth ELM327 or something, adapters, and some android applications, that do miracles on many cars, so you can even help out a friend in need, on the road, instantly, without "hacking" .

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      I agree about these apps and I tried some of them. But none solved my problem of resetting the engine-blocking messages. I got now some hints in the comments an will try it next week...

  • @chuxxsss
    @chuxxsss 2 года назад

    Adblue Andreas? I have an OBD2 in my mazda. More Silver and 2 Chinese coins for the weekend. I used to use an oscilloscope to read it when I didn't have one. I did a vlog on the Chinese OBD2 Bluetooth dongle, it resets a fault no problem. For 26 dollars a steal.

    • @AndreasSpiess
      @AndreasSpiess  2 года назад

      Which app did you use? The ones I used did not do the trick :-(

  • @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...

  • @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 ;-)