https://github.com/muki01/obd2_k-line_reader
OBD2 K-line Reader (ISO9141 and ISO14230)
https://github.com/muki01/obd2_k-line_reader
diagnostic diagnostic-tests diagnostic-tool diagnostics elm327 iso14230-1 iso9141 k-line kwp2000 obd2
Last synced: 11 months ago
JSON representation
OBD2 K-line Reader (ISO9141 and ISO14230)
- Host: GitHub
- URL: https://github.com/muki01/obd2_k-line_reader
- Owner: muki01
- License: mit
- Created: 2023-10-30T12:02:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-20T12:13:55.000Z (about 1 year ago)
- Last Synced: 2025-05-20T12:53:19.218Z (about 1 year ago)
- Topics: diagnostic, diagnostic-tests, diagnostic-tool, diagnostics, elm327, iso14230-1, iso9141, k-line, kwp2000, obd2
- Language: C++
- Homepage:
- Size: 2.86 MB
- Stars: 91
- Watchers: 10
- Forks: 10
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚗OBD2 K-line Reader





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:
1. [Тhis](https://github.com/muki01/I-K_Bus) project is for BMW with I/K bus system.
2. [Тhis](https://github.com/muki01/OBD2_CAN_Bus_Reader) project is for Cars with CAN Bus.
## ⚙️Instalation
* If you just want to test, you can use the [Basic_Code](https://github.com/muki01/OBD2_K-line_Reader/tree/main/Basic_Code). This code extracts the data to the serial monitor. It is compatible with Arduino and ESP32. [Here](https://github.com/muki01/OBD2_K-line_Reader/blob/main/Basic_Code/README.md) 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](https://github.com/muki01/OBD2_K-line_Reader/tree/main/WebServer_Code). It is compatible with All ESP32 and ESP8266 board. [Here](https://github.com/muki01/OBD2_K-line_Reader/tree/main/WebServer_Code/README.md) 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.
## 📱Pictures of the application I made

## 🛠️Schematics for communication
#### This is the schematic with Transistors

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.
#### This is the schematic with L9637D

## The device I made with ESP32 C3 SuperMini.
