Every effect, one block each: its preview, what it does, and what each control means — together. An effect writes per-pixel color into its Layer's buffer each tick; modifiers reshape the result and a driver sends it out. Effects that name an index color read the global palette (the palette control on Drivers) via colorFromPalette. Each block's emoji are its tags() (origin/creator/audio — see the tag emoji legend); Dim is its native axes (Layer extrudes a lower-dim effect onto a bigger grid). Effects are grouped into sections by origin, and each block carries that effect's preview, behaviour, and control descriptions together. (For how this page maps to the source/asset folders, see the folder-structure decision.)
Jump to: MoonLight · MoonModules · WLED · FastLED · projectMM-native
Migrating an effect — behaviour is the spec. A ported effect must reproduce the original's exact visual behaviour: end users have relied on these for years, so a port that looks different is a regression, not an improvement. Don't get creative with defaults, oscillator math, color mapping, or geometry, and don't silently drop a parameter that is the mechanism (the PaintBrush straight-vs-curved-lines bug was a dropped partial-line length; Game of Life was wrong the first time by not porting the real algorithm). Study the source for the algorithm, defaults, and visual result; pin it with unit + scenario tests; then write our own implementation against EffectBase/our primitives — carry the behaviour forward, don't trace or copy the structure (see Industry standards, our own code). Credit the origin as prior art in the block below.
Some WLED-origin effects show a preview gif from WLED-Utils by scottrbailey (the canonical WLED effect gif set, cross-linked with credit); these show WLED's rendering. Effects with a local
../../assets/…gif show our own output.
Two interfering sine waves beat against each other into a moiré color field.
freq_x/freq_y— horizontal/vertical wave frequency (1–8).speed— animation rate (0 = frozen).
Origin: WLED · by ldirko & blazoncek (WLED port) · gallery · via MoonLight
Detail: technical
A solid color filling a positioned box within the grid, with an optional alternating-white checker on the box's pixels.
red/green/blue/white— the box color.X position/Y position/Z position— the box's origin corner.Rectangle width/Rectangle height/Rectangle depth— the box extent on each axis.alternateWhite— alternate box pixels to white in a checker pattern.
Origin: MoonLight · by limpkin · via MoonLight
Detail: technical
Audio-reactive sawtooth waves: each column maps to a frequency band whose magnitude drives a per-band oscillator speed, so louder bands sweep their sawtooth up the column faster, with three phase methods.
fade— background decay per frame.increaser— how fast a band's speed ramps up with its magnitude.decreaser— how fast a silent band's speed decays.bpmMax— ceiling on a band's oscillation speed.invert— flip alternate columns vertically.keepOn— keep oscillating even when a band is silent.method— phase model (Chaos,Chaos fix,BandPhases).
Origin: MoonLight (audio) · by @TroyHacks · via MoonLight
Detail: technical
Three slow blobs through a black→red→orange→yellow→white ramp — atmospheric lava look.
bpm— blob drift speed.radius— blob influence radius.intensity— field gain into the black→red→orange→yellow→white ramp.
Origin: projectMM original (metaball lava lamp)
Detail: technical
Sweeps axis-aligned planes in sync; red/green/blue name the X/Y/Z axis — a preview-orientation test pattern.
speed— sweep BPM.axis— which plane sweeps (all,x (red),y (green),z (blue)).
Origin: MoonLight · via MoonLight
Detail: technical
count blobs orbit via integer sin/cos; metaball field per pixel — bright HSV merge/split.
bpm— orbit speed.radius— blob influence radius.count— number of orbiting balls (1–8).hue_shift— rotate the palette index.
Origin: projectMM original (metaballs)
Detail: technical
A swarm of drifting particles with persistent fading trails.
count— number of particles (1–255).speed— drift velocity.fade— trail persistence (higher = longer tails).hue_shift— rotate every particle's hue.
Origin: MoonLight · by WildCats08 / @Brandon502 · via MoonLight
Detail: technical
Summed sine waves on orthogonal + diagonal axes; large rolling blobs (3D on volumetric layouts).
bpm— roll speed.scale_x/scale_y— blob size on each axis (larger = bigger, calmer blobs, lower spatial frequency).hue_shift— rotate the palette index.
Origin: FastLED / WLED lineage (classic plasma)
Detail: technical
An algorithmic palette pattern driven by two beat oscillators (a macro and a micro mutator) whose frequencies and ranges reshape the hue field over time.
macroMutatorFreq/macroMutatorMin/macroMutatorMax— the coarse mutator's beat frequency and its oscillation range.microMutatorFreq/microMutatorMin/microMutatorMax— the fine mutator's beat frequency and range.
Origin: MoonLight · by MONSOONO / @Flavourdynamics · via MoonLight
Detail: technical
Diagonal animated rainbow — always-visible default/test effect.
speed— animation BPM (one full hue cycle per beat).
Origin: FastLED · Mark Kriegsman (rainbow) · via MoonLight
Detail: technical
Lights one random light per frame in a random palette color over a fading background — a sparse, palette-tinted sparkle.
fade— how fast prior sparkles fade to black.
Origin: MoonLight · via MoonLight
Detail: technical
Expanding concentric rings from random centres, additive overlap (calm defaults).
count— number of concentric rings (1–255).speed— expansion rate.thickness— ring band width.hue_shift— rotate every ring's hue.
Origin: projectMM original (concentric rings)
Detail: technical
Distance-from-centre sets a per-column wave phase; the lit surface ripples like water.
speed— wave animation rate (0 = frozen, 99 = fast).interval— wavefront spacing (low = tight rings, high = wide).
Origin: MoonLight · via MoonLight
Detail: technical
A 3D Rubik's Cube projected onto the volume: it scrambles, then plays its solution back one turn at a time, the six faces in their standard colors.
turnsPerSecond— how fast the cube turns.cubeSize— the cube order (2×2 up to 8×8).randomTurning— turn endlessly at random instead of scramble-then-solve.usePalette— color the six faces from the system-wide palette instead of the classic Rubik's colors.
Origin: MoonLight · by WildCats08 / @Brandon502 · via MoonLight
Detail: technical
A flat fill with five color modes: a plain RGB(W) color, the active palette spread across the lights, an RMS-averaged single palette color, or the palette banded along the grid's rows or columns.
red/green/blue/white— the flat color inRGB(W)mode (ignored in the palette modes).brightness— scales the flat and palette-spread output.colorMode—RGB(W),Palette(spread across the lights),Palette avg(RMS mean of the palette),Palette rows,Palette cols(palette banded along that axis).minRGB— in the band modes, drops palette entries whose every channel is below this floor.randomColors— in the band modes, deterministically shuffles the surviving palette entries.
Origin: MoonLight · via MoonLight
Detail: technical
A hollow spherical shell that bounces through the 3D volume, its surface colored from the palette, leaving no trail.
speed— how fast the sphere moves through the volume.
Origin: MoonLight · via MoonLight
Detail: technical
Rotating spiral from angle + distance (atan2_8/dist8).
bpm— rotation speed.twist— how tightly the arm winds (hue gain per unit of distance).hue_shift— rotate the palette index.
Origin: projectMM original (rotating spiral)
Detail: technical
A perspective starfield: stars approach the viewer from a vanishing point, brightening as they near, then respawn at depth.
speed— how fast stars approach (frame throttle).numStars— how many stars are active.blur— motion-trail fade per frame.usePalette— color the stars from the palette instead of white.
Origin: MoonLight · by @Brandon502, inspired by Daniel Shiffman / Coding Train · via MoonLight
Detail: technical
Twinkling stars at random light positions, each fading in and out independently over a dark background.
speed— fade rate per frame (how fast each star brightens/dims).star_fill_ratio— how many stars (as a fraction of the light count).usePalette— color the stars from the active palette instead of white.
Origin: MoonLight · by limpkin · via MoonLight
Detail: technical
Renders a multi-line string in a bitmap font. Static by default (laid out top-left, each newline dropping one font-height, clipped where it runs off the grid); turn on scroll to march the whole block leftwards as a wrapping marquee. Text color comes from the active palette.
text— the string to show; a multi-line text area (each line renders on its own row).scroll— off (default) = static; on = horizontal marquee.font— glyph size (4x6compact,6x8larger).speed— marquee speed (only used whenscrollis on).hue— palette index for the text color.
Origin: projectMM original, on MoonLight's Scrolling Text · via MoonLight
Detail: technical
Conway's cellular automaton generalised to 2D/3D: selectable rulesets (+ custom B#/S#), cells that inherit a neighbour's palette color on birth, optional green→red age coloring, a dead-cell blur fading toward the background color, toroidal wrap, a 1.5 s settle pause, and 3-CRC stasis self-respawn (R-pentomino/glider) when the board goes static.
backgroundColorR/backgroundColorG/backgroundColorB— the color dead cells fade toward (0–255 each).ruleset— the birth/survive rule (Conway, HighLife, InverseLife, Maze, Mazecentric, DrighLife, or Custom).customRuleString— a customB#/S#rule, read only whenruleset= Custom.GameSpeed (FPS)— generation rate (0–100, 100 = uncapped).startingLifeDensity— % of cells alive at start (10–90).mutationChance— % chance a newborn gets a random color (0–100).wrap— toroidal edges (cells wrap around).disablePause— skip the 1.5 s settle pause between boards.colorByAge— green→red aging instead of inheriting a neighbour's palette color.infinite— respawn on stasis (R-pentomino/glider) instead of resetting.blur— dead-cell fade strength toward the background color.
Origin: MoonModules · by Ewoud Wijma (2022), mods by Brandon Butler / @Brandon502 · natureofcode · via MoonLight
Detail: technical
A flat graphic equaliser: the 16 audio bands rise as vertical bars from the bottom, with optional smoothing between bars, per-bar palette coloring, and falling peak markers.
fadeOut— how fast bars fade each frame.ripple— falling-peak marker decay.colorBars— color each bar from the palette by band instead of by row.smoothBars— blend neighbouring bands for smoother bar heights.
Origin: WLED (audio) · by Andrew Tuline (WLED-SR) · via MoonLight
Detail: technical
A 3D-perspective graphic equaliser: audio bands rise as bars with faked depth, their side/top lines drawn toward a "projector" vanishing point (sweeping left↔right) and shortened by depth. Bands left of the projector are painted right-to-left, bands right of it left-to-right; per-face darkening (side/top/front) and optional borders.
speed— projector sweep rate (1–10, higher = faster).frontFill— bar front-face fill strength (0–255).horizon— vanishing-point row the projector sits on.depth— how far the side/top perspective lines reach toward the projector.numBands— bands shown (2–16, fewer = wider bars).borders— outline each bar.
Origin: MoonModules (audio) · by @TroyHacks (GPLv3) · via MoonLight
Detail: technical
A smoothly drifting value-noise field: each pixel samples 3D noise (grid position × scale, time on the Z axis) and indexes the palette directly, giving an organic plasma wash that morphs over time.
speed— how fast the field morphs (time-flow rate).scale— noise zoom (higher = finer, more detailed).
Origin: WLED · via MoonLight
Detail: technical
Audio-reactive brush strokes: lines whose 3D endpoints oscillate on the beat (beatsin8, audio-band timebase), each stroke shortened to a band-magnitude length so the moving tip sweeps a curve over the fading field.
oscillatorOffset— phase-spread between the oscillating endpoints (0–16).numLines— parallel animated strokes (2–255).fadeRate— background decay per frame (0–128, higher = shorter strokes).minLength— a stroke draws only if longer than this, so quiet bands stay dark.color_chaos— per-line random hue vs a per-band gradient.phase_chaos— random per-frame phase jitter.
Origin: MoonModules (audio) · by @TroyHacks (GPLv3) · via MoonLight
Detail: technical
Falling Tetris-style blocks: each column drops a brick that lands on the growing stack, fills the column, then clears and restarts.
speed— fall speed (0 = randomised per brick).width— brick height (0 = randomised).oneColor— one advancing palette color for all bricks instead of random per-brick colors.
Origin: WLED · by Andrew Tuline (WLED-SR) · via MoonLight
Detail: technical
Audio-reactive blurred dots: one frequency band per frame lights a dot whose position maps to that band (or to the major-peak frequency), then the whole frame is blurred for soft trails.
fadeRate— background decay per frame.blur— blur strength applied each frame.freqMap— place the dot by the major-peak frequency instead of scanning bands.geqScanner— scan the dot across the strip in a GEQ-like sweep.
Origin: WLED (audio) · by Andrew Tuline (WLED-SR), enhancements by @softhack007 · via MoonLight
Detail: technical
A row of balls per column bounce under gravity, each losing energy on impact and relaunching when it stops, palette-colored by ball index over a fading background.
grav— gravity strength (higher = faster fall, snappier bounce).numBalls— balls per column (1–16).
Origin: WLED · by Andrew Tuline (WLED-SR) · via MoonLight
Detail: technical
A 1D scrolling frequency display: each frame shifts the strip and injects a new pixel at one end whose hue comes from the dominant frequency and whose brightness from the volume.
speed— scroll rate.fx— sound-effect intensity (scales the injected brightness).lowBin/highBin— the frequency window mapped across the hue range.sensitivity— input gain (10–100).audioSpeed— let the volume modulate the scroll speed.
Origin: WLED (audio) · by Andrew Tuline (WLED-SR) · via MoonLight
Detail: technical
A Lissajous curve traced across the grid from two phase-shifted sin8/cos8 sweeps, palette-colored along its length, with a fading trail.
xFrequency— the x-axis sweep frequency (sets the curve's lobe count).fadeRate— trail fade per frame.speed— how fast the curve's phase advances.
Origin: WLED · by Andrew Tuline (WLED-SR) · via MoonLight
Detail: technical
An audio VU meter rendered as a noise bar: the volume sets how many rows light from the bottom, each row colored by drifting Perlin noise, filling the full width and depth.
fadeRate— trail decay per frame (200–254).width— how strongly the volume drives the bar height.
Origin: WLED (audio) · by Andrew Tuline (WLED-SR) · via MoonLight
Detail: technical
An oscilloscope waveform scrolls across the grid with a fading trail; six selectable shapes.
bpm— travel speed (phase advance per minute).fade— trail fade per frame (0 = instant clear, 255 = long tail).type— waveform shape (Sawtooth,Triangle,Sine,Square,Sin3,Noise).
Origin: MoonLight · by Ewoud Wijma · via MoonLight
Detail: technical
Fire2012-style heat field — sparks at the base rise and cool through the active palette (heat = palette index, cold at the low end, hottest at the high end); spark count scales with width.
cooling— how fast heat dissipates as it rises (higher = shorter flames).sparking— chance of a new spark at the base each frame (higher = livelier fire).
The flame color comes from the active palette. For the classic fire look pick the Lava palette (black→red→orange→yellow→white — the recommended default); any palette works, so an Ocean or Forest palette turns the flame blue or green.
Origin: FastLED / MoonLight · Mark Kriegsman's Fire2012; MoonLight adapts MatrixFireFast (toggledbits)
Detail: technical
Smooth animated value noise; true 3D field on volumetric layouts.
scale— spatial frequency of the field (1–32, higher = finer detail).bpm— scroll speed (8 noise cells per beat).
Origin: FastLED · inoise field (Mark Kriegsman)
Detail: technical
The 16 mic frequency bands spread across X, each column lit bottom-up by its magnitude.
colorMode— bar coloring:height(green base → red top, the VU look) orper-band(each column its own hue, the rainbow analyser look).
Origin: projectMM original, on the WLED-SR GEQ / spectrum concept (Andrew Tuline) · via MoonLight
Detail: technical
A whole-grid VU meter: every light pulses with the mic level, color indexing the palette by loudness.
brightness— overall brightness ceiling for the VU pulse (1–255).
Origin: projectMM original (VU meter)
Detail: technical
A demo reel: plays every other registered effect in turn, auto-advancing on a timer, so one Layer cycles the whole library hands-free — the showcase/test tool for everything. It hosts a single live effect at a time (created from the effect registry, rendered into this Layer) and swaps to the next when the interval elapses — new effects are picked up automatically. It can also pick a fresh palette each cycle and overlay the playing effect's name. The status line shows which effect is playing (e.g. playing: Plasma (3/20)). It never hosts itself, and it plays effects in sequence rather than compositing them (layering is the Layer stack's job).
interval— seconds each effect plays before advancing (1–120).shuffle— jump to a random next effect instead of registry order.randomPalette— pick a random palette on each cycle (showcases the palette set); default on.showName— overlay the playing effect's name in a small font; default on.
Origin: FastLED · Mark Kriegsman's DemoReel100; projectMM reel
Detail: technical
Receives lights-over-UDP (Art-Net, E1.31/sACN, DDP) and writes it into the layer — the receive side for Resolume/Madrix/xLights/LedFx.
universe_start— the first incoming universe to map onto the layer (mirrors the sender).channels_per_universe— bytes each universe maps to (510 = whole RGB lights per universe, the xLights/Falcon convention; 512 for Madrix-style senders that pack pixels across universe boundaries).
Origin: projectMM original (E1.31 / Art-Net receive)
Detail: technical
Wire contract: listens for Art-Net, E1.31 / sACN, and DDP simultaneously; universe_start + channels_per_universe map incoming universes onto the layer buffer. The end-to-end pair with NetworkSendDriver.
R/G/B each follow a sine along one axis at 120° phase offset — a glowing, scrolling color box.
frequency— spatial frequency, waves across the box (1–20).amplitude— peak brightness (0–255, 255 = full).bpm— scroll speed.
Origin: MoonLight (Sinus, AI-generated) · via MoonLight
Detail: technical

















