ISO 9419 k line vw

So I have a 1994 golf that has k line but no obd2 functionality, using vcds and other iso 9419 reader software I can retrieve lots of data from the ECU.
Does anyone know If RealDash supports this protocol through OBD readers and if not has any used an Arduino library to interpret this data and then used the RealDash can protocol.

Many thanks

1 Like

Old K-Line is not directly supported by RealDash. We would very much like to add it as there are a lot of those cars around, but just have not found a proper documentation for the K-Line, or now VCDS for example communicates.

1 Like

I have done some research and found that my van uses old k-line (KW1281 protocol) and there seems to be a lot of documentation on this online.

Has anyone tackled this using an Arduino?

1 Like

Please view the attached link for the documentation regarding kw1281

https://www.blafusel.de/obd/obd2_kw1281.html

There are many arduino sketches that make use of this protocol already in order to retrieve live data, my problem is how to transfer this data across to realdash

1 Like

Sorry for digging up this older thread, but this is something I’d like to know too! I have a '98 Passat and have been looking into k-line and kw1281 (sometimes called kwp1281), too bad that Volkswagen only published so little about it, even though it was standardized as SAE J2818 (that standard specification can be requested, for a fee, but is apparently quite useless).

I haven’t ā€˜observed’ myself that it’s actually kw1281 that’s used on my car, wouldn’t know how to (except for using VCDS, but I don’t have it). But all documentation I find online mentions that protocol for that model and year.

A few days ago I found this, however: kw1281test: A Free VDS-Pro / VagTacho Alternative | TDIClub Forums

Seems to be the most advanced reverse engineering effort, with quite some results. Something you can also do is extracting the skc (secure key code, needed when you want to ā€˜learn’ a new cluster, key, … to the ECU, so the ā€˜immobilizer’ doesn’t get activated) from the eeprom, not even VCDS/VagCom does that. He used the info on the link in the previous post for his development, but also other people’s reverse engineering efforts, and found out a lot himself by sniffing etc.

I’m tempted to try it, need to order a KKL cable though.

Maybe it’s useful… I wonder if somehow it can request ā€˜live’ data and pass it to Realdash, for example?
All these protocols, pin outs, … are quite confusing, also I’m definitely not a developer myself. So maybe it’s an unrealistic idea, still wanted to ā€˜pitch’ it though.

BTW, i don’t know if it’s relevant, but the OBD2 protocol works fine for that car, rpm, speed, … data are displayed nicely in Realdash. The shelll (monitor) reported protocol 3, iso9141-2 (5 baud init, 10.4 kbaud). If i’m not mistaken, the 5 baud init is specific to kw1281?. Screenshot in another topic : Beginner questions - #4 by berre

The fact that Arduino was mentioned, made me look online for projects. I found this one, which could be useful…?

The ā€˜kw1281test’ software is also open source btw, with a github, there’s documentation there too. The link is in that forum post but I’ll also drop it here, for convenience: GitHub - gmenounos/kw1281test: VW KW1281 Protocol Test Tool .

Thank you for linking this, I will take a look.

1 Like

Thanks!

I haven’t ordered a cable yet, I’m still looking into the different chips used etc. Not something I know an awful lot about but I’m learning :slight_smile: .
If useful, I can definitely provide you with test data, I’m not very eager to start writing to the eeprom using kw1281test (yet), but reading/dumping stuff is something I definitely want to do.

1 Like

I’ve been looking into it a bit more, one of the annoying things might be that ā€˜label files’ are going to be necessary, to understand what data is reported (the values only have numerical id’s).

After people started using Ross-Tech’s label files for their own software projects, they removed them from their web site.

However, I just installed vcds-lite and label files are included; searching through them with e.g. grep on linux should be enough, but I suppose every user will have to do that individually, based on the modules present in the car.
If support for k-line is added to Realdash (I hope it’s possible :smiling_face:), with or without an adapter with protocol logic, would one have to write a custom xml file based on the info in the label files?

Possible, yes. First version would just read some generic info like RPM etc, without possibility to customize with XML.

2 Likes

do this and realdash will be even more famous and used by many, the vag kkl ch340 adapter can communicate with the k line however realdash does not have support for this adapter I ask you to carefully analyze my suggestion and add support for the k line

2 Likes

I haven’t been able yet to get succesfull communication with my car using my ā€˜chinese’ ch340/ftdi cables, and had no time to troubleshoot this. Maybe I should unplug stuff untill it works… Dunno.

In any case, I should be able to get communication working and am still a big fan of the idea of getting k-line support in Realdash :+1:

1 Like

Any progress? Ive bought the sp dadhbox, but cant get it to work via obd2. I have a vw 1.9tdi swapped in my car edc15p ecu. Would love to have the rpm working. Im no programmer, its pretty difficult for me. Thanks

1 Like

No, sorry. This is still on backburner.

1 Like

Is anyone willing to help me out. I dont know where to start.

Support for SP Leinonen DashBox, its configuration and wiring, please contact them directly.

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 :slight_smile: 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!

1 Like

Thank you for sharing this information. This was exactly what I was thinking, that some sort of translator from K-Line to CAN is required to make this work reliably with RealDash.

3 Likes

Happy to help :slight_smile: You can contact me if you want to talk about that, and if you find create/find/see a working concept of such an ā€œK-Line to CAN Emulatorā€ let me know, I’m also interested!

Also a word of caution: NEVER(!!!) read the Airbag ECU on these K-Line cars, there was a very bad bug in some of them that would lead to exploding Airbags when reading DTC or something like that. I know that the Airbag ECU can be fried/broken by accessing it, even with VCDS/VAG-COM, but the exploding Airbags are not to joke with. Of course it probably is just a small subset of some ECU’s that have this bug in very specific cases, but better safe than sorry.

Blockquote Be careful when working with the Airbag Address 0x15 since in some rare circumstances when an electrical failure is given in the airbag system and DTC error codes are deleted the airbag can deploy on affected ECU’s. I would hardly advise not to touch the Airbag controller with selfmade code.

1 Like