{"id":20260110,"url":"https://github.com/muki01/obd2_k-line_reader","last_synced_at":"2025-07-19T12:32:45.279Z","repository":{"id":204476562,"uuid":"711900820","full_name":"muki01/OBD2_K-line_Reader","owner":"muki01","description":"OBD2 K-line Reader (ISO9141 and ISO14230)","archived":false,"fork":false,"pushed_at":"2025-05-20T12:13:55.000Z","size":3003,"stargazers_count":91,"open_issues_count":16,"forks_count":10,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-05-20T12:53:19.218Z","etag":null,"topics":["diagnostic","diagnostic-tests","diagnostic-tool","diagnostics","elm327","iso14230-1","iso9141","k-line","kwp2000","obd2"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muki01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-30T12:02:42.000Z","updated_at":"2025-05-20T11:59:58.000Z","dependencies_parsed_at":"2025-05-09T17:42:02.937Z","dependency_job_id":null,"html_url":"https://github.com/muki01/OBD2_K-line_Reader","commit_stats":null,"previous_names":["muki01/obd2_k-line_reader"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/muki01/OBD2_K-line_Reader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muki01%2FOBD2_K-line_Reader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muki01%2FOBD2_K-line_Reader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muki01%2FOBD2_K-line_Reader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muki01%2FOBD2_K-line_Reader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muki01","download_url":"https://codeload.github.com/muki01/OBD2_K-line_Reader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muki01%2FOBD2_K-line_Reader/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265934187,"owners_count":23852086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diagnostic","diagnostic-tests","diagnostic-tool","diagnostics","elm327","iso14230-1","iso9141","k-line","kwp2000","obd2"],"created_at":"2024-11-14T11:18:01.438Z","updated_at":"2025-07-19T12:32:45.274Z","avatar_url":"https://github.com/muki01.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚗OBD2 K-line Reader\n\n![GitHub forks](https://img.shields.io/github/forks/muki01/OBD2_K-line_Reader?style=flat)\n![GitHub Repo stars](https://img.shields.io/github/stars/muki01/OBD2_K-line_Reader?style=flat)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/muki01/OBD2_K-line_Reader?style=flat)\n![GitHub License](https://img.shields.io/github/license/muki01/OBD2_K-line_Reader?style=flat)\n![GitHub last commit](https://img.shields.io/github/last-commit/muki01/OBD2_K-line_Reader)\n\nThis 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.\nI 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.\n\nI will share more information about K-Line protocols and communication later. Stay tuned 😉.\n\nYou can also see my other car projects:\n1. [Тhis](https://github.com/muki01/I-K_Bus) project is for BMW with I/K bus system. \n2. [Тhis](https://github.com/muki01/OBD2_CAN_Bus_Reader) project is for Cars with CAN Bus.\n\n## ⚙️Instalation\n* 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.\n* 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.\n\n\u003e [!WARNING] \n\u003e I am not responsible for any issues or damages that may occur during your testing. Please proceed with caution and at your own risk.\n\n\n## 📱Pictures of the application I made\n\u003cimg width=90% src=\"https://github.com/user-attachments/assets/766e178a-b956-4bdb-8f64-1919da479c65\"\u003e\n\u003cimg width=90% src=\"https://github.com/user-attachments/assets/24f8f3cd-4056-44de-8414-635a4de0d60c\"\u003e\n\n\n## 🛠️Schematics for communication\n#### This is the schematic with Transistors\n\u003cimg src=\"https://github.com/muki01/OBD2_K-line_Reader/blob/main/Schematics/Transistor%20Schematic.png\" width=70%\u003e\n\nThe **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Ω**.\n\nAdditionally, 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.\n\n#### This is the schematic with L9637D\n\u003cimg src=\"https://github.com/muki01/OBD2_K-line_Reader/blob/main/Schematics/L9637D.png\" width=70%\u003e\n\n## The device I made with ESP32 C3 SuperMini.\n\u003cimg src=\"https://github.com/muki01/OBD2_K-line_Reader/assets/75759731/e6de1715-fa77-4e7f-b723-4eebebad2242\" width=70%\u003e\n\u003cimg src=\"https://github.com/muki01/OBD2_K-line_Reader/assets/75759731/39cb36cf-74dd-46c8-902c-27799c8c8f58\" width=70%\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuki01%2Fobd2_k-line_reader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuki01%2Fobd2_k-line_reader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuki01%2Fobd2_k-line_reader/lists"}