On this page, you find information about:

  • how to build a German H/V light distance signal with LEGO bricks,
  • equipping the it with lights,
  • automating the signal with a MattzoLayoutController.


About the signal

The signal was originally designed by Matthias Runte of MattzoBricks in 2021 and refined in 2022 and 2023. Julius Brönner contributed some valueable ideas and details in 2023.

Shape and functionality is based on the German H/V light distance signal (Lichtvorsignal im H/V-System) that was common on German railroads since about mid of the 20th century. Even though this type of light signal is being replaced by combination light signals that integrate distant signals into the main signal, the signal is still used on many railway tracks throughout Germany.


The signal can be equipped with options.

Basic function

The signal usually has two yellow and two green lights.

Two yellow lights indicate “expect stop on next main signal” (Vr0).

Two green lights indicate “expect go on next main signal” (Vr1).

Third aspect

In addition to the The signal can be equipped with a third (yellow) aspect.

This aspect indicates “expect slow on next main signal” (Vr2). Slow usually means 40 km/h in reality.

No additional lights are required for this aspect, as the aspect uses one of the yellow and one of the green lights.

Speed indicators

As for the main signal, the signal may be equipped with speed indicators.

Short distance to the main signal

If the distant signal is positioned unusually close ahead of the next main signal, an additional white light is added to the signal. In reality, the usual distance is 1000m in main tracks and between 400 or 700m on some side tracks.

The same white light is used if more than one distant signal is located ahead of the main signal.

How to build the signal

(download button to instructions)

(download link to instructions)

The following pictures may also help you building the signal.

(add pictures)

Required Parts

The signal can be built with standard LEGO parts and some extra parts as described below. No printed parts are required for this signal.

Additional parts are:

  • Two yellow and two green LEDs (3mm). Add a white one of you’d like the short-distance indicator.
  • Thin copper wire with black lace to power up the LEDs (diameter 0,15 mm).


To equip the signal with lights, I have used a couple of colored 3mm LEDs. The LEDs fit perfectly into the holes of the LEGO parts as shown on the pictures. The wires are very thin, black copper wires used for model scale train layouts. The wires can be put into the mast to become invisible. To prevent the LEDs from burning off and to save electrical power, you may want to add some resistors to limit the current through the LED. At a voltage of 3,3V, 120 Ohm should usually be a good value. In question read the data sheet of your LEDs.


The signal is automated with a MattzoLayoutController (MLC). The MLC controls the LEDs.

Find more details about the MLC here.

To use the MLC with signals is described here.

In the firmware, there is an example configuration file called “MLC_conf_Complex_Light_Signals.h”. This is a good starting point for you. Modify the file depending on the features that the variant of your signal has, and the aspects that it should be able to show.



Julius Brönner contributed some details to the design of the signal.

Thank you for your contribution, Julius.

Leave a Reply

Your email address will not be published. Required fields are marked *