Skip to content

LED Settings

Tap LED Settings in the Printer section to open the LED configuration overlay. This is where you choose which lights HelixScreen controls and how they behave.

Tip: To control your LEDs during a print, long-press the lightbulb button on the Home Panel to open the LED Control Overlay. See Home Panel > LED Controls for details.


HelixScreen auto-detects your LED hardware from Klipper and Moonraker. Five types of lighting are supported:

TypeExamplesHow It’s Detected
Klipper native stripsNeopixel (WS2812, SK6812), Dotstar (APA102), PCA9632, GPIO LEDsAutomatically from your Klipper config
Output pin lightsSingle-channel PWM or on/off lights via [output_pin]Auto-detected from pins with “light”, “led”, or “lamp” in the name
WLED stripsNetwork-attached WLED controllersFrom Moonraker’s WLED configuration
LED effectsAnimated effects (breathing, rainbow, etc.)Requires the klipper-led_effect plugin
Macro devicesAny Klipper macro that controls lightsUser-configured (see Macro Devices below)

Multi-select chips show all detected strips. Tap a chip to toggle whether HelixScreen controls that strip. You can select multiple strips — they’ll all respond to the lightbulb toggle on the Home Panel.

If you don’t see your LEDs here:

  • Make sure the LED is defined in your Klipper config (printer.cfg)
  • For WLED, make sure it’s configured in Moonraker (moonraker.conf)
  • Restart HelixScreen after adding new LED hardware

Toggle this on to automatically turn your selected LEDs on when Klipper becomes ready. Useful for chamber lights that should always be on when the printer is powered up.


When enabled, your LEDs automatically change based on what the printer is doing — no macros or manual control needed. This is great for visual status feedback: dim lights when idle, bright white while printing, green when a print finishes.

StateWhen It Triggers
IdleKlipper is ready, not printing
HeatingExtruder is heating up (target > 0, not yet printing)
PrintingPrint is in progress
PausedPrint is paused
ErrorKlipper error or shutdown
CompletePrint just finished

Each state has an action type dropdown — what HelixScreen does with your LEDs when that state is entered:

ActionWhat It Does
OffTurn LEDs off
BrightnessSet a brightness level (0–100%) without changing color
ColorSet a specific color from the preset swatches, with a brightness slider
EffectActivate a Klipper LED effect (e.g., breathing, rainbow)
WLED PresetActivate a WLED preset by ID
MacroRun a configured LED macro device

Note: Only actions your hardware supports are shown. Effect requires the led_effect Klipper plugin. WLED Preset requires WLED strips. Color requires color-capable strips (not single-channel PWM).

StateActionSetting
IdleBrightness30% (dim standby light)
HeatingColorRed at 100%
PrintingColorWhite at 100%
PausedEffect”breathing”
ErrorColorRed at 100%
CompleteColorGreen at 100%

Macro devices let you control LEDs that aren’t directly supported by Klipper’s LED system — like relay-switched cabinet lights, custom G-code lighting macros, or multi-mode LED setups.

Auto-discovery: HelixScreen automatically finds Klipper macros with “led” or “light” in their name and makes them available in the macro dropdown lists.

TypeBest ForControls
On/OffLights with separate on and off macrosTwo macros: one to turn on, one to turn off
ToggleLights with a single toggle macroOne macro that flips the state
PresetMulti-mode lights (e.g., party mode, reading mode)Multiple named presets, each mapped to a different macro
  1. Tap the + button in the Macro Devices section
  2. Enter a display name (e.g., “Cabinet Light”)
  3. Choose a device type
  4. Select the appropriate macros from the dropdown(s)
  5. Tap Save

To edit or delete: Tap the pencil icon to modify, or the trash icon to remove.

Example: If you have macros LIGHTS_CABINET_ON and LIGHTS_CABINET_OFF in your Klipper config, create an On/Off device named “Cabinet Light” and map each macro accordingly. It will appear as a controllable device in the LED Control Overlay.


Klipper Native Strips (Neopixel, Dotstar, etc.)

Section titled “Klipper Native Strips (Neopixel, Dotstar, etc.)”

These work out of the box. Define them in your printer.cfg:

[neopixel chamber_light]
pin: PA8
chain_count: 24
color_order: GRB

Restart Klipper, then open Settings > LED Settings — the strip appears automatically. Select it and you’ll get full color and brightness control.

If your chamber light or enclosure LED is connected to a [output_pin] in Klipper, HelixScreen can control it directly — no macro device needed.

[output_pin chamber_light]
pin: PA9
pwm: true
value: 0

Pins with “light”, “led”, or “lamp” in their name are auto-detected. PWM pins get a brightness slider (0–100%); non-PWM pins get a simple on/off toggle. Color controls are hidden since output pins don’t support color.

Note: If your output pin doesn’t have one of those keywords in its name, you can still control it by adding it as a Macro Device instead.

WLED strips are network-attached LED controllers managed outside of Klipper. Configure them in moonraker.conf:

[wled strip_name]
address: 192.168.1.100

After restarting Moonraker, the WLED strip appears in LED Settings. You get on/off toggle, brightness, and access to all WLED presets you’ve configured in the WLED web interface.

Install the klipper-led_effect plugin and define effects in your printer.cfg:

[led_effect breathing]
leds:
neopixel:chamber_light
autostart: false
frame_rate: 24
layers:
breathing 10 1 top (1.0, 1.0, 1.0)

Effects show up in the LED Control Overlay and as auto-state action options. Only effects targeting the currently selected strip are displayed.

For lights controlled via G-code macros (relay-switched enclosure lights, Klipper macros wrapping custom commands, etc.):

  1. Define your macros in Klipper (include “led” or “light” in the name for auto-discovery)
  2. Go to Settings > LED Settings > Macro Devices
  3. Create a device and map the appropriate macros
  4. The device appears in the LED Control Overlay alongside your other strips

Back to Settings | Prev: Help & About