Take the 2-minute tour ×
Motor Vehicle Maintenance & Repair Stack Exchange is a question and answer site for mechanics and DIY enthusiast owners of cars, trucks, and motorcycles. It's 100% free, no registration required.

I want to know what should i write with the CAN ID to send it to ECU. I am using ELM327 and Raspberry Pi with all connections to OBD-ii.

initially for sending general PIDs to the ECU through ELM327 and Raspberry Pi, i used '010C\r' for PID 010C. Now i want to know, what i need to write and send to the ecu for a CAN ID/Message to be written to ECU? Also, how can i read CAN Message?

share|improve this question

2 Answers 2

My recommendation is that you start with Bosch CAN 2.0 spec, and then move on to openXc, if you have access to a newer Ford vehicle, they provide you with details on how to leverage some CAN interfaces.

Another thing to note is that OBD is a standard, but the implementation of CAN is not, different vehicles will have CAN buses wired to different pins on the connector, and also multiple buses.

But like MD said, most of this information on the buses is proprietary, and you will have to do some reverse engineering.

I look forward to hearing more of your questions.

BOSCH CAN SPEC: http://esd.cs.ucr.edu/webres/can20.pdf

developer.ford.com https://developer.ford.com/pages/openxc

share|improve this answer

A full CAN message consists of a FRAME ID and a MESSAGE. You're probably going to have to Reverse Engineer the CAN messages to find out which message you want to put on the bus. The answer there also deals with how to read messages as well.

As far as specifically addressing the ECU, not sure how you would do that without having the official documentation, or reverse engineering and finding a message that is truly addressed to the ECU. CAN messages do very specific things, so I would be careful what you send if you don't know what you are doing, as you could seriously damage the vehicle. That being said, the ECU has a CAN ID just like every other device on the network, so it will read in whatever is addressed to it.

Just an FYI, a CAN BUS is similar to a mesh network, or an ethernet subnet, every device will see all the traffic, but will only act on traffic that is specifically addressed to it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.