An RFX project

One JSON file.
A whole show.

RFX Effects is a data-driven animation engine for interactive props and costumes. LEDs, screens, and sound — choreographed from a single show.json, with a live web dashboard and no reflashing.

9 Boards supported
1 JSON file per show
0 Reflashes needed

How it works

1

Flash once

Put the RFX Effects firmware on your board a single time — or buy a module with it preloaded.

2

Drop in a show

Describe devices, inputs, effects, and states in show.json. Copy it over USB or edit live over WiFi.

3

Press the button

The state machine runs your show — lights sweep, sound fires, screens update. Change the file, not the firmware.

Show, don't tell

{
  "devices": { "strip": { "kind": "ledstrip", "count": 16, "pin": 45 } },
  "inputs":  { "power": { "label": "ON/OFF", "pin": 7 } },
  "scripts": {
    "idle": {
      "loop": true,
      "children": [
        { "comet": "@strip", "color": "hsv(time*0.1, 1, 1)",
          "lapSec": 2, "tail": 6, "loop": true }
      ]
    }
  },
  "states": {
    "initial": "Off",
    "Off": { "on": { "power.tapped": "On" } },
    "On": {
      "enter": [ { "start": "idle" } ],
      "exit":  [ { "stop": "idle" } ],
      "on":    { "power.tapped": "Off" }
    }
  }
}

This is a complete show

A 16-pixel strip, one button, a rainbow comet idle, and a two-state brain: tap to turn on, tap to turn off. The hsv(time*0.1, 1, 1) expression re-evaluates every frame, so the color cycles forever.

Build this yourself in 15 minutes →

What's in the engine

A state machine you can read

Buttons, timers, and events drive states. Tap to toggle, hold to charge, timeout to sleep — all declared in JSON.

Effects that flow downhill

Slow a script and every child slows with it — LED sweeps, screen draws, even audio pitch. One knob, whole-show feel.

Synced sound

WAV and MP3 playback with overlapping voices, volume control, and pitch that follows your show speed.

Screens and gauges

Draw text, live numbers, gauges, meters, and per-pixel shader patterns on LCD boards with baked custom fonts.

Live web dashboard

Edit your show over WiFi, watch state and inputs live, and read the console — right from your phone or laptop.

Two cable-free update paths

Standalone devices update over WiFi. Loader devices show up as a USB drive — drag, drop, done.

Preview without hardware

The same engine runs on your desktop or in the browser, so you can build the show before the electronics exist.

Firmware that never changes

The behavior lives in show.json, not code. Change the file, not the flash.