I'm trying to understand what protocol is used on a particular device in order to decode it and send custom values.

So far I was able to record the data with a logic analyzer but couldn't figure out what protocol it is and which baudrate. I'm guessing it is a protocol using K-line or LIN since it is using only one wire to communicate and voltage levels are close to the input voltage levels. But I want to make sense of the data to be able to replicate it using some microcontroller.

I tried to level shift the voltages to 5V volts and try to read with Arduino but with no success. I think I should make a hardware capable of reading K-line variants but couldn't find any reference for that (I should mention that this protocol is not using 5-baud init or something since it sends the request almost immediately. Or at least I think that I doesn't).

Photo1:First Frame only, the request without the response First Frame: the request without the response

Photo2:Complete Messages Including the first Frame found in the Image above Complete Messages Including the first Frame found in the Image above

I know that from the images it is hard to understand so I'm uploading the Saleae Logic Saved capture

  • \$\begingroup\$ Can you open the device up and give a part number for the chip that the data line is attached to? \$\endgroup\$
    – Ron Beyer
    Oct 31, 2020 at 22:42
  • \$\begingroup\$ This is an old device so it using a lot of resistors and transistors and No special chip for the use of this protocol but from what I can see (the resistors and transistors )this is a K-line wire or LIN bus wire \$\endgroup\$
    – Jwdsoft
    Oct 31, 2020 at 23:10
  • \$\begingroup\$ Surely naming the "particular device" would enhance your chances of someone being able to help you? \$\endgroup\$
    – Transistor
    Oct 31, 2020 at 23:13

2 Answers 2


Thanks for you answers guys. I've found what protocol that is. it was ISO9141


LIN always starts with a break, a voltage drop from its inactive state of 12v to low for 13 bit times then always follows this with a sync of 0x55 which gives a regular 1010... pattern for the slave nodes to sync their baud rate on. This gives LIN a distinctive look, the long break followed immediately by the spikey sync. LIN also then sends another byte telling the bus which node should respond. Then the nodes respond with their data. LIN is also slow speed so it does look LIN like but not to the rigorous spec. The LIN protocol may give an insight into how to tackle this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.