Messages aren’t sent on one wire and received on the other. The microcontroller such as PIC18F2580 for example receives on one pin and sends on the other which nominated as CANRX & CANTX. The CAN transceiver like the old MCP2551 sends out CANH & CANL as a differential pair where messages are sent and received on the same pair of wires.
A few things wrong here. CAN doesn't send on one wire and receive on the other. The CANH and CANL together form a differential signal pair. They either sit at the same potential or one is pulled high, the other low to form the 1s and 0s. You were looking at PIDs on Wikipedia. You won't see any of those if you're sniffing the bus. PIDs are part of the on board diagnostic standard. You (or OBD tool) requests a PID and the module will respond. These are legislated and common between manufacturers. By sniffing you are only looking at the data broadcast on the bus by a module for consumption by another module or modules. These CAN IDs are manufacturer specific. They are not published so you have to reverse engineer or hope someone online has already done it for you. The OBD messages and broadcast messages use the same bus but serve very different purposes.
Oh boy this was the answer i was looking for :( i dont see any pid in my data but i do see id for example i see 2c4 id which is for rpm in toyota. I want to know how do i get data with pid i am using mcp2515 with esp32 and i dont know how do i get pid data
I’m still trying to get a 2014 Silverado gauge cluster working with a pre can bus ecm was reading with Arduino and hopefully making a Arduino board to translate pie to low speed can buss, I put that project on back burning, since everybody that I was talking to was over their head on what I was trying to do? Great to see I’m not crazzy, hope to see more videos on topic. Thanks
Just run the vehicle and use HPTuners to increase idle speed and watch the data that comes on the CAN. I use a Linux OS on a raspberry pi and CAN sniffer USB and watch the data to make a custom LCD dash like what you would see in a Tesla. On linux you can filter data and only show only data that changes on the CAN and poll the data and send data much faster. I found some vulnerability if a remote hacker sent a message request to electronic throttle body to increase acceleration by installing a wireless device on the obd2 port. Definitely a potential security risk. That's why the ECU sends out so many request and acknowledgement requests for more critical components on the CAN BUS
I decided to buy the Microchip CAN Bus Analyzer after watching your video. The software that Microchip provides is really just intended to be an example. It is open source, and the source code can be found in your install directory. I intend to write my own software around theirs, and use it as a bridge between my PC and the CAN Bus I'm reverse engineering.
Just something I figured out as im starting to mess with some can stuff. If you go to hpt scanner channel selector and click the sort by id button it pops up the obd 2 id in decimal. So might be useful for parameters not on the wiki.
Yeah, I work in both, but will end up programming in hex, I did a program today to trigger a relay off a factory can message that I'll do a video on soon.
I just got my MPVI3 yesterday. Took your advice and I’m starting to learn how to tune my own car. I just finished my refresh of my LS2 and I’m going to be tuning my 0411 ecu for this build which is just Cam, springs, lifters, intake, headers. Other than that it’s a stock 6.0 so I’m doing the swap into my project 95 Trans Am. Today I’ll order a new wideband. What wideband do I get?
I think you were confusing device ID's with PIDs. Device Id's are devices on the can bus and they can be a function within a device or an actual physical device. The physical devices are things such as PCM, BCM, ABS, Instrument Cluster, etc. PIDs are Parameter IDs requested from the ECM such as RPM, O2 sensor voltage, Vehicle speed, and many many more. You probably have figured it out much better by now a year later. I'm trying to learn this myself, but I don't have HP tuners. I'm using an elm327 and a serial terminal emulator app on an 06 gm which is pre-CAN. It's not easy because information is very limited. HP tuners is just another device on the CAN bus - in this case ID $FE = 254. Most scan tools are device $F1. CAN protocol has a source and destination ID for the sending and receiving device. So far I have been able to send a test command to the instrument panel to make all the gauges swing and lights come on, and a few other basic things such as request specific pids, and monitor the bus. You can use an obdII splitter cable to send commands with with a TEC II, then sniff with your hp tuners.
I'm New To This And Started Looking Into This For Torque Pro. I Have A 06 Jeep (Chrysler Dodge etc). Biggest Problem Is Chryslers Only Have 1 Custom PID Discovered Which Is Transmission Fluid Temperature. I'm Trying To Figure Out How I Could Sniff The CAN Bus And Figure Out What Needs To Be Put In Torque Pros Custom PID Editor To Get Something Like Knock Retard. All Other Brands Like GM And Ford Have A Ton Of Enhamced PIDs Found While Chrysler Only Has 1 lol
I am from Vietnam, i spent 1 day to watch your video! All videos are very few, please try each day! I would recommend everyone I know, thank you very much
Good video but one mistake: terminating resistors are 120 ohm each, not 60 ohm. You will measure 60 ohm since they are in parallel when your CAN Bus is working correctly.
Cool; please keep digging on CAN stuff. This sort of knowledge is basically a requirement for hotrodding late models and there's not much good DIY stuff available.
I cant get my 2006 Jeep grand cherokee 6.1 to start after tweaking a few tables , i reflashed the stock file but i get no fuel ... i ruled out everything back to the tune because it started with some starting fluid .it was running perfect before the tune please any help would be appreciated
well this leads me to a question i hope you or someone might be able to answer... ive got a 1967 c10 truck i’m putting the cab on a 2007.5 1500 frame i have all of the wiring the BCM & ECM id like to use the factory gauges out of the 2007.5 truck. do i have to hook up the BCM and have it programmed ? is there away around that?
I feel like the one day in highschool that they messed up my schedule and put me in trigonometry class(I didn't belong there) lol maybe if I watch 6 or 7 times I'll start to understand
hey bro, I have a question regarding data readers do you know any good J1850 vow readers I've been looking for some good readers but I can't find anything.
Are you planning on making a video doing the same for the Holley can bus system? From my understanding, they have their on proprietary language. I did see that holley released some sort of spec sheet to the NHRA though! Love you channel! Keep it up!
Yeah, should be easy enough to decipher theirs. Problem is the message format is different so we will have to use a gateway to convert the data we want to work on the factory system.
@@GoatRopeGarage i was able to get the specific can messages that control a bmw 7 speed dct Now how can use these messages to make the gearbox function in a swap
@@FirstLast-tx3yj will need a device that can inject can messages, a few stand alone units are able to if I'm not mistaken. I'd probably look at megasquirts software, see if it is capable.
You'd have to have a device that converts the data from cab to the obd2 message format, it's doable, but the obd2 is a set protocol for the most part that has standard addresses, can is a communications protocol, you can send obd2 messages on can, but they have to meet the can requirements
How do I know what injectors I need for a 6.0 all new internals, comp cam, trunnion upgrade, 243 heads, fabricated intake with drive by cable. Thank you
The 243 heads might be what gives you insight, how much more sure do they flow over what you had before? Should give your an indication of how much fuel you'll need.
Your explanation of the terminating resistor for GM CAN isn't 100% correct... The ECM has one, and usually the last module on the bus has one, OR there is an actual resistor on the bus. This is usually in the rear section of the vehicle.
Gotcha. It's correct for this platform, the ECM has one and the BCM has one. The ECM also happens to be the last module on the bus in this case, per the vehicle documentation.
@@GoatRopeGarage 60 ohm?? The bus standard says a 120 ohm termination at each end of the cable not two 60 ohms or one 60 ohm. Just wondering if that is actually what you vehicle has? Cheers.
ok, ok i hear that farmers with their costly tractors and the like, are interested in trouble-shooting their stuff.. the service centers want a lot of money just to hookup the tester to analyze the problem and not do any fixing. so this kind of info may help a lot of people. also, CAN devices are on the factory floor and as well as at home.. thanks...:)
Way over my head. I do understand serial data and messages as I was around when Cadillac's Allante came out and it was my job to fix them. I when to some awesome GM schools. Even prototype stuff.
I'll pay if you can decode the signal for steering wheel controls for 2017-2021 kia sedona so an aftermarket radio would function 100% lemme know if you can
BEWARE ******Be careful also when sending packets over CAN bus if in the vehicle. If you send CAN data to an airbag and cause it to deploy if you select the incorrect ID ********
Chad, I'm not sure there is an srs module out there that could deploy the airbags from a can signal, that's not how the system works. While it may be able to report a status, and even inhibit things like starting after a crash through communication with other modules, it's not going to have a deploy code that it received over the network. It wouldn't serve any purpose.
The GM platform may have some kinda access other than CAN but I have not researched that. Although it's fun to change the radio volume and station and radio setting on the CAN bus when the vehicle has the CAN based radio controls on the steering wheel.
I'm trying to make a dash for my corvette, if you're willing to partner up with me, send me an email. just need some guidance and help getting dash Data on my j1850 vpw
Messages aren’t sent on one wire and received on the other.
The microcontroller such as PIC18F2580 for example receives on one pin and sends on the other which nominated as CANRX & CANTX. The CAN transceiver like the old MCP2551 sends out CANH & CANL as a differential pair where messages are sent and received on the same pair of wires.
A few things wrong here.
CAN doesn't send on one wire and receive on the other. The CANH and CANL together form a differential signal pair. They either sit at the same potential or one is pulled high, the other low to form the 1s and 0s.
You were looking at PIDs on Wikipedia. You won't see any of those if you're sniffing the bus. PIDs are part of the on board diagnostic standard. You (or OBD tool) requests a PID and the module will respond. These are legislated and common between manufacturers.
By sniffing you are only looking at the data broadcast on the bus by a module for consumption by another module or modules. These CAN IDs are manufacturer specific. They are not published so you have to reverse engineer or hope someone online has already done it for you.
The OBD messages and broadcast messages use the same bus but serve very different purposes.
You are correct about the differential signaling. I was going to say the same thing.
Thank you! Also, for the termination, 120ohm resistors (two), which will then equal to the 60ohms.
I love you all
Oh boy this was the answer i was looking for :( i dont see any pid in my data but i do see id for example i see 2c4 id which is for rpm in toyota. I want to know how do i get data with pid i am using mcp2515 with esp32 and i dont know how do i get pid data
Not even five minutes in and this is already helping me so much with my current build!
I’m still trying to get a 2014 Silverado gauge cluster working with a pre can bus ecm was reading with Arduino and hopefully making a Arduino board to translate pie to low speed can buss, I put that project on back burning, since everybody that I was talking to was over their head on what I was trying to do? Great to see I’m not crazzy, hope to see more videos on topic. Thanks
There will be, I'm basically doing the same thing. What protocol was the pre can bus unit you're working with?
Just run the vehicle and use HPTuners to increase idle speed and watch the data that comes on the CAN. I use a Linux OS on a raspberry pi and CAN sniffer USB and watch the data to make a custom LCD dash like what you would see in a Tesla. On linux you can filter data and only show only data that changes on the CAN and poll the data and send data much faster. I found some vulnerability if a remote hacker sent a message request to electronic throttle body to increase acceleration by installing a wireless device on the obd2 port. Definitely a potential security risk. That's why the ECU sends out so many request and acknowledgement requests for more critical components on the CAN BUS
Also vehicles with automatic braking and parking assist are a security risk and very vulnerable because you can control braking and steering via CAN
I decided to buy the Microchip CAN Bus Analyzer after watching your video. The software that Microchip provides is really just intended to be an example. It is open source, and the source code can be found in your install directory. I intend to write my own software around theirs, and use it as a bridge between my PC and the CAN Bus I'm reverse engineering.
Very Nice...Thanks!
One of the coolest things I’ve seen in a good while. Thanks for sharing.
This stuff is so cool, makes we wish I had a newer vehicle so I could play around with this Canbus stuff!
Man. You're really gonna get some peoples goats if you start teaching us all CAN, that's even more secretive than the tuning! 😝
Hahahaha no
If you want to know something you must learning it from the basics
Just something I figured out as im starting to mess with some can stuff. If you go to hpt scanner channel selector and click the sort by id button it pops up the obd 2 id in decimal. So might be useful for parameters not on the wiki.
Hi Mate , switch those values to hex. If you are planning to dig in further is better to do it earlier than later
Yeah, I work in both, but will end up programming in hex, I did a program today to trigger a relay off a factory can message that I'll do a video on soon.
I just got my MPVI3 yesterday. Took your advice and I’m starting to learn how to tune my own car. I just finished my refresh of my LS2 and I’m going to be tuning my 0411 ecu for this build which is just Cam, springs, lifters, intake, headers. Other than that it’s a stock 6.0 so I’m doing the swap into my project 95 Trans Am. Today I’ll order a new wideband. What wideband do I get?
Not sure these days, not that Holley owns AEM
Dude, that can bus data tool is sweet! Kinda bummed you cut the video short, keep them coming!
Your Amazon link for analyzer is not available, deadlink
Great video Kyle, love this tech stuff.
What CAN bus analyzer are you using? The Amazon link no longer works.
I think you were confusing device ID's with PIDs. Device Id's are devices on the can bus and they can be a function within a device or an actual physical device. The physical devices are things such as PCM, BCM, ABS, Instrument Cluster, etc. PIDs are Parameter IDs requested from the ECM such as RPM, O2 sensor voltage, Vehicle speed, and many many more.
You probably have figured it out much better by now a year later.
I'm trying to learn this myself, but I don't have HP tuners. I'm using an elm327 and a serial terminal emulator app on an 06 gm which is pre-CAN. It's not easy because information is very limited.
HP tuners is just another device on the CAN bus - in this case ID $FE = 254. Most scan tools are device $F1. CAN protocol has a source and destination ID for the sending and receiving device.
So far I have been able to send a test command to the instrument panel to make all the gauges swing and lights come on, and a few other basic things such as request specific pids, and monitor the bus.
You can use an obdII splitter cable to send commands with with a TEC II, then sniff with your hp tuners.
I'm New To This And Started Looking Into This For Torque Pro. I Have A 06 Jeep (Chrysler Dodge etc). Biggest Problem Is Chryslers Only Have 1 Custom PID Discovered Which Is Transmission Fluid Temperature. I'm Trying To Figure Out How I Could Sniff The CAN Bus And Figure Out What Needs To Be Put In Torque Pros Custom PID Editor To Get Something Like Knock Retard. All Other Brands Like GM And Ford Have A Ton Of Enhamced PIDs Found While Chrysler Only Has 1 lol
I am from Vietnam, i spent 1 day to watch your video! All videos are very few, please try each day! I would recommend everyone I know, thank you very much
Good video but one mistake: terminating resistors are 120 ohm each, not 60 ohm. You will measure 60 ohm since they are in parallel when your CAN Bus is working correctly.
Agree. Noticed same thing
Cool; please keep digging on CAN stuff. This sort of knowledge is basically a requirement for hotrodding late models and there's not much good DIY stuff available.
I'll have a video out later this week using the factory C6 push button ignition can messages to control relays.
Oi gostaria de saber sobre rede can tem como mi ajudar
There is an DIY like Arduino Leonardo cheap option on how to sniff and send on can bus,
greetings, excellent video. how can i do i need that when i exceed 20 km / h read that data and turn on a light bulb. Thank you.
The link for the Can Bus Analyzer on the description is not available anymore.
Does any one knows which analyzer is he using?
APGDT002
Search that part number
I cant get my 2006 Jeep grand cherokee 6.1 to start after tweaking a few tables , i reflashed the stock file but i get no fuel ... i ruled out everything back to the tune because it started with some starting fluid .it was running perfect before the tune please any help would be appreciated
well this leads me to a question i hope you or someone might be able to answer... ive got a 1967 c10 truck i’m putting the cab on a 2007.5 1500 frame i have all of the wiring the BCM & ECM id like to use the factory gauges out of the 2007.5 truck. do i have to hook up the BCM and have it programmed ? is there away around that?
If you have the BCM and ECM you should be good, shouldn't need to program anything
Hella geek bro.. hella geek :)
how do i get rid of a p1309 ford code in my 98 explorer 5.0 with a large and with alot of duration
I feel like the one day in highschool that they messed up my schedule and put me in trigonometry class(I didn't belong there) lol maybe if I watch 6 or 7 times I'll start to understand
hey bro, I have a question regarding data readers do you know any good J1850 vow readers I've been looking for some good readers but I can't find anything.
I would love to figure out how to use this to rework my TUTD on my 6l90.
Are you planning on making a video doing the same for the Holley can bus system? From my understanding, they have their on proprietary language. I did see that holley released some sort of spec sheet to the NHRA though! Love you channel! Keep it up!
Yeah, should be easy enough to decipher theirs. Problem is the message format is different so we will have to use a gateway to convert the data we want to work on the factory system.
@@GoatRopeGarage i was able to get the specific can messages that control a bmw 7 speed dct
Now how can use these messages to make the gearbox function in a swap
@@FirstLast-tx3yj will need a device that can inject can messages, a few stand alone units are able to if I'm not mistaken. I'd probably look at megasquirts software, see if it is capable.
@@GoatRopeGarage cant i used arduino with a can shield?
if you can tap the can line on lets say an atv/side x side, can you convert it to obd2 then read it with a scanner?
Awesome video by the way!
You'd have to have a device that converts the data from cab to the obd2 message format, it's doable, but the obd2 is a set protocol for the most part that has standard addresses, can is a communications protocol, you can send obd2 messages on can, but they have to meet the can requirements
How do I know what injectors I need for a 6.0 all new internals, comp cam, trunnion upgrade, 243 heads, fabricated intake with drive by cable. Thank you
The 243 heads might be what gives you insight, how much more sure do they flow over what you had before? Should give your an indication of how much fuel you'll need.
Your explanation of the terminating resistor for GM CAN isn't 100% correct... The ECM has one, and usually the last module on the bus has one, OR there is an actual resistor on the bus. This is usually in the rear section of the vehicle.
Gotcha. It's correct for this platform, the ECM has one and the BCM has one. The ECM also happens to be the last module on the bus in this case, per the vehicle documentation.
@@GoatRopeGarage ok. I didn't/don't remember the bus for that car.
@@thatgreenrcsb yeah, I had to go through the GMLan troubleshooting a few times on this thing, it's an odd duck in about every damn way
@@GoatRopeGarage 60 ohm?? The bus standard says a 120 ohm termination at each end of the cable not two 60 ohms or one 60 ohm. Just wondering if that is actually what you vehicle has? Cheers.
@@ingmarm8858because there are multiple parallel resistors it drops to 60 when both resistors are healthy
ok, ok i hear that farmers with their costly tractors and the like, are interested in trouble-shooting their stuff.. the service centers want a lot of money just to hookup the tester to analyze the problem and not do any fixing. so this kind of info may help a lot of people. also, CAN devices are on the factory floor and as well as at home.. thanks...:)
What makes it not a protocol? Can't that term refer to how the device on the network establish priority?
Way over my head. I do understand serial data and messages as I was around when Cadillac's Allante came out and it was my job to fix them. I when to some awesome GM schools. Even prototype stuff.
Would be interesting if you could find;
RKE
PKE
AFE
FOB
FOBIK
SKIM
Codes Request....
I'll pay if you can decode the signal for steering wheel controls for 2017-2021 kia sedona so an aftermarket radio would function 100% lemme know if you can
You need an interface.
The trial and error made the video a bit long and confusing.
BEWARE ******Be careful also when sending packets over CAN bus if in the vehicle. If you send CAN data to an airbag and cause it to deploy if you select the incorrect ID ********
Chad, I'm not sure there is an srs module out there that could deploy the airbags from a can signal, that's not how the system works. While it may be able to report a status, and even inhibit things like starting after a crash through communication with other modules, it's not going to have a deploy code that it received over the network. It wouldn't serve any purpose.
The GM platform may have some kinda access other than CAN but I have not researched that. Although it's fun to change the radio volume and station and radio setting on the CAN bus when the vehicle has the CAN based radio controls on the steering wheel.
CAN BUS ist bidrectional... Lol.
You really need to read up on how a CAN message frame is built. You’ll save yourself a lot of time, instead of typing random data..
I'm trying to make a dash for my corvette, if you're willing to partner up with me, send me an email. just need some guidance and help getting dash Data on my j1850 vpw