Skip to main content

Light Show

Found under GUI on the device's panel list.

Light Show

Picks one of the device's built-in LED patterns, or cycles through all of them automatically.

The screen

A single list fills the screen, captioned "Let's get Lit", of 14 built-in patterns. Selecting one applies it right away.

Controls

ButtonAction
Center (or tap)Apply the highlighted pattern
BlueStart or stop auto-cycling; label reads "cycle" or "stop"
GrayTurn the LEDs off; label reads "off"
CancelThis help page

Yellow, Green and Red carry no label here and do nothing. HOME leaves the screen from here, as it does everywhere else in the menu.

The patterns

14 built-in patterns, fixed in the firmware rather than loaded from the SD card: manual, rainbow, snowstorm, redchase, rainbowchase, bluechase, greendot, palebluedot, bluesin, whitefade, mic level bar, zylon, mic spectrum, accelerometer. All seven of the board's LEDs are used by every pattern.

Mic level bar and mic spectrum are both driven by the onboard microphone but show different things. Mic level bar is a level meter: it fills the strip with a colour ramp, green to red, as the sound gets louder. Mic spectrum instead tracks the loudest frequency bin, filling the strip blue to white with that spectral peak rather than the overall volume.

Zylon sweeps a single red dot with a dim red tail from one end of the strip to the other and back, covering every LED with no gap at either end.

Accelerometer maps the X tilt axis across the whole strip - it picks which single LED lights - while Y and Z set that LED's colour (red from Y, blue from Z), using the full 0-255 brightness range. If the accelerometer is unavailable or its power rail is off, the strip stays dark instead of showing garbage.

Selecting palebluedot also plays a short built-in sound of the same name - that's by design, not a bug.

Auto-cycling

While cycling, each pattern runs for 5 seconds before moving to the next. Starting the cycle skips manual - if manual is selected when you start, it jumps to rainbow first - and wraps from the last pattern back to rainbow, never landing on manual again until you stop and pick it yourself. Stopping the cycle (Blue again) leaves whichever pattern was showing running; it does not blank the strip.

Set from elsewhere

If a received infrared code changes the active pattern while this screen is open, the highlighted selection here jumps to match it automatically.

Serial LEDs

The Page button switches to a second screen, "Serial LEDs", which configures up to 8 external addressable LED strips (WS2812 "RGB" or SK6812 "RGBW") driven from the main CPU's header GPIOs. Press Page again to return to the pattern picker.

External strips need the device's PSRAM; on a unit without it every change is refused and the strips stay off.

The screen

A list of 11 rows: strips 1-8, then Show, Auto Show, and Jambu Orca setup. Each strip row reads like 3: GPIO11 30 RGB - its pin, LED count, LED type, and inv if the data line is inverted. off means the strip is disabled; "waiting for main..." clears as soon as the main CPU answers with the current configuration.

Configuring a strip

Select a strip row and answer the chain of dialogs:

  1. GPIO - pick Off to disable the strip, or one of the header pins (8-17, 25, 26, 27). A disabled strip keeps its length, type and polarity for the next enable.
  2. LEDs (1-1024) - how many LEDs are on the strip.
  3. LED type - RGB (WS2812, 3 bytes per LED) or RGBW (SK6812, 4 bytes per LED).
  4. Polarity - Normal, or Inverted if the data line passes through an inverting driver.

Changes apply immediately and are saved on the main CPU, so they survive a power cycle.

Show and Auto Show

Show picks one of the same 14 patterns as the first screen and runs it on all strips (the choice is not saved across reboots). Auto Show toggles on the spot: while On, the external strips automatically follow whatever pattern is picked on the Light Show screen - from there, from the console, or by IR.

Jambu Orca setup

One-step preset for the Jambu Orca 8-channel LED breakout. Enter how many strips are plugged in (1-8) and strips 1-N are mapped to the breakout's channels in order; higher-numbered strips are disabled. Lengths and types already configured are kept (new strips default to 30 RGB LEDs) - adjust per strip afterwards if needed.

StripMain GPIOStripMain GPIO
113526
214625
31179
415810

Power the breakout's 5V from its barrel jack (or its USB power select) when driving more than a handful of LEDs - the FreeWili itself cannot feed long strips.

Limits

Up to 8 strips and up to 1024 LEDs per strip. A full 1024-LED frame takes about 30-40 ms on the wire, so very long strips animate at a lower rate than short ones.

Power

The app declares the LED power zone (10), so opening the screen switches it on if it was off; the strip needs it to light at all. The accelerometer and microphone that drive some of the patterns are on other rails the app does not declare - if either is off, or the sensor itself isn't present, those patterns just go dark.