This has been imported from GitHub, so the format could be wrong. Please see the GitHub page for more info.
The KWP2000 is a communications protocol used for on-board vehicle diagnostics systems (OBD) by Suzuki (SDS), Kawasaki (KDS), Yamaha (YDS), Honda (HDS) and more. It is standardized by the ISO 14230 and it is compatible with the ISO 9141. Both uses a single line called the K-line through it we send some Parameter IDs, knowns as PIDs, to the Electronic Control Unit (ECU). This way we have total control on the motorbike: we are able to ask for sensors data (such as RPM, gear, speed, temperatures, etc.), see error codes and clear them, upload/download and more.
If you want to read more about this protocol and OBD-II you can see the protocol explained.
HardwareAny microcontroller (MCU) could be used.
Many ICs could be used as interface, for example:
- L9637
- MC33660
- MC33199
- operational amplifiers/level shifter/transistors (not recommended)
- Suzuki GSX-R 600 L1 (2011)
You have to find the K-line of your bike. In Suzuki bikes it's under the rider's seat. You just need to connect the Kline, Vcc and Gnd to the driver IC you bought.
Example of the wiring for the L9636:
Dealer Mode - Only for Suzuki:
If you wish also to be able to enter easily into this mode add an optocoupler with a ~330omh resistor between the MCU and the dealer pin.
SoftwareFirst of all go to PIDs.h and decomment (delete the //
symbols) your motorbike, then upload any of the examples.
Simply add this from the Arduino/PlatformIO Library Manager or download this repository and add it to your library folder.
DevelopmentI made an ECU Emulator written in python for the development of new functions and tests.
DocumentationGenerally the functions return true
if everything went fine, a negative number
if there where any error, false
if nothing changed.
This documentation has been automatically generated with doxygen + moxygen, an automatic documentation generator, I will make the formatting nicer later.
See documentation here.
Influence:
Comments