Skip to content

Latest commit

 

History

History
45 lines (26 loc) · 2.15 KB

protocol.md

File metadata and controls

45 lines (26 loc) · 2.15 KB

ISO 14230 - KWP2000

Here there are some useful resources if someone would like to hack on his own. All I know cames from a document I found on google, none of the above tables or graph were produced by me. I am not sure if I can put this document here (due to license and copyright) but you can find it online

History

Unfortunately before the born of International Organization for Standardization (ISO) and Open Systems Interconnection (OSI) there wasn't one single protocol for all the vehicles, instead almost every manufacter made their own. This resulted in a mess of different protocols, finally the need of a standard brought to the creation of the OBD-II which could comunicate with 5 different protocols:

  • SAE J1850 PWM - old cars from General Motors
  • SAE J1850 VPW - old cars from Ford Motor Company
  • ISO 9141 - Chrysler and some European and Asian vehicles
  • ISO 14230 or KWP2000 - used by most manufacturers, especially by Japanese motorcycles
  • ISO 15765 CAN - newer protocol used by BMW

Alt text

Communication

Before we begin this is the structure of the packets we would send/receive from the ECU

Alt text

Also the timing between bytes, requests, responses is crucial

Alt text

1 - Initialize

Finally we can start the connection

Alt text

2 - Receive the keybytes...

We will receive a confirmation from the ECU and two more bytes which would say to us how the motorbike expect to receive the request from us

Alt text

3 - Timing parameters

Then, for stronger safety, we will ask to the ECU its limits about timing

Alt text

4 - Enjoy

Now we can ask for sensors data, see error codes, upload/download from the ECU, and so on