Skip to content

Configuring LED Strips

Robert McKenzie edited this page Mar 17, 2026 · 1 revision

Configuring LED Strips

This page covers the Config tab and how to map your physical lighting hardware.

LED sections in the UI

The package separates the setup into these areas:

  • LED Control
  • LED General Config
  • Status Config
  • LED Front Config
  • LED Rear Config
  • Discharge Curve
  • Loop Settings

1. LED Control

This section lets you set runtime brightness levels.

Available controls include:

  • Brightness
  • Idle Brightness
  • Status/Mall Grab Brightness or related variants depending on enabled features
  • Highbeam Brightness for supported hardware

Important note

The UI explicitly states that:

  • LED output state is controlled by Refloat
  • highbeam state is controlled by Refloat
  • manual toggles are disabled in this package UI

So use this section for brightness tuning, not for replacing ride-state logic.

2. LED General Config

This section controls package-wide LED behavior.

Key fields

LED Frequency (Hz)

Controls how often the LED loop runs.

Higher values can feel more responsive, but conservative values are usually better when you are still validating wiring and stability.

Max Blend Count

Controls smoothing between previous and target LED frames.

  • Lower values = more immediate updates
  • Higher values = more blending/smoother transitions

LED Fix

Exposed as a numeric field in the UI. Treat this as an advanced tuning value unless you have a known reason to change it.

Don't update LEDs while running

When enabled, the code keeps the main mode in white/red during running state instead of updating animated ride modes.

Use this if you want predictable riding visibility rather than animation while in motion.

LED Max Brightness

This caps output brightness. The default in the source is 80%.

Use this as your global safety ceiling.

Dim RGB on Highbeam (% of main brightness)

When supported hardware is active, the package can dim the main RGB output while a highbeam channel is engaged.

Use this to avoid overdriving visual intensity when highbeam is on.

Mode

Main running mode options are:

  • White/Red
  • Battery Meter
  • Cylon
  • Rainbow Chase

Idle Mode

Select the mode used after the idle timeout is reached.

Startup Mode

Select the mode used during the startup window before the normal ride mode takes over.

Status Mode

The UI provides status rendering modes. The default option is a mixed telemetry-style behavior:

  • Green to red for voltage
  • Blue for sensor indication
  • Yellow to red for duty

Mall Grab

Enables the alternate status/mall-grab lighting behavior.

Brake Light

Enables brake strobing behavior.

Brake Light Min Amps

This is the threshold for brake activation. The source default is -4.0 A.

Brake lighting triggers when current is sufficiently negative during running state.

Idle Timeout (sec)

After this time, the package switches to the configured Idle Mode and Idle Brightness.

Idle Timeout Shutoff (sec)

After a longer idle period, the code can clear LEDs entirely when conditions allow.

Startup Timeout (s)

Defines how long startup mode stays active after boot while the board is not yet in a running state.

3. Status Config

This configures the dedicated status strip.

Fields

  • Status Strip
  • Status Target CAN-ID
  • Status Pin
  • Status Num
  • Status Type
  • Status Reversed

Supported strip types

The UI currently exposes:

  • None
  • Custom

Supported pixel orders

  • GRB
  • RGB
  • GRBW
  • RGBW
  • WRGB

Setup steps

  1. Set Status Strip to Custom if you have a generic strip.
  2. Select the node that physically owns the strip with Status Target CAN-ID.
  3. Enter the correct Status Pin.
  4. Enter the number of LEDs in Status Num.
  5. Choose the correct Status Type.
  6. Enable Status Reversed only if the animation direction is backwards.

4. Front and Rear Config

Front and rear setup is structurally identical.

Available preset strip types

The source UI includes presets for:

  • Custom
  • Avaspark Laserbeam
  • Avaspark Laserbeam Pint
  • JetFleet H4
  • JetFleet H4 (no limit DCDC)
  • JetFleet GT
  • Stock GT
  • Avaspark Laserbeam V2
  • Avaspark Laserbeam V2 Pint
  • Light-shutka Flashfires
  • Fungineers GTFO

When you pick a preset, the UI auto-fills LED count and, in some cases, pixel type.

Front/rear setup steps

  1. Set Front Strip or Rear Strip.
  2. Choose Custom for a generic strip, or select a known preset.
  3. Set Front/Rear Target CAN-ID to the node that physically drives that strip.
  4. Set the correct data pin.
  5. If supported by your hardware, set the Highbeam Pin.
  6. Verify the LED count.
  7. Select pixel order.
  8. Use Reversed if the effect direction is wrong.

5. Pin and LED count safeguards

The code includes some defensive behavior:

  • pin 0 is rejected for active strips in several cases
  • invalid or corrupted LED counts are clamped back to sane defaults
  • extremely low blend values are forced upward

So if a strip does not behave correctly, first verify:

  • you are not using a problematic pin
  • LED count is correct
  • pixel order is correct
  • target CAN-ID points to the device actually wired to the strip

6. Discharge Curve

The package estimates state of charge from pack voltage and the selected discharge curve.

Fields

  • Cell Type
  • Series Cells

Exposed cell profiles

The UI includes these choices:

  • Linear
  • P28A
  • P30B
  • P42A
  • P45B
  • P50B
  • DG40
  • 50S
  • VTC6

Setup steps

  1. Pick the cell profile closest to your battery build.
  2. Enter the number of series cells.
  3. Save the config.
  4. Verify battery-based LED modes behave sensibly.

7. Loop Settings

This section includes CAN Frequency (Hz).

Use conservative values first in larger systems so you can validate stability before optimizing responsiveness.