LED Strip Configuration

Detailed descriptions of the LED Strip Configuration dialog.

This documentation aims to explain all of the settings in the LED Strip Configuration dialog, so you can make the most use of them.

SettingValue TypeExplanation

Strip Type

Selection

The type of strip you have connected, for a complete list see supported hardware

Max Brightness

Percentage

The maximum brightness the strip should reach in any effect.

Number of LEDs

Number

I hope this one is obvious enough 🙂

GPIO Pin

Number

The pin that the LEDs are connected to. This should be BCM GPIO 10 for normal operation. See the details below for other GPIO pin options

Frequency

Number

Frequency to drive the LEDs at. This should be 800 000 in normal use, some older strips may require different values.

DMA Channel

Number

(Not available in the UI)

Do not change the DMA channel if you do not know what you are doing.

This should be 10 in normal use, other values can cause severe problems.

Invert Pin output

Checkbox

Invert the signal from the Raspberry Pi. Useful if your setup uses a level shifter that inverts the signal, it can be inverted again to make it the right way around in the end.

PWM Channel

Number

(Not available in the UI)

Internal PWM Channel. Irrelevant to the plugin since it uses SPI in most cases.

DMA Channel and PWM channel will remain available for editing using config.yaml, just in case you need to change this. You probably won't.

GPIO Pin Options

What other pins work?

To run this without root access, you must use an SPI pin. WS281x LEDs require specific timing pulses, and not every pin can produce these.

On all Pi's, the default, GPIO 10 can be used.

On all Pi's except the original Pi 1 model A and Pi 1 model B, GPIO 20 can be used. This requires adding dtoverlay=spi1-3cs to the /boot/config.txt file to enable SPI1

Other SPI interfaces are available, specific to certain Raspberry Pi models. More details on them can be found on the Raspberry Pi Documentation which contains detailed information. It is unknown if they all work with WS281x LEDs.

Can I use a PWM pin?

Using a PWM pin to drive WS281x LEDs on a Raspberry Pi requires root access. This is out of my control. It is not recommended to run OctoPrint (or any web server) with root privileges due to security reasons. So while yes, you can use PWM you are on your own to configure OctoPrint to run as root.

What about some other GPIO pin?

If it's not an SPI capable pin, or a PWM capable pin then no. This is a hardware limitation of the Raspberry Pi.

Last updated