This code is for reading the K-Linke in Cars. With this code you can read sensor values, troubleshoot codes and more. It is compatible with ISO9141 and ISO14230(KWP slow and fast) protocols. I have shared schematics to communicate with the car. You can use these schematics or you can make another one. I used Arduino nano and ESP32 C3 as microcontrollers, but you can use another microcontrollers like STM32, ESP8266 and much more.
I will share more information about K-Line protocols and communication later. Stay tuned 😉.
You can also see my other car projects:
- If you just want to test, you can use the Basic_Code. This code extracts the data to the serial monitor. It is compatible with Arduino and ESP32. Here are the instructions on how this code works and how to install.
- If you want to see the retreaved data in the Web Site you can use WebServer_Code. It is compatible with All ESP32 and ESP8266 board. Here are the instructions on how this code works and how to install.
Warning
I am not responsible for any issues or damages that may occur during your testing. Please proceed with caution and at your own risk.


The R6 resistor in this schematic is designed for 3.3V microcontrollers. If you are using a 5V microcontroller, you need to change the R6 value to 5.3kΩ.
Additionally, I have observed that many test devices use a 1kΩ value for R4. However, according to the K-Line documentation, the recommended value for R4 is 510Ω. It is advisable to follow this value. That being said, using 1kΩ for R4 will not cause any issues in the circuit. However, if you prefer to adhere to the documentation, 510Ω is the recommended value.

