Serial protocol for EDL-1

Hi,

I’m currently developing a custom retrofit cluster with an ESP32. For reading the EMU serial stream I’m using the EMU serial protocol. There is a nice library on GitHub for reading the stream as well as for the CAN stream - but not for the EDL-1 type stream.

EMUSerial library
EMUCan library

I’d like to use an EDL-1 in parallel with my digital cluster, but I can’t find any information about the format of the stream. Any suggestions? Is it possible to get detailed information about the EDL-1 data stream? Otherwise I would have to choose either the EDL-1 or the cluster :frowning: And I don’t want to reverse engineer the data stream if not necessary.

Greetings from Germany

Im also curious about this.

Update: I’m on it reverse engineering the protocol. So far I managed to capture some data from both Serial protocol and EDL-1 protocol, compared the streams and found a structure.

Things I’ve found out so far about EDL-1 protocol:

  • 115200 baud, old serial protocol is only 19200 baud
  • one frame is 260 bytes long
  • first 4 bytes do not change at all (32 40 50 60)… could be some kind of start frame marker
    1. to 260. bytes are data like described in the version XML file of the EMU firmware. same with length, divider, datatype
  • byte order is little endian

So you can see for example byte 7 and 8 are RPM. It’s 2 bytes because the variable type is word. In the second screenshot down below I marked the frame where my engine was starting. Hex data for RPM in line 170 is 86 00. Because of LE we have to swap bytes around → 00 86 → DEC 134. As divider for RPM is 1 this is already our final number.
Second example, Batt on line 170 is LE 41 01 → BE 01 41 → DEC 321 → divided by 37 is 8,675V (yes I know it’s low, engine is cranking).

My next step will be to write a library for Arduino IDE. TBC