Arduino DCC RGB LED Strip control with 6 PWM outputs.
The RGB LED strip that is mounted above my layout (see this post) can be controlled via the remote. I thought it would also be nice when it can be controlled via the Traincontroller PC user interface, or via the command station.
The Arduino came to the rescue. It has 6 PWM outputs via which we can control the LED strips using nMOSFET's to switch the 12V power.
With those 6 PWM outputs we can control either:
- 2 RGB LED strips
- 1 RGB and 3 one-color strips
- 6 one-color strips
Often a combination of a RGB strip with a (warm) white strip is used, this can perfectly be controlled with one Arduino.
The Arduino RGB_LED_Control software is available as a free download. It is included in the Arduino DCC / S88 software package which can be found on the blog Download page.
The software offers 3 modes of operation:
- Individual channel control. The intensity of each of the 6 channels can independently be increased or decreased.
- Selection of a preset. A preset is combination of 6 PWM outputs (0-255), a transition time (max 64 s) to gradually fade to the new preset color and a hold time (max 255 s) for use with the sequencer.
- Sequencer. Of the sequencer is switched on, it steps through the presets, using the per preset configured transition time and the hold times.
The software offers 3 options for control:
- The PC keyboard (via the Arduino Serial Interface)
- Digital inputs (connected e.g. to push buttons)
- DCC commands
A User Manual is included in the download. It explains the hardware needed and how to configure and to operate the software.
Link to the blog with a video and the software download.
..
The RGB LED strip that is mounted above my layout (see this post) can be controlled via the remote. I thought it would also be nice when it can be controlled via the Traincontroller PC user interface, or via the command station.
The Arduino came to the rescue. It has 6 PWM outputs via which we can control the LED strips using nMOSFET's to switch the 12V power.
With those 6 PWM outputs we can control either:
- 2 RGB LED strips
- 1 RGB and 3 one-color strips
- 6 one-color strips
Often a combination of a RGB strip with a (warm) white strip is used, this can perfectly be controlled with one Arduino.
The Arduino RGB_LED_Control software is available as a free download. It is included in the Arduino DCC / S88 software package which can be found on the blog Download page.
The software offers 3 modes of operation:
- Individual channel control. The intensity of each of the 6 channels can independently be increased or decreased.
- Selection of a preset. A preset is combination of 6 PWM outputs (0-255), a transition time (max 64 s) to gradually fade to the new preset color and a hold time (max 255 s) for use with the sequencer.
- Sequencer. Of the sequencer is switched on, it steps through the presets, using the per preset configured transition time and the hold times.
The software offers 3 options for control:
- The PC keyboard (via the Arduino Serial Interface)
- Digital inputs (connected e.g. to push buttons)
- DCC commands
A User Manual is included in the download. It explains the hardware needed and how to configure and to operate the software.
Link to the blog with a video and the software download.

..