Hi,
here is the developer of OBDisplay(Earlier called OBD-KKL-KW1281-ARDUINO-TRIPCOMPUTER) for Arduino UNO and MEGA that @berre linked in March 2024.
A few notes from my end to the people that want to communicate with their K-Line KWP1281 ECUās:
When I started that project I just wanted a Tripcomputer with an Arduino UNO. After the code was done and working as a proof of concept, I found out there is /domnulvlad/KLineKWP1281Lib. That library is a good backend and can be hooked up to Arduino / ESP / RPi Pico. He also implemented that library for ESP32 with FreeRTOS optimizations in a linked Repo. I recommend using it or trying it out, since he has examples and documentation and in general is a thoughtful developer with passion. It supports any Serial connection (E.g. SoftwareSerial, HardwareSerial, AltSoftwareSerial,ā¦).
My (old) Uno code uses SoftwareSerial (Which might be unreliable) and a custom implementation based on other projects of that time, but it is not reliable and I encountered disconnects.
Then I implemented the Mega code with KLineKWP1281Lib as Backend using HardwareSerial, since the Arduino Mega has more RAM and ROM and can support bigger Displays. But afterwards I always failed to get a successfull connection to ECU, I still donāt know why and I donāt have the time currently to investigate it, but it might be my cheap chinese KKL Autodia cable that I āhackedā according to the guide/pictures in my repo.. I heard some cables have fake chips and some more cables have fakes of fake chips, that are unreliable. It also might be a timing problem, so you definetly (when using big Screens or drawing a lot of text) need a custom scheduler for an Arduino since the CPU is so slow, to respect the ECU KWP1281 Timings.
Label files by Ross-Tech are copyright protected. Since in my specific case there were no label files for my ECU, I needed to find various versions of VCDS that show Values (Based on similar LabelFiles, which might not be correct, but good enough, I donāt know how Ross-Tech implemented it), connect it, and manually record all Groups.
But you can just install VCDS (Try different versions, especially from years 2003 to 2009, it was called VAG-COM then) and look in the folder for label files and open them, most were not encrypted.
This would be a lot of work to include in RealDash, like A LOT of work. VAG from that time was a mess - there were (apparrently) multipe different ECU vendors and VAG needed a protocol to be compatible with all - thus the LabelFiles. No documentation for them, and some have abbreviations (Like stars ***-333-AAA.lbl to indicate broad compatability) Good luck finding info on that. AFAIK the new CAN bus has international standard codes, which is way easier to implement, which would explain why no efforts are made in the direction of the KWP1281/KKL protocol by RealDash.
The future plan for OBDisplay-Uno and OBDisplay-Mega is:
- Add OBDisplay-ESP32 (Its fast and supports waaay bigger screens, similar Android Touch Car Radios and a FreeRTOS operating system)
- Completely rely on KLineKWP1281Lib
- Find a good KKL cable to hack and solder or use a custom chip/circuitry as some electrical engineers might be familar with, which Iām not. (Requires Voltage regulation, e.g. Step-up or Step-down, mostly between 3,3V and 5V)
- Rewrite my code to be a UI only and make it modular
I expect it to be done this year or maybe next year, since I really would love to have this Tripcomputer finally done and ready. It will always be free and open-source, I will never take any cash for it in any form.
If you have any Questions regarding any of these topics, write me a DM or ask here. If you want to earn money with this, do as you like, but good luck on supporting all ECUās / LabelFiles and managing all communication errors without breaching the Copyright of Ross-Tech
Another possiblity would be to use KLineKWP1281Lib for a K-Line to CAN translator/emulator, that would communicate over bluetooth to realdash. This would be the best way - to split this giant task into Core(K-Line to CAN to Bluetooth emulator) and UI (E.g. Realdash app, or any other free app or whatever).
Thats why there is no readily available finished product for K-Line VAG cars (199*-200*), and anyone who claims to sell one to you cannot guarantee that every sub-protocol is supported. It also would not make sense for a developer to put the time into developing something like that solely to sell as a subscription model. But creating your own free program only for your ECU is pretty easy, but still takes A LOT of time. Only go down this rabbit hole if you have passion for your car.
Thanks and good luck!