Skip to content

Arduino library for communicating with vehicles via OBD-II using the K-Line interface (ISO9141 / ISO14230 protocols).

License

Notifications You must be signed in to change notification settings

muki01/OBD2_KLine_Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OBD2 KLine Library

GitHub forks GitHub Repo stars GitHub Issues or Pull Requests GitHub License GitHub last commit

This is Arduino library for communicating with vehicles over the OBD2 K-Line interface, using ISO 9141 and ISO 14230 (KWP2000) protocols.

It allows you to connect your Arduino and ESP boards to your car's ECU (Engine Control Unit) and read diagnostic data like DTCs (Diagnostic Trouble Codes), live sensor data, and more.


📦 Features

  • OBD-II communication over K-Line
  • Supports ISO9141 and ISO14230 protocols
  • Read DTCs, live data, freeze frame, and more
  • 5-baud init and fast init supported
  • Works with Arduino boards (e.g., UNO, Mega)
  • Works with ESP boards (e.g., ESP32, ESP8266)

🛠️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

About

Arduino library for communicating with vehicles via OBD-II using the K-Line interface (ISO9141 / ISO14230 protocols).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages