iwanders / OBD9141

A class to read an ISO 9141-2 port found in car diagnostic OBD-II ports.
MIT License
237 stars 72 forks source link

KWP71 Compatibility #48

Closed dimiras closed 1 year ago

dimiras commented 1 year ago

Do you think this would work with an ECU that uses the KWP71 used on some older bmw ecus?

I think its based on the ISO9141.

Here is an image with some info about the protocol: KW71diagram

And also the page where I found this information: http://www.km5tz.com/BMW%20850iP11.htm

I also found this repository that also mentions the ISO9141: https://github.com/kaihara/kwp71scan/wiki

Also is there any board that I can use directly with arduino? without the need of soldering? Something similar to this : https://pt.aliexpress.com/item/1005004779363350.html

dimiras commented 1 year ago

Also found this http://www.internetsomething.com/kwp/

iwanders commented 1 year ago

I think its based on the ISO9141. I also found this repository that also mentions the ISO9141:

It mentions ISO9141 because the physical bus characteristics are similar / identical. The protocol itself looks different; 9600 as baudrate, every byte is echo'd back inverted and it doesn't look like there is a checksum, all of which are key differences to ODB9141-2.

Also is there any board that I can use directly with arduino? without the need of soldering?

The SN65HVDA series chips are usually K-line transceiver chips, so that could very well work if the physical bus is identical.

Do you think this would work with an ECU that uses the KWP71 used on some older bmw ecus?

I don't think this library will really work for this protocol. I'd start from scratch, or use the kwp71scan repo you found, the actual protocol implementation seems to be grouped in these free functions, so you may be able to pull that out without too much problems and reuse it.

Good luck with your project!