Because all Boys (and some girls) love Trains

Signal decoder according Helvetic type

Signal decoder according Helvetic type



Rudolf kill man based on the OpenDecoder2 developed a signal decoder, which the signal images (driving terms) of the Swiss railways can display. Controllable up to 4 main and distant signals. Due to the free definition of signal patterns but also other railway companies can be simulated. With his kind permission it is presented here.


The software of the Swiss signal decoder is largely based on the signal decoder for HW2. It defines a default for Swiss signal terms, however, the signal images can be freely defined. CV565 – 612 (cv_data_signal.h or cv_define.h) make this a table. This is shown schematically in the diagram. The transmission of a driving term for a pair of signals (pilot and main signal) is carried out by a single DCC command – used the Extended DCC Accessory Command.


The two shift registers are connected in series and form a matrix through which the signals can be controlled. The first shift register is backed up by a power driver ‘. The second shift register is an inverting power shift register. The ATmega8 (16MHz) supplies the shift register via SPI.
On MoBa systems (H0 and predominantly greater track width) are frequently encountered light signals, which are fitted with incandescent lamps. The two power drivers take this into account. For this purpose the supply voltage (VDD) for the signals is taken at the rectifier (Jumper2 2-3). This is also true for LED train signals with built-in bias resistors, which require a higher voltage than 5V. In determining the supply voltage and the resistors should be noted that the duty ratio is 1: 3, ie, a signal pair is supplied with current only during one quarter of the time.

The prototype of the signal decoder was, for the sake of simplicity, implemented on a single sided printed circuit board.


Can be Controls up to four pairs of signals. A pair of signals always shows an identical driving term. On is an overview of the light signals of the type L of the Swiss railways. The driving terms are there well documented.

The main changes with respect to the OpenDCC signal decoder is in the ‘dimm_engine.c’. For the dimming up and down the engine has 50 stages, which are controlled with exponential characteristic.

To control the decoder gets the ‘Extended Accessory Decoder Control Packet Format’ on the application. In the NMRA RP 9.2.1, this format is described in detail. The ‘Aspect-byte’ this DCC protocol is the index of the image signal table (CV565 – 612). According to NMRA definition, the ‘Aspect’ assume 32 values, which is also the maximum table size determined. The current table size is 16, seven table values are needed. Two other table values are for testing purposes.

Like the normal accessory decoder has this signal decoder via a decoder address and four output addresses. The address calculator the necessary CV setting can be easily calculated.