Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Vehicle can bus

Status
Not open for further replies.

dr pepper

Well-Known Member
Most Helpful Member
I have a seed studio can bus interface clone.
Connecting this to my vehicle shuts down the bus, so the vehicle doesnt like it.
I set the bitrate to 500k & 11 bit address, so the unit should work on a fiat.
The only thing I havent tried yet is twisting the wires, I'm using about 750mm of single 7/0.2mm for hi, lo & gnd.
I programmed an arduino with the example that came with the seed studio library, the example just spits out any valid messages, but obviously it doesnt see any.
Has anyone else fiddled with vehicle Can?
 
Can you post pictures and references. The CAN bus shuts down when it receives an error on the status of the message (that means it receives anything over "0"). If you have a specific error, that can help you. But certainly you have introduced an error in the ready car system, do you know what kind of messages to send and is your hardware syncronized with the car hardware?
 
You should be setting the CAN interface to just read and not to transmit anything. Turn off the acknowledgement bit. In that state, you may get frames, or errors, or nothing but it shouldn't upset the car.

Normal CAN messages on cars are sent repeatedly without being asked for, so you should be able to see those without sending anything. Diagnostic messages, for things like DTCs (Diagnostic Trouble Codes) have to be asked for by the testing equipment.
 
Ok then, turns out my vehicle does not have can bus on the diagnostic connector, I guess thats why things didnt work.
My car uses Kwp2000 which is a comms system pre-canbus, and its brought out to the diagnostic connector, whens I was connecting to what I thought was the can bus I was connecting the can interface to the Kwp bus, obviously these are not compatible & the thing went nuts.
However I know there is a low and a high speed can bus on the car.
After some digging I decided to connect the interface to the radio's canbus connections, which conveniently are marked on the back of the radio.
I can now see the packets, and I have some Vb6 software on my laptop that can filter & overlay repeated messages.
Managed to suss out some of the codes for the instruments & some of the switches.
 
Fiat receives and uses 0x22 ReadWriteDataByIdentifier like most modern models. What exactly do you want to read? You can buy a UDS device and use it on your car if its compatible with the model. Something like this.

EDIT:
Code reader
 
Last edited:
My car uses Can2a, the identifier is 11 bit, and is a combination of which module is transmitting, and what type of data, each module has a range of identifer adresses, I've been able to find some of the ones for the instrument cluster & some of the dash switches, the bus also seems to use remote frames.
I want to be able to take over the driver information display.
I managed to find the identifier for the speedo/tach and fuel/temp guage, its hex281 followed by 8 bytes of hex & bit encoded data.
Theres a good chance I'll need 2 can inetrfaces, and intercept the data I want to manipulate and re-transmit it modified.
Yes I've already got a code reader, and fiat software for all the vehicles modules.
 
Last edited:
You need to give the full request and response expected in hex, like this its hard to make heads or tails of it.
 
I think I've sussed the comms, its now a case of finding out what codes are what.
I have a filter program which lets me ignore certain known codes.
 
I got a instrument cluster from a dead car same make as mine.
After some fiddling managed to establish a connection.
Found code for everything except outside temp, my car doesnt have this so I cant use my sniffer on it.

 
Good work :) I keep meaning to find some time to play with Canbus but never quite get round to it.

Ironic really as I'm surrounded by it all day and we design our own engines / ECU's at work as well as interfacing with other manufacturers. While I wire the stuff up, I don't get involved in the end game :(
 
I've used can bus before too, but for industrial servo drives.
Its pretty much the same.
 
hmm.. can bus .. a very interesting word for my search engine
http://opengarages.org/handbook/ebook/
lots of basics there...

" finding out what codes are what. "
this reminds me of when nintendo emmulators came out on pc's .. there was a built in hack tool so you could change things in the memory...
for example if i wanted 1000 lives but i only had 4

first i would pause the game and scan and filter the ram bank for all the values of 4
then i would resume the game and run around a bit pause again and scan and filter for 4 again
if i did this several times and there were lots of 4 floating around in memory then i would resume the game jump off a cliff so now im at 3 lives
now scan and filter the previous results now for the number 3 since im at 3 lives now
finally brings down my list to 1 varable and i save that block as my lives variable and then change it to 1000!

.. or maybe you can pass the data to a graph of v/t and eye ball the changes
 
Yes, rev the engine & watch for the data changing for Rpm, freezer spray the intake temp sensor & watch for data changing.
Same principles.
I'm not all that keen on systems that use expensive hardware, everything I used was su[er cheap.
I want to fix vehicles not break them.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top