How to read the CanBus in any car. (Can Bus) Part #1

Поделиться
HTML-код
  • Опубликовано: 7 июл 2024
  • There is now a Part #2 to answer some common questions. • How to read the CanBus...
    With the links below you should be able to watch this video and access the canbus on any car with a view to decoding it. This video show the process on a Mazda RX8.
    This is valuable information for taking over cars systems - especially if you are doing an engine swap, or making / converting a chassis into an EV.
    Links,
    Arduino with CanBus Shield
    www.hobbytronics.co.uk/leonar...
    Web management studio to develop Arduino code,
    www.arduino.cc/
    OBD-II to DB9 Cable
    www.amazon.co.uk/OBD2-16Pin-S...
    Read Can Bus Code (copy and past this into the Arduino studio)
    www.blackhurst.co.uk/RX8/readc...
  • НаукаНаука

Комментарии • 475

  • @TheDriss567
    @TheDriss567 4 года назад +36

    Thanks man, that topic is fascinating! You understand that we are riding computers on wheels! Complexity is just an accumulation of simple things! Thanks again for the introduction to can bus diagnosis can't wait for the 2nd video! See you soon! Cheers!

  • @davelovell8631
    @davelovell8631 3 года назад +10

    SO AWESOME! I've had a specific idea for months of an arduino project I want to implement in my new car which will need inputs and outputs to/from the CAN BUS network, and inputs/outputs to other electronics. This makes it way more achievable. You've probably saved me a good 8 hours of trying to figure out what it is I don't know in order to start this.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Im so glad I have helped, good luck with the project...

    • @ezzaldeena.alribi8603
      @ezzaldeena.alribi8603 3 года назад +1

      @Dave Lovell if you acheived anything in your project, could you please share it with us?

    • @davelovell8631
      @davelovell8631 3 года назад +1

      @@ezzaldeena.alribi8603 I haven't yet, but I'm planning on having it completed before the end of December 2021. I'll probably post some stuff on github and or instructables when I'm done, and I'll try to link it here. I might forget to put it here though so, comment on this thread if a few months go by and nothing happens

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

      @@davelovell8631 Pinging you. :) I, too, find this stuff fascinating. Who knew learning Unix decades ago would find its way into cars and handhelds?

  • @KnightDriveTV
    @KnightDriveTV 3 года назад +19

    All the tires are on their own individual paths. When you do anything but go ABSOLUTELY straight (even then it's slightly different), plus the size of the front vs rears could also be different. When you steer more and more, all the tires follow their own arcs of various radii, so the speeds vary.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +3

      These are all very true points! Cheers

  • @CyberBeatAustralia
    @CyberBeatAustralia 4 года назад +5

    Great video, best I've seen so far!

  • @Inertia888
    @Inertia888 3 года назад +1

    This looks like it could be the beginning of a fun and interesting project!

  • @alibro7512
    @alibro7512 4 года назад +1

    Just wanted to say thanks for helping me to get my head around what CANBUS is all about. I watched videos of Damien Maguire driving forwards, backwards turning left and right etc collecting data but hadn't a clue what he was doing.
    THANK YOU! It really is not as complicated as I thought.
    Only issue with the CANBUS device you listed is they only sell them in kits of 10 so they cost over £200. I think I'll look into buying the CANBUS shield and suitable Arduino separately but thanks again for the best video I've ever seen on CANBUS.

    • @SouthWestEVUK
      @SouthWestEVUK  4 года назад

      Hay - It is worth contacting Hobbytronics - they used to sell 1's but moved warehouses and thats when they became kit only in 10's. Last time I spoke with them they did me 3 (as I blew one up, oops!) so worth a shout.

    • @alibro7512
      @alibro7512 4 года назад +1

      @@SouthWestEVUK LOL, I already ordered a separate Arduino Uno and CANBUS shield as soon as I finished watching your video.

    • @alibro7512
      @alibro7512 4 года назад

      Would you know what would need to be changed in the code to run your sketch on a standard Arduino Uno with a CANBUS shield plugged in.
      I tried it as is but all I get is the following
      20:50:05.824 -> Enter setting mode fail
      20:50:05.824 -> Can Init Failed
      20:50:05.824 -> I will wait here forever...I will wait here forever..I will etc.
      Thanks

    • @alibro7512
      @alibro7512 4 года назад +1

      OK I have it working in my Mercedes C220 and here is how
      I bought a genuine Arduino Uno but any clone should work
      I bought a CANBUS Shield V1.2 cheap off ebay.
      I connected the CAN high and CAN low on the shield to a pair of CAN signal wires in the boot of the car.
      I changed your code to CS10 from CS17 (For the Shield I'm using) and Speed 125Kbs from 500Kbs
      I used the "CAN_BUS_Shield-master" library from Seeed studio
      I had several issues before due to not understanding Arduino. I had multiple libraries in the folder causing conflicts and I wasn't using the correct baud rate for my car.
      Thanks again and good luck with the project.

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

    Best description i have heard yet ! Thank you.

  • @bgarner2930
    @bgarner2930 8 месяцев назад

    Fantastic information! Thank you for taking the time to make the video

  • @100amps
    @100amps 3 года назад +1

    Thanks for this video. It looks pretty straightforward, except when it doesn't. 😎

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

      Yeah, and of course I only video stuff that works ;o)

  • @sukrutsigma
    @sukrutsigma 4 года назад +3

    Great video! Nicely explained.

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

    Thank you Dave, very clear explanation. It helps a lot.

  • @Patrikcth
    @Patrikcth 3 года назад +1

    Hi, just a note, most modern cars from like 2-3 years have firewall to ensure only data readable with sae 1979 is available. This is to avoid hacker attacks. Great work on the aurdino!

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      I am guessing the Firewall is on the ODBII port (as that is the common access), If you had the can wires in your hand I cant see a Firewall getting in the way - unless I have got the point wrong I guess!

    • @Patrikcth
      @Patrikcth 3 года назад

      @@SouthWestEVUKNot sure I follow, but here is some more info on the design I've done at an OEM, as far as I understand this is the common practise as well. the design is usally that you have a controlunit connected directly to the OBD2 port, notging else is connected. the other control units on propulsion CAN is connected to a separate CAN controller in said control unit. With Autosar configuration the only frames recognised are the ones in 1979. So the firewall is by SW design in Autosar.

  • @mattglandorf9600
    @mattglandorf9600 4 года назад +5

    Great Video, thank you for sharing, I am working with a Mustang and im hoping to get an motor to run at a certain speed and run the other way at a lower speed. This could be some of the answers to get started with this process.

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

    Very informative. Smart little canbus arduino card.

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

      Yeah it is, I think I am addicted - I have 14 of them here hahaha

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

    dude ive been trying to make an ecu. bro. thank you. this bit was soooo useful!!!

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

      Not a problem, good luck with the project.

  • @ragchaasurengalindev
    @ragchaasurengalindev 4 года назад +5

    Great. Absolutely helpful.

  • @RS-Amsterdam
    @RS-Amsterdam 3 года назад +79

    Error 999: Steering wheel on wrong side ...

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +38

      If you send the right CanBus command, it will switch the wheel to the other side. That is how they make cars for both sides of the road ;o)

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

      @@SouthWestEVUK Wouldn't that be the left command? Here in the southern hemisphere it's recommended to drain a bathtub of water in the car first and check the direction the water spirals down the plug hole, a drain pipe to the outside of the car is of course likewise, recommended.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 3 года назад +3

      I wonder how you’d reach the pedals if the steering wheel was on the other side ...

    • @arklanbk
      @arklanbk 3 года назад +1

      @@lawrencedoliveiro9104 under rated comment

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

      ..its actualy on right side... :p

  • @EcoGreensFarm
    @EcoGreensFarm 3 года назад +1

    Really helpful info. Liked & Subscribed!

  • @jlesquer
    @jlesquer 3 года назад +1

    Great tutorial! the tricky bit of is to make sense to all collected data and see what is what....
    Just a clarification regarding CAN, every device will send data to the bus this is correct, but also this device will expect to see an acknowledge bit at the end of the transmission otherwise it will re-transmit the data again, and an error frame (normally form error) will be published on the bus that can cause issues. So every single device on the bus has to acknowledge all packages sent by the others or send an error in case the message format/bit/timing is wrong.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Yeah, you are right. Data does not have a recipient, It is just broadcast - and if you want what is being said then good - if not, move on! That I guess is more why I like to call it the shouty protocol, even ack's are sent by everything on the bus - shout your command and everyone shout back OK!

  • @maddida
    @maddida 4 года назад +3

    Thank you very much needed this

  • @initiald975
    @initiald975 Месяц назад

    Never found our that was a db9 connection and couldn’t figure out how to connect it to can bus! Thanks for the video!

  • @Good-Enuff-Garage
    @Good-Enuff-Garage 2 года назад

    super overview, thank you so much mate

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

    Good stuff and great explanation. thanks for sharing

  • @MultiCreasey
    @MultiCreasey 4 года назад +8

    Brilliant video, could listen to you all day!
    Different speeds at the wheels - different rotational speed as the car is unlikely to be traveling in a straight line? And the outer wheel has to travel further?

    • @SouthWestEVUK
      @SouthWestEVUK  4 года назад

      Good shout James, not thought about that!!! Love you too! x

  • @MohammedHussain-kj3kj
    @MohammedHussain-kj3kj Год назад

    Excellent video. Thanks!

  • @joacimwarn3808
    @joacimwarn3808 3 года назад

    Great video very informative!

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

    Good work. Each wheel is a different diameter due to its physical shape, tire pressure and loading, hence different rpm for each wheel at a constant speed. I would submit it's an rpm input for differential processing for brake control. Speed is a by product if you will.

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

    On
    Board
    Diagnostics
    Or the OBD II or two, refers to post 1996-'97 production American made where a data stream accompany access to the engine, transmission, body controller, and other mudules.
    Modern OBD II includes access to programmable parameters such as tire and wheel size.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      You are very right!

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

      bah. is all emission bs
      and some data for the dash board

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

      He's got odb port though. Ol dirty bastard.

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

    Thanks mate, excellent video. Just trying to program an Aventador cluster for my own EV project, so far I can just turn it on. I’ve ordered the Arduino you use and hope to use your code to get me started. Thanks again. Scott.

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

      Cool glad it helped, good luck - canbus can suck a lot of time out of you!

  • @stevecarlisle3323
    @stevecarlisle3323 3 года назад +1

    Yes, it's a busy fast protocol. If it has "noise" normally caused by EFI on the 2 wire bus, then that's a shielding problem. Maybe the terms in the UK are differant than NA. Can be confusing to some.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +3

      Yeah I mean noise as in lots of chatter - rather than electrical interference noise ;o) It is all meant to be there.

  • @withgrowinginsanity198
    @withgrowinginsanity198 Месяц назад

    very pragmatic info, thanks for that

  • @aravindsreekumaran6912
    @aravindsreekumaran6912 3 года назад +3

    Thank you for the video. Any information on how can I use the data realtime. For example if I want to take the data do some post-process and display it.
    Thanks in advance

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +3

      You can output to a standard output - so if using a PC to compile the code you can output in real time to the console - same on the web interface (arduino.cc).

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

    Thanks man, that topic is really important!Can we know which version of mcp library did you use ?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Hmm, I am not totally sure, but as the latest version is over 3 years old and I wrote this within that timeframe - I would expect the latest version (1.5?)

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

    Hey Dave, I have watched your videos multiple times and want to thank you for the hard work you have done!!! While watching the videos I didn't see the point where you actually send info to the tachometer. I'm working on an rx8 engine swap and need to send signals from my aftermarket ECU to the stock tachometer like rpm, coolant temperature, speed, oil pressure, etc. My aftermarket ECU provides all this info, how do I tell Arduino to communicate my external ecu's data to the stock cluster. Thank you in advance

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      So you will need to bridge the canbus output of your ECU with the canbus input of the cluster. With code in the middle to translate what the new ECU is sending into what the cluster wants.

  • @toycobra12
    @toycobra12 4 года назад

    Fantastic!

  • @pageseducation464
    @pageseducation464 3 года назад

    Would you please tell me what are the PIDs codes for Turn Signal Right and Turn Signal Left.
    Thank you very much

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      So I accessed the high speed can in the RX8, and those signals are not on it. I believe there is a low speed can also that has this information on it, and the ability to adjust the radio message display etc...

  • @christianrobertadzic9321
    @christianrobertadzic9321 3 года назад +1

    Thank you for this nice video, I really enjoyed it.
    From where do you know which heder ID is for what? Do you have any source from where you know lets say the ID 1201 or ID 129?
    Thanks.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +3

      It is very much trial and error, piece by piece working out what each code does. Start by finding out what all the different ID's you have - log what their data is. Do something in the car (brake, throttle etc), and see which ones change. Its a long process but as you get your head into it and see the same codes over and over, you soon learn whats going on... Good luck!

  • @aldebaranflash2663
    @aldebaranflash2663 4 года назад

    great job

  • @davegsm82
    @davegsm82 3 года назад

    Excellent video, I'm looking to do something very similar with CANBUS myself because the Front ACC cruise control radar on my MK7 Golf appears to be malfunctioning and I want to find out why. I've got Various Arduino's and also a CANBUS interface which uses the same IC's as what your CAN Shield uses. Do you know which SPI pins on the Canbus interface units connect to which pins on the Arduino if not using that particular shield? Thanks!

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Ohhh, theres a good question! I guess the reason I bought this board was the fact that it does away with any internal communication issues between the Arduino and CanBus - they are hardwired.

  • @herethereandelsewhere1941
    @herethereandelsewhere1941 3 года назад +1

    Any car, really!
    I defy you to find one of those on my 1974 Peugeot 104! :D :D :D

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

    How do you find ignition timing and the fuel injector pulse width and injection timing, crank and cam sensor ect?

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

      I have not needed to look for those as I never had a working engine!

  • @a.c.e.7568
    @a.c.e.7568 3 года назад

    H Dave, what is the purpose of reading my Can Bus? I take it the Diagnostic tool I have decodes it for me and enable me to read "Live Data" of countless sensors. What else can it do?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      Yes, there are some standards that your tool will be picking up and you are reading. For me, in this project I have replaced the ECU - so send data such as car speed and rpm to the display over the canbus.

  • @AhmedEssam-hh2ge
    @AhmedEssam-hh2ge 3 года назад

    Hello, what is connected in the laptop usb, isnt it supposed to be a simple usb wire to the arduino leonardo?

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

    Hi, Thanks for this video.. I am looking to make something similar but to show to a small lcd some of my sensors. I have a bmw diesel m57 and I would like to read acc pedal position, boost temp, boost pressure.. and so on.. how can identity all CAN codes for some of the sensors that I need? is there a list of all BMW diesel can bus codes that represent each sensor? Thanks.

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

      Hay - you might find someone has decoded them online - but the likely hood is that you are going to need to get stuck in and decode these yourself.

  • @alexdeacon5494
    @alexdeacon5494 3 года назад +1

    Hi, love the videos... got a big question... how do you charge your vehicle? Do you need a CANbus emulator to use the OEM leaf charging system? Or are you using a third party charger? Any help would be greatly appreciated 🙌

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      Currently i am sending the charger the right commands to start it charging. Not fully tested but wont be long before i have that nailed

    • @alexdeacon5494
      @alexdeacon5494 3 года назад +1

      @@SouthWestEVUK great work- keep it going! And consider selling pre-programmed Arduinos and CAN shields??? Would massively help us lot I reckon. Then anyone could take a Leaf and use it as a Donor car for a classic EV build. 👍🏼

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

    Thank you. Would love to hear more from you on can hacking

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

      Yeah I might do some more videos on it. I am working on a project decoding Merc's at the moment.

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

      @@SouthWestEVUK there's someone on RUclips who did a video on a Merc using your video as starting point. Ali bro

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

    Hi Dave or anybody that may be able to help Again... Thanks Dave for pointing toward the libraries not be include or something missing or a name change etc... and that does appear to be what it is. I have rephrased this question back on the root of the comments instead of buried in the replies for perhaps better visibility.
    So I had mentioned that sure enough there is a .cpp file missing etc. So I went back tried following very slowly the steps again and I think I found a big clue! When Dave says click on the Library Manager, type in 'canbus' and pick the one at the top ... It shows to be picking 'CAN-BUS SHIELD' and it is described as 'Arduino library to control CAN-BUS Shield'. Now in 2022 (Im guessing perhaps things have changed) When I search for 'canbus' the pick at the top is 'CAN_BUS_SHIELD' and it is described as 'Seeed Arduino library to control CAN BUS and CAN BUS FD.'
    Anybody have any guidance on how I can resolve this? I would like to have the same library that Dave used but I dont see it in the list or under several other searches. Maybe Seeed is the replacement but its missing stuff.
    Thanks, Dan...

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

      email me - pretty certain I have the original library here that I can send.

  • @Eatcrow
    @Eatcrow 3 года назад

    How would you read a can bus on an electric bike that doesn’t have a OBD port?
    Controller, bike manager and bMS

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      You would have to find the can high and can low wires and tap into them.

  • @mansurbhamani3905
    @mansurbhamani3905 3 года назад

    Hi, great video, is it possible to read real time fuel level and odometer reading over CAN bus from a vehicle?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      It depends on the vehicle, for instance the RX8 sends fuel information as a resistive value (not canbus). The odometer is likely stored by the dashboard in most cars, again you might be able to query it - but unlikely to be able to change it.

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

    I have a problem with the arduino code, in this line "if (CAN0.begin(CAN_500KBPS) == CAN_OK) {" because in the program says that CAN0 might be and int, please I need your help.

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

      Hi ping me an email and Ill see what I can do
      Dave

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

    Thank you for your efforts
    But I have a question how can I control the inputs and outputs of the CANBUS
    I hope you will help me because I dream of learning these things and I do not know where I should start

    • @SouthWestEVUK
      @SouthWestEVUK  Год назад +1

      You need a canbus aware device - such as the ones in my video and that I link too.

  • @initiald975
    @initiald975 19 дней назад

    What's the type of wire end that you hve plugged into the left upper (farther from camera) part of the board shown at 2:45?

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

    Hi. What ever cable OBD to DB9 IS compatible, i mean does not matter the order of the pinout conversion or yes ?

    • @SouthWestEVUK
      @SouthWestEVUK  Год назад +1

      errr I would suspect the pin out is pretty important.

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

    Hi. I have link ecu g4x and i'm trying to find a way to connect it with my android car stereo. Is that adapter the correct for that work?

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

      Its not really an adapter, it depends on so many things - is the stereo on the can? is the g4x? are those cans linked together? Are they designed to work together?

  • @fix-and-drive-diy-repairs
    @fix-and-drive-diy-repairs 4 года назад

    Nice explanation, to make things simple, is not better to trick the ecu that engine is running and leave the rest?

    • @SouthWestEVUK
      @SouthWestEVUK  4 года назад +1

      Problem with that is you would need to replicate every sensors output, which would mean recording all the sensors on a working car to figure out if they are voltage based, resistance based, communications based - bit of a headache! Yes you could replicate them all, but just not worth it.

    • @fix-and-drive-diy-repairs
      @fix-and-drive-diy-repairs 4 года назад

      @@SouthWestEVUK ok chess mate.👍

  • @Rick_Cavallaro
    @Rick_Cavallaro 11 месяцев назад

    This looks great, but I'm having a problem compiling the code. I get this message...
    "no matching function for call to 'MCP_CAN::begin(int)"

    • @SouthWestEVUK
      @SouthWestEVUK  11 месяцев назад

      yeah looks like the library got updated - email me and ill send the old version.

  • @Gadgit83
    @Gadgit83 4 года назад +1

    Have been working on some CAN bus shield development - particularly with the ESP32 for wireless CAN bus debugging. Was also planning on looking to develop some software to improve the analysis of CAN signals for hacking purposes. Did you come across anything similar?

    • @SouthWestEVUK
      @SouthWestEVUK  4 года назад +3

      Ive not come across anything no, a wireless device that dumps the communications to a txt file on a local computer would be an awesome device.

  • @christopherdwyer7570
    @christopherdwyer7570 3 года назад +1

    Its got that old dirty bastard can bus interface, lol! Great video. Thank you sir!

  • @muh1h1
    @muh1h1 3 года назад

    There has to be an open source "client Software", that can filter and visualize the data from the Arduino on the fly.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      I think there are a few things knocking about, but I do like doing things my way ;o)

  • @tiborkiss9186
    @tiborkiss9186 3 года назад

    HEllo Dave, I am about to have a try if my c-zero can run the heating while charging - as factory setting it cannot. My question: if I figure out the ID and bits, can I use the same arduino to design a code? I understand that it is just highs and lows, but do I have in the library the info on how many milliseconds one high needs to be and how long intervals need to be between two signals?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Hi, so not sure what you mean by highs and lows, but you don't need to go that deep. The can library will handle all hand shaking, CRC, bits and conflicts. You just send the data you want and it will (most of the time) get to where it needs to go. Most CanBus's I have seen like to have repeats of the data, so for instance might want the RPM sent once every 50ms. Hope that helps.

    • @baileyharrison1030
      @baileyharrison1030 3 года назад

      You should use a can-bus adapter to interface with your arduino as the speeds will be too fast to just digitalRead the pins.

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

    Great video opening the covers of what's otherwise a rather closed subject. As a small improvement you could create a lookup table In Excel and translate the codes I to something more readable, e.g. wheel speed rather than a code

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

      yeah, or a small database to reference things properly.

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

    Does this work on Mercedes as well? I have seen ads for interfaces that say they work on all cars except Mercedes. What is special about their messaging?

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

      Dunno, should do, I have a merc van here that I am happily monitoring the canbus on

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

    very informative

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

      Glad you think so!

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

      Dou you have any idea about how the obd2 bluetooth adapters know what value is representing the any sensor data?I mean that as far as i know every individual car has a unique code for any sensor value and it differs from car to another car.

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

      The bluetooth dongle and what codes represent what sensors or data are not related. But yes, every car will have its own codes.

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

      Thanks for answering my question.But i couldnt get your answer.Normally we try to find what ID is responsible for any sensor value by reverse engineering as you've shown in this video.Since every car has different ID's for the same sensor value,how does the bluetooth obd2 devices recognize the corresponding ID?Thanks for your precious time.

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

      There are some standard values, error codes etc that are on the same ID's. But if you are looking for a specific sensor then no they are all different - you might find your bluetooth reader knows what car it is looking at and so knows the codes already?

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

    Great video! How do you know what each CAN ID corresponds to?

  • @action4free369
    @action4free369 8 месяцев назад

    Thx❤

  • @taranagnew436
    @taranagnew436 3 года назад

    is there a wireless canbus plug-in that can import the data to excel?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      you could add a wifi adapter to the arduino, then write some code to dump it to a csv that excel could open yeah.

  • @HighwayDelegationSystem
    @HighwayDelegationSystem 5 месяцев назад

    What software application did you use, when you got the noisy codes?

  • @abuelofm5
    @abuelofm5 3 года назад

    The wheel speeds may not be the same because you were doing a turn, you may confirm it with the steering wheel angle

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      Yeah, I actually averaged them out, gets close enough for my means

  • @THISANDTHATKOREA
    @THISANDTHATKOREA 3 года назад +1

    Thanks, Can you remote control D, P, R with Arduino?

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

      It depends on the car, but most need a physical movement to switch into Drive etc

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

      @@SouthWestEVUK Thank you ~

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

    Dave: This is great. We are working on an EV conversion project with a Porsche 996 C4S. We plan to circumvent the DME (ECU) exactly like you did with the Rx-8. Would love some insights/learnings. Is it possible to connect with you directly on specifics - Cheers!

  • @Mike-ry4ti
    @Mike-ry4ti 2 месяца назад

    Awesome, cheers

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

    Can i read data in a Elevator system's MODbus or Canbus so that i can find out the floor number shown in the display using arduino? Please help

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

      Gosh, I guess if the elevator has a canbus I do not see why not.

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

      @@SouthWestEVUK So can you help me about how to sync with elevator canbus or properly setup a system for that using arduino. That would be very helpfull

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

      sure!

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

    Hi is it possible to clear fault codes? If so how?
    I think it's fantastic what your doing and I'm going to do an interesting project later this year with can bus I'll let you know how it goes if your interested

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

      So I can clear the fault codes in terms of them not lighting up a dashboard light. But I cannot clear codes on the ECU - well ive not tried to be honest as I dont need to.

  • @Mark1173
    @Mark1173 3 года назад

    Hi, Great video and very clear explanation, I can't wait to use it. I have an issue though, which is probably just my poor basic knowledge of Arduino but I'm getting the following error when I try to compile the code...
    exit status 1
    'class MCP_CAN' has no member named 'readMsgBufID'
    I downloaded the "Arduino CAN-BUS library" from the link on the Hobbytronics "Leonardo CAN BUS board" page. Is this the correct library or is there something else I need to do too?
    Many thanks, Bob.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      I have just looked at what library I used github.com/sandeepmistry/arduino-CAN Try that one?

    • @Mark1173
      @Mark1173 3 года назад

      @@SouthWestEVUK Hi, thanks for the help but I’ve installed that library and it won’t allow me to compile your code as it cannot find the #include or There seems to be a mismatch using that library as it only includes CAN.h and MCP2515.h I have found though that I can successfully compile, upload and run the code if I install the GitHub library from Seeed Technology Inc, all seems good until I plug in to my car and turn the ignition. At this point nothing happens and there’s no response in the serial monitor. Sorry about this, but any ideas what to try next? Is there any way that I can test the response from the car? I've tried two different cars, a volvo and a Mazda and neither are responding. Many thanks. Bob. Oh yes... I've been going over and over your video to check I'm not doing something stupid and have noticed that we each get different responses when we power up the Arduino, Your monitor responds with "Init. Enter setting mode success set rate success!! Enter normal mode success!! OK! Good to go!" whereas on mine I get "CAN Init: Can Init success Good to go!" Are we possibly using different versions of the Arduino code? Thanks again.

  • @SimonPlatten
    @SimonPlatten 3 года назад

    I've now got the source building correctly and with the ODBII cable which I received today, pin outs checked and verified against SparkFun table. With the serial monitor I can see:
    15:10:17.617 -> CAN init:
    15:10:17.617 -> Can Init Success
    15:10:17.617 -> Good to go!
    Do I need to do anything else, car ignition is on, tried various things like indicators, but I'm not seeing anything? Any suggestions?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      Hi Simon - probably best email me, help on the you tube messaging system is tricky!

    • @SimonPlatten
      @SimonPlatten 3 года назад

      After an email transaction with www.hobbytronics.co.uk, I got an email instructing me to solder the points on the back of the board for mid to right, for CANH, CANL and GND. However, having done this I still get no communication from the car.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Simon, we have been emailing back and forth, why have you messaged on here again? Stick to emails bud - you need to do a continuity test to verify what pins you need to use, I keep saying that - have you done it?

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

    Thank sir.. How did you calculate actual engine rpm value?

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

      Ran the car at an RPM, looked at the canbus data - worked it out!

  • @eymenkosar7412
    @eymenkosar7412 3 года назад

    Totally awesome! Enjoyed it. I have a question for you and commentators. Can i (after convert of CANbus data) pull this data with esp8266 or something else, save it to server and i want to access with my phone whenever i want(after connect to esp8266 sure). And i assume that i used an ESP8266 module. Your answers will make me happy.
    Thanks for the video.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      So the ESP8266 will give your Arduino (if thats what you are using) Wifi access. This I would imagine will give you a TCP/IP stack to transmit and receive data on. It might give you higher level protocols such as SMB which you could use to save files on a network share. It is not something I have done, but yes all seems plausible to live stream data from the Can Bus to a network share that another device (phone / tablet) is reading.

    • @eymenkosar7412
      @eymenkosar7412 3 года назад

      TheBlackhursts Thanks sir. Appreciate it. If you share your email, i can mail you What is next about my project And we can exchange some ideas.

  • @scubasteveVII
    @scubasteveVII 3 года назад

    So if you wanted to play around with the cam bus protocols could you just buy a scraped ECU, hook it up to a 12V battery, wire up an OBD-1 connector, and plug it into the Arduino?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      You could, but the ECU is going to send all manner of error messages out as the rest of the car is missing!

    • @scubasteveVII
      @scubasteveVII 3 года назад

      @@SouthWestEVUK time to get simulating then lol

    • @scubasteveVII
      @scubasteveVII 3 года назад

      @@SouthWestEVUK got any resources on how to solder the little bits you get in the mail? I was expecting it to be pre-assembled lol

  • @HighwayDelegationSystem
    @HighwayDelegationSystem 5 месяцев назад

    Greetings! Do you do consultations? Your time is valuable and I’m trying to get information on the blind spot detection system.

  • @sreejithsreekumar90
    @sreejithsreekumar90 3 года назад

    I'm trying to get Canbus info to my android Stereo, but I couldn't find any CANBUS decoder for my Suzuki Ignis. Can you guide me on how to accomplish this?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      Is that not what this video does?

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

      @@SouthWestEVUK He thinks that there is more than one canbus. Like having one canbus for Mercedes and then another type for Audi. I can imagine he got this idea after shopping obd2 plugs. The ready made ones already have bluetooth and are made with an ELM328 chip, there are android apps that interpret them directly and graph them in a gui. However the plugs work with most cars but not with all of them. That is why he thinks your can bus video is manufacturer specific. However you are collecting data and interpreting them custom to your car. I don't think the commenter wants to do that. He asks about a ready made device that just works with his android stereo device.

  • @wiredwrx
    @wiredwrx 3 года назад

    Hi, trying to use the arduino sketch you linked to, but it is throwing some errors when compiling. Is something missing?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Hay, what error are you getting?

    • @wiredwrx
      @wiredwrx 3 года назад

      @@SouthWestEVUK Thanks for the response. If you want the "verbose" log, just let me know.
      Arduino: 1.8.13 (Windows 7), Board: "Arduino Nano, ATmega328P"
      C:\Users\Boss\AppData\Local\Temp\arduino_modified_sketch_176171\sketch_jul31a.ino: In function 'void setup()':
      sketch_jul31a:35:29: error: no matching function for call to 'MCP_CAN::begin(int)'
      if (CAN0.begin(CAN_500KBPS) == CAN_OK) {
      ^
      In file included from C:\Users\Boss\AppData\Local\Temp\arduino_modified_sketch_176171\sketch_jul31a.ino:2:0:
      C:\Users\Boss\Documents\Arduino\libraries\MCP_CAN_lib-master/mcp_can.h:108:11: note: candidate: byte MCP_CAN::begin(byte, byte, byte)
      INT8U begin(INT8U idmodeset, INT8U speedset, INT8U clockset); // Initialize controller parameters
      ^~~~~
      C:\Users\Boss\Documents\Arduino\libraries\MCP_CAN_lib-master/mcp_can.h:108:11: note: candidate expects 3 arguments, 1 provided
      C:\Users\Boss\AppData\Local\Temp\arduino_modified_sketch_176171\sketch_jul31a.ino: In function 'void loop()':
      sketch_jul31a:52:10: error: 'class MCP_CAN' has no member named 'readMsgBufID'; did you mean 'readMsgBuf'?
      CAN0.readMsgBufID(&ID, &len, buf); // Read data
      ^~~~~~~~~~~~
      readMsgBuf
      Multiple libraries were found for "mcp_can.h"
      Used: C:\Users\Boss\Documents\Arduino\libraries\MCP_CAN_lib-master
      Not used: C:\Users\Boss\Documents\Arduino\libraries\CAN_BUS_Shield-master
      exit status 1
      no matching function for call to 'MCP_CAN::begin(int)'
      This report would have more information with
      "Show verbose output during compilation"
      option enabled in File -> Preferences.

    • @Opuskiller1
      @Opuskiller1 3 года назад

      going from the bottom, up:
      You have multiple MCP libraries on your machine that the arduino IDE can find, so it's sorta confused. To try and be helpful, it just picked one for you...
      Later up it says "Hey, there is this CAN0 object that doesn't have a method called 'readMsgBufID'". This means that the library you're using doesn't know what this method is, or what it does (it can't find a definition for it)
      Above that issue, it goes on to say "This CAN0 object created from this library doesn't have the same method that you're calling in your code... You have one really close called "begin," but it's just different enough that I can't do anything with it"
      long-story-short--and without actually checking--I would think the wrong library is being used

  • @jrok96
    @jrok96 3 года назад

    so is this argeeno something new? i always use arduino and havent heard of it yet

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Well at least you know what I am talking about - so cant be that bad ;o)

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

    Hi Dave, love your channel. I'm based in Plymouth, and having some CANBUS issues with my Artisan ES1 pro electric motorcycle (upgraded motherboard, now dash won't read speed and ECU keeping bike in limp mode). Do you think you may be able to help?

    • @SouthWestEVUK
      @SouthWestEVUK  Год назад +1

      gosh, did anything happen leading up to this fault (replacement parts etc)? my contact details are on my bio page

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

      @@SouthWestEVUK I upgraded the controller from a Lingbo LBMC72352 to an LBMC72502. It uses CANBUS RS485 but won't seem to send speed or gear selection data to the dash, and the ECU is staying in limp as a result. I don't know whether I need a new dash, black box, or BMS, or if I'm just being stupid and missing something obvious. I've seen people like yourself decode CAN and spoof it using an Arduino though, which may potentially be the easiest solution. What do you think? Also I can't find any contact info on your about page of your channel, is that what you mean by the bio? If you can PM me somehow I'll give you my phone number.

  • @RetroRepair
    @RetroRepair 4 месяца назад

    Awesome! Finally I can hack my car 😂 so is that little arduino just an uno or something with a ftdi chip for serial comms? Like I could potentially just build one and hack up my old kcan adapter for it's connector?

    • @SouthWestEVUK
      @SouthWestEVUK  4 месяца назад +1

      Take a look at my notes in the video (text) there is a link to buy this Arduino - comes with all the standard outputs and a canbus shield all in one.

  • @wernermuller3522
    @wernermuller3522 8 месяцев назад

    Hello,
    I have a rare electric car from China, a SUDA SA01, where I have problems with the tire pressure sensor.
    I would like to see what is being said on the OBD2 connector via the CAN bus.
    Question: Is the speed of the CAN bus crucial as to whether you can read something?
    This is what the tire pressure sensors and the receiving device look like, which then transmits the data via CAN bus, 4 x temperature and 4 x tire pressure.
    The tire pressure sensors:
    3636200XSA01BA
    HW29112-SD01
    C-Code:116AT
    195200
    ID:FDFED14F
    And on the receiving device that then outputs the data via the CAN bus:
    AA2012116ATKCV3226
    3636100XSA01BA
    C-Code:116AT
    DATE:195200
    Do you have any idea what “C-Code:116AT” and “DATE:195200” mean?

    • @SouthWestEVUK
      @SouthWestEVUK  8 месяцев назад

      No idea - and yes the speed of the CAN is crucial...

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

    Does these codes the same for every vehicle and manufacturer ?

  • @harryohanson
    @harryohanson 3 года назад

    Thank you for sharing!! I have a question. If I would like to use a CAN-bus operated speedometer on an older motorcycle how can I make that work with Arduino? Thank you!

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      Yes absolutely!

    • @harryohanson
      @harryohanson 3 года назад

      How do you tie sensors to the Arduino?

    • @OtherDalfite
      @OtherDalfite 3 года назад

      @@harryohanson this is something beyond the scope of this tutorial. Look up rpm arduino to see methods for this. If the motorcycle isn't using can bus, this video isn't really relevant to your needs.

    • @harryohanson
      @harryohanson 3 года назад

      Thank you for your reply!

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

    Hi sir. This can bus also do reduce mileage read and write..??

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

      Depends on the car but in theory yes

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

    How can we access ecu flash mem to modify map data ..... Plz help

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

      really depends on the system in question

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

    Does this have a limitation to vehicles only in the UK? Also anyone know where I can find CAN BUS Databases?

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

      No, the canbus is a global system used in automotive machines...

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

      Oh and no, no central databases exist for all manufacturers, they keep the code close to their chests.

  • @henriquecosta3031
    @henriquecosta3031 3 года назад

    you should use can-pi you can do a lot more in can-bus network, you can ignore reapeated pacets and just show only new codes appearing, candump cansniff, way better mate ;) nice video anyway

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Cheers, there are quite a few solutions now - I am a bit old school and like to process things myself, excel is pretty good at filtering out noise!

  • @AhmedEssam-hh2ge
    @AhmedEssam-hh2ge 3 года назад

    Hello, will it work with peugeot 3008 gt line 2020 for telecoding headunit, options etc?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад +1

      I would imagine so, if it has a Can Bud to attach to!

    • @AhmedEssam-hh2ge
      @AhmedEssam-hh2ge 3 года назад

      There is a long post about can bus sheild connected with arduino uno board and connecting to the cars obd2 socket 2 pins only for connection with the nac head unit here is the link www.forum-peugeot.com/Forum/threads/tuto-t%C3%A9l%C3%A9codage-et-calibration-dun-nac-rcc-cirocco-sans-diagbox-via-arduino.121767/

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

    traction conditions, air presure, bumps on the road, all are different on every wheel when driving plus steering, all that causes different speed on every wheel

  • @grandprime7397
    @grandprime7397 3 года назад

    Support from kerala

  • @lucasdetex8703
    @lucasdetex8703 3 года назад +1

    11:34 ... The answer: That wheel speed difference happens when the car makes a turn, the inside tyre has to travel a shorter distance than the outside tyre.

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Yeah, this is very true,

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

      @@SouthWestEVUK Another Answer: Tire pressure and temperature will change the diameter of the tires also.

  • @andrewlord2068
    @andrewlord2068 4 года назад +1

    Hi,
    Great explination.
    Could you help me out with your code to get the tacho to work? I have already removed my engine without recording the signals? I dont have a mazda but hope to change the code to suit my aplication?
    Thanks
    Andrew

    • @SouthWestEVUK
      @SouthWestEVUK  4 года назад

      Yes I have almost finished putting it all together to upload...

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

    amazing video. thank you for sharing your knowledge! I would like to create my application so i can personalise the way it show the data to me. How is it possible to read bluetooth data from a device and also i would like to make a version for computer. So i would like to read data with usb to TTL , serial communicaton.

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

      Many many components to this, way too many for a You Tube comment! Good luck :o)

  • @jyotirdiptadas3989
    @jyotirdiptadas3989 3 года назад

    Hey sir I want to know that from where i can get how to program a can bus from scratch and connect it to all ecus I want. If you know that please tell me

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      You don't really 'program a can bus' you communicate on it. There are tonnes of references out there - or use my code.

    • @jyotirdiptadas3989
      @jyotirdiptadas3989 3 года назад

      @@SouthWestEVUK from where I will get your code?

    • @jyotirdiptadas3989
      @jyotirdiptadas3989 3 года назад

      And also how to read it please also tell me

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

    Cool vid, thx, but, I'm still unclear about usefullness of this. Once I get the ID of something, say 1234, like accelerater pedal, what can I do with that data? How to program other peripherals to interact with it? Say I want a Hand throttle for a boat to be in my car instead of foot pedal. How to map that device to the foot pedal? Do I have to program the peripheral to mimick that? And then where is that code saved? in the Hand Throttle device? or some itermediary box?

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

      You would have to do two things with your throttle example. 1) stop the original throttle working and 2) make your new hand throttle output the right commands. the throttle itself is unlikely to be programmable, you would need something like an Arduino that you can program with inputs and outputs to the desired results.

  • @lawrencebrusco7492
    @lawrencebrusco7492 3 года назад

    Thanks. What code is the mileage?

    • @SouthWestEVUK
      @SouthWestEVUK  3 года назад

      Pretty certain if you look through my videos I have published an excel that contains all the codes I know - one being the odo. It is in GitHub