FAQ

My LEDs are flickering randomly

This is usually due to some sort of signal issue. Most addressable LEDs have a specific protocol they use for communication. It typically involves sending bits of data at a specific interval followed by a reset latch to signal them to light up. They will stay the last color they were set until told to do something different.

With most implementations of addressable LEDs in printer firmware, the color data is sent once when the gcode command is executed and not sent again. As long as that initial signal is read, they will stay that color.

With this particular implementation, the color data is being updated at regular intervals determined by the effect frame rate. So 10 frames per second would result in 10 color updates to the LEDs per second.

The data lines are susceptible to electromagnetic interference from other electronics on the printer. When this interference is present, it can result in malformed data going to the LEDs.

To mitigate this, one can try insulating or isolating the data line from other wires. Try to keep the data lines as short as possible. This is especially problematic for 32 bit boards which typically output the data signal at 3.3V.

Signal integrity can also be deteriorated by ringing and reflections on the data line. Especially, when the cable to the first LED is rather long. This can be reduced by adding a 700 Ohm resistor in line to the data line directly in front of the first LED.

Another source of flickering is voltage drop. Addressable LEDs consume between 20 and 60mA of power each depending on how bright they are set. If they are being run on a supply that cannot supply enough power, such as the internal voltage regulator of a printer board, it could manifest as flickering or overall dimness with the strips.

My LEDs at the ends of the strips are not as bright as the rest

This typically has to do with the LEDs at the ends of the strip not getting enough power compared to the LEDs at the beginning of the strip. The solution is to solder a VCC and GND wire to the end of the strip. These additional power lines will allow the LEDs at the ends to draw the power they need. This usually only occurs on very long strips or if the power supply is already at its limit. It is always recommended to power LEDs like this from a separate 5V source from the board.

My colors aren't correct

Different chip manufacturers and chip styles use slightly different protocols for color data. Some specify the color order be Red, Green, then Blue others specify Green, Red, Blue. The configuration for the LED strip has an optional parameter that can be set in the 'neopixel' section to change the color order.

color_order: GRB

If you are unsure of the color order of your LEDs and want to test this, you can comment out or disable all of the effects you have configured and use a gcode command to set the color of the led strips directly.

SET_LED LED=<config_name> RED=1 GREEN=0 BLUE=0 TRANSMIT=1

This command should turn the entire strip red. If the strip turns green, then it uses a GRB color order.

Some LEDs, like the SK6812, also have a white channel. For that the color order can be set to:

color_order: GRBW

Last updated