Feedback on 8
character display:

Feedback on 10
character displays:

Any tacho




There are two protocols for communicating with a Opel display. The first protocol was analyzed by me and is described at the Opel display page. This protocol works with displays that have 8 characters. The protocol itself uses 11 bytes. The second protocol is used by displays that have 10 characters and uses 14 bytes. This was first shown by Luc Bulot as you can see here. Luc indicated how it globally worked but did not give all the details. I do not own such a display and could not test anything. Therefor Edwin and David did some testing with a different 10 character display. They found that my implementation of the 10 character protocol did not function. But that their displays are backwards compatible with the 8 character protocol, after we altered the timing a little, which you can read here. Except for Luc we were still not able to get 10 characters at a display. Next, Fabio Bergamasco contacted me and showed that he had altered my source to get it going at a 10 character display. He showed me the following pictures and shared his source named The changes between the protocols is described down below.

The circuit on a experiment board.

Yes, Fabio Bergamasco did it!!!!!

And has 10 characters on the display!!!

The source was changed to run my tacho meter using the 10character protocol. He introduced some spaces to center the text.

No tacho signal.

I do not know if Fabio has set his function generator to 50 Hz or that the circuit is picking up the 50Hz noise. Because the signal of 50 Hz is multiplied by 30 to get to revolutions per minute, 50 * 30 = 1500!!

And a higher RPM value.

There are a number of changes between the 8 and 10 character protocol. The 8 character was already described at the Opel display page. The 10 character protocol is described as follows:

  1. Idle state all lines are high.
  2. Pull MRQ low for a short period and let it go high again.
  3. Send a "I2C Start"
  4. Send the address byte, 0x9B. (The 8 character display uses 0x94!!!!)
  5. Pull MRQ low.
  6. Send 13 data bytes. (The 8 character display uses 10 databytes!!!!)
  7. Let MRQ go high
  8. Send "I2C Stop"
  9. We are back in the idle state.

The bytes contain in total 9 bits. First there are 7 bits of data followed by a parity bit (odd-parity) followed by an acknowledge bit (Part of I2C specification). The first byte is the address byte of the display. The next 3 bytes control the "lights" like "CD", "RDS" and the decimal points. The following 10 data bytes contain the characters to be shown on the display using 7 bits ASCII. Decoding the first block results in:

  1. 0x9B = 10011011A (This is the I2C address of the display)
  2. 0x01 = 00000001A (Turn the symbols off)
  3. 0x01 = 00000001A
  4. 0x01 = 00000001A
  5. 0x85 = 10000101A = "B"
  6. 0x8A = 10001010A = "E"
  7. 0xA4 = 10100100A = "R"
  8. 0x8F = 10001111A = "G"
  9. 0x83 = 10000011A = "A"
  10. 0x9B = 10011011A = "M"
  11. 0x83 = 10000011A = "A"
  12. 0xA7 = 10100111A = "S"
  13. 0x86 = 10000110A = "C"
  14. 0x9E = 10011110A = "O"

If you compare this with the 8 character protocol, you will see that they are basically the same. Only this protocol uses another address, 0x9B instead of 0x94, and has 3 instead of 2 bytes for the symbols and 10 instead of 8 bytes for the characters. 

A second change is the speed of the protocol. Fabio decreased the timer that determines the time length of one bit. This increases the speed of the protocol. The pause time between two messages was increased.

Fabio thinks that this 10 character protocol should work with displays of OPEL AGILA, CORSA C, ASTRA G, MERIVA, FRONTERA and ZAFIRA

Fabio also shows that if you keep both buttons pushed, an index code will appear on the display:

The index code

An index code of 011 means that the display expects an original Opel radio so it will remove the date and accept RDS information if the radio is turned on. An index code of 012 means that there is not an original radio installed and the date will always be shown. The index code can be modified with a Tech2 Opel apparatus. Press both buttons to view the index code.

I would like to thank Fabio for his great work!!!!

footer.gif (959 bytes) Eelke Visser, 04 oktober, 2009