Skip to content

1. Hardware setup

domnulvlad edited this page Jun 15, 2024 · 5 revisions

Cluster compatibility

  • The only clusters compatible with this library are those using the 3LB protocol for displaying data on the FIS (Fahrerinformationssystem) / DIS (Driver Information System), which were manufactured around the late 1990s and early 2000s, and which have a full-height display, commonly called "highline".
  • If your radio shows the current station at the top of the FIS, then your cluster is probably compatible.
  • Some clusters, caught at the transition from 3LB to CAN, support both protocols, and so they must be re-coded, described later.
  • The easiest way to check if your cluster has 3LB is to consult a pinout diagram and look for pins labeled "ENA", "CLK", "DAT". Or, if your radio is original, you can also check its pinout for these pins.
  • Older clusters have less symbols/characters that can be used. This includes lowercase letters, so they can only show uppercase text.

Short explanation

  • This library is able to display data on the FIS by emulating a navigation unit.
  • There is only one OEM navigation unit that uses 3LB as its protocol (4D0919887D, but actually 3LB communication is handled by a second module, 8L1919894B). Subsequent units switched to the CAN protocol.
  • If you have any navigation unit that already displays data on the FIS, it cannot be used at the same time as this library, so it must be disconnected.
  • That second module from the official navi I mentioned (8L1919894B), passes the 3LB signal from the radio, to maintain the ability to show the current radio station at the top of the FIS while also showing navigation guidance.
  • As such, in order to maintain that ability while using this library as well, the radio's lines (ENA, CLK, DAT) must be passed through the Arduino and then go to the cluster. Then, your sketch must actively read what the radio is sending and display it on the FIS. This is presented in the Radio bridge example which you can find included with this library.

(the pins shown here are not accurate)

Connections

  • In theory, you can even use bit-banging to manually shift out each byte in the sendFunction that you define. You just need to follow the "SPI MODE3" standard.
  • The demo sketches opt for hardware-SPI. As such, 3LB-CLK goes to SPI-CLK, and 3LB-DAT goes to SPI-MOSI. You can use any other pin for 3LB-ENA.
  • To run the demo sketches with the default configuration on an Arduino UNO/Nano, connect ENA-9, CLK-13, DAT-11.

Clone this wiki locally