Welcome 👗✨
This dress dances to music. A tiny built-in mic listens and the sewn-in lights react — no phone or internet needed for a show. Use the tabs above: Buttons, Effects, Settings (every knob), Save & Presets, Create, and Help if anything goes wrong.
- Plug the dress into the power bank, switch it on. Wait ~3 s — it starts dancing.
- One tap on the sleeve button = next look. Tap-then-hold ✨ = Flair (4-sec sparkle — use on the applause).
- Unplug it when not in use (it sips power; wires can warm if left running).
- Lights stuck ON in a loud room? → Help tab: lower the Gain or dampen the mic. Not AGC.
- Stuck or scared? Big green 💬 Support button — message straight away.
Power & heat
- Runs from a USB power bank — charge it fully before a show, carry a spare.
- Unplug between uses — it draws a little current even when quiet, and the wires can get gently warm on long runs. Powering off keeps it cool. (It's current-limited in software — you can't overdraw it.)
- On the power bank it runs at full brightness. On a laptop it runs dimmer on purpose (a safety limit).
The two buttons
🟢 Sleeve button = your control (see the Buttons tab). ⚪ BOOT button (on the circuit board) = the tech's; quick taps do nothing, leave it alone.
Tuning from a phone
Hold the sleeve button ~1 s → join Wi-Fi “Brightmond” → the page opens. Every control has a description under it. Tabs there: General (pick a look), Global (overall feel — see Settings), Per-Mode (the look's own knobs), Buttons (remap — see Buttons), Create (Create), Presets (Save & Presets). That Wi-Fi has no internet — that's normal; stay connected.
All 46 effects
Pick the live look on the app's General tab; fine-tune it on Per-Mode (those knobs are in Settings). The set list's looks are tuned versions of these.
🎵 React to the music
🥁 Keep a tempo (pulse even in a quiet moment)
🌙 Standalone looks (no music needed)
Want a gesture to jump straight to one of these? Map it on the Buttons tab. Want to combine/tweak them into your own? See Create.
Every setting — what it does, more vs. less
Reaction & level (Global tab)
| Setting | Does | ↑ More | ↓ Less |
|---|---|---|---|
| Gain | How hard it reacts to sound — the main dial. | Brighter, more reactive. Too high in a loud room = pinned on, no dynamics. | Calmer; needs louder/closer sound. Lower it for a loud venue. |
| Squelch | Ignores quiet background noise (before AGC). | Ignores more — quiet goes dark, less flicker. Too high gates out soft music. | Reacts to quieter sound — more sensitive, can flicker to noise. |
| Master brightness | Overall light level / ceiling. | Brighter peaks — more current/heat. | Dimmer; tames a too-bright/warm dress. 0 = off. |
| Response curve | Shape of the reaction. | Gamma = most contrast/punch, but a faint idle glow. | Linear = even, least glow. Sqrt = between. |
Movement / envelope
| Setting | Does | ↑ More | ↓ Less |
|---|---|---|---|
| Attack (rise) | How fast it brightens on a hit. | Slower — smoother, laggier. | Snappier — instant pop. |
| Decay (fall) | How fast it fades after a hit. | Slow, smeared, smooth. | Snappy off — crisp, punchier. |
| Min-brightness | Lowest the look ever dims to. | A floor glow — never fully dark. | 0 = fully dark on quiet — max drama. |
Extras / modifiers (all OFF by default)
| Toggle | What it does |
|---|---|
| Idle glow | A faint glow when there's no sound. level 0–100% |
| Audio gate | Any effect goes fully dark the moment there's no sound. |
| Auto-rotate | Cycles to the next effect on a timer. 5–120 s |
| Build strobe | Strobes during a build-up. 1–20 Hz |
| Drop blast | On a drop: a dark beat then a full blast. |
| Master smoothing | Smooths the output. 0–0.99 Higher = smoother/laggier. |
| Gamma overlay | Extra contrast. 1.0–3.0 Higher = punchier (more glow). |
| Section adapt | Chorus brighter, verse dimmer (auto). |
| Drop flash | A bright flash on a detected drop, any look. |
Music gate & Clap mode (OFF — leave off)
Honest note: a single mic can't reliably tell applause from beat-less music in a real room. Leave them off and use the Flair button. (Gate: Fallback “Off (dark)”, Sensitivity 0–100, Hold 0.3–5 s. Clap: Sparkle flare, Count 2–8, Window 0.5–5 s.)
Saving, presets & making a default
Saving a change
Whenever you tweak something in the app, press Save on that tab. It sticks — even after the dress is powered off.
The set list (one-tap looks)
One tap on the sleeve steps through the set: Baseline → Für Therese → Rubato — all the big dramatic look, tuned to the music. Two more are a four-tap away: Punchy (crisp on/off with the beat) and Old (the gentler classic).
Save your own look
- Dial it in: pick an effect (General), tune it (Per-Mode / Global — see Settings).
- Go to the Presets tab → Save the current look into a slot and give it a name.
- It now appears in the list and is reachable by the four-tap on the sleeve.
Make a look the default (what it boots into)
The dress boots into the opener (“Baseline”, slot 0). To change the default:
- Easiest: on the Presets tab, Load the look you want — the dress remembers it and boots into it next time.
- To replace the opener itself: save your look over the “Baseline” slot — then one-tap always starts there.
Your saved looks survive power-offs and app-only updates. A full factory reset (tech only) wipes them back to the default set.
Create your own effects & actions
On the app's Create tab you can build your own — they then show up by name in the Effects list and the Buttons menus, just like the built-ins.
Build an effect
- Builder — choose a source (bass / mids / treble / beat / a slow wave…), a shape (how it rises & falls), min/max brightness, and a few extras. Preview live, then Save as a name.
- Layer two — blend any two effects together (max / add / mix).
- Save tweaked — take a built-in you've fine-tuned and save it as its own named look.
Build a button action
- Macro — chain several actions in order (e.g. jump to a look → set brightness → strobe).
- Parametric — one exact setting (set brightness = X, jump to preset N, jump to effect M).
- Run effect — a gesture that switches straight to one of your created effects.
Made something great? Map it to a gesture on the Buttons tab, or save the whole look as a preset (Save & Presets).
Problems & fixes
🔴 Lights stuck ON / not reacting — the room is too loud
Software fix (first): on the Global tab, lower the Gain until they move with the music again. Do NOT turn on AGC — it flattens the reaction toward off.
Hardware fixes (great for loud venues): the mic is just hearing too much — physically muffle it:
- Put a small piece of tape / esparadrapo over the mic hole (one layer at a time — it softens the sound).
- Tuck the mic inside the dress / under a layer of fabric.
- Slip it under a bra strap or a seam so the fabric dampens it.
- Move the dress further from the speakers / angle the mic away from them.
Then nudge the Gain back up if it got too shy. A muffled mic + sensible gain is the trick for big rooms.
It barely reacts / stays dim
Not hearing enough. Raise the Gain, get closer to the speakers, lower the Squelch, and make sure nothing's covering the mic (if you taped it for a loud room, peel a layer).
Flickers/twitches when it's quiet
Raise the Squelch (ignores more noise) and set Min-brightness 0 so quiet = fully dark.
Never goes fully dark — a faint glow remains
The gamma curve lifting the mic's noise floor. Min-brightness 0, Response curve → Linear, Gain down, or unplug between uses. It blazes the instant music plays.
I turned on AGC and it went flat / nearly off
Expected — that's why AGC is a last resort. Turn it back OFF and use Gain (and mic-dampening for loud rooms).
It reacts to talking/clapping, not just music
It hears all sound. Raise the Squelch for chatter. For the applause sparkle use the Flair button (deliberate & reliable).
Lag between the music and the lights
Shorten the Attack (rise) and Decay (fall); turn Master smoothing OFF.
Too smooth / too jittery
Too smooth: shorten Decay & Attack. Too jittery: lengthen them, or turn on Master smoothing.
Not punchy enough
Response curve = Gamma (or Gamma overlay), Min-brightness 0, shorten Decay. Or four-tap to Punchy.
Too bright / blinding
Lower Master brightness. (Two taps = instant blackout.)
The Flair (tap-then-hold) isn't firing
A clean tap immediately followed by a hold. Check/remap it on the Buttons tab.
A button does the wrong thing
Someone remapped it — open the Buttons tab to restore it. One tap = next look, two = blackout always recover.
Nothing lights up
Power bank on & charged? Re-seat the cable, wait ~3 s. Dim? It's on a laptop — use the power bank.
Froze / acting weird
Power off and on at the power bank — saved looks stay. Fixes almost everything.
Battery died mid-show
Swap to a charged power bank — it boots right back with all looks & settings.
Wires/board feel warm
Normal on long runs. Lower Master brightness and unplug when not in use. It can't overdraw (current-limited).
Can't open the Wi-Fi page
Hold the sleeve ~1 s, join “Brightmond”. If it doesn't pop up, open a browser to 192.168.4.1. No internet on it = normal.
Part of the lights is out
Likely a wire in the costume — try a power-cycle, then hand it to the tech.
Start completely fresh
A tech can factory-reset from the page — wipes tweaks, re-bakes the default set list.
Something else / I'm panicking
Breathe — no setting can break it. Power-cycle, then hit 💬 Support.
Hardware — pinout & wiring
For the tech. The brains is an ESP32; it listens with an INMP441 I²S mic and switches the fairy-light string with a PN2222 transistor driven by PWM on GPIO13.
Pinout
| Signal | ESP32 pin | Notes |
|---|---|---|
| INMP441 SD | GPIO32 | serial data (audio in) |
| INMP441 WS | GPIO15 | word select / LRCL |
| INMP441 SCK | GPIO14 | bit clock (BCLK) |
| INMP441 VDD | 3V3 | mic power |
| INMP441 GND | GND | ground |
| INMP441 L/R | GND | tie to GND = left channel |
| LED string PWM | GPIO13 | → 1 kΩ → PN2222 base. Non-inverted (duty = brightness) |
| LED string (−) | PN2222 collector | emitter → GND (low-side switch) |
| LED string (+) | VIN (5 V) | from the power bank via USB |
| Sleeve button | GPIO27 | the performer control → to GND (internal pull-up) |
| BOOT button | GPIO0 | onboard; Wi-Fi / flashing (tech only) |
Wiring diagram
INMP441 mic ESP32
┌─────────────┐ ┌──────────────────────┐
│ SD ──────┼────────┤ GPIO32 │
│ WS ──────┼────────┤ GPIO15 │
│ SCK ──────┼────────┤ GPIO14 │
│ VDD ──────┼────────┤ 3V3 │
│ GND ──────┼────────┤ GND │
│ L/R ──────┼────────┤ GND (= left chan) │
└─────────────┘ │ │
│ GPIO13 ──[1 kΩ]──┐ │
Sleeve button │ │ │
●──────────────────────┤ GPIO27 │ │
│ │ │ │
GND │ USB-C 5V ─► VIN │ │
└──────────────────┼────┘
│ base
┌───┴───┐
│PN2222 │ (low-side
LED string(+) ───► VIN (5 V) │ NPN │ switch)
LED string(−) ───► collector ────────────┤C │
│ E├──► GND
└───────┘
GPIO13 PWM duty 0–255 → brightness (non-inverted).
Boots GPIO13 LOW = off.
The LED switch (how brightness works)
- GPIO13 outputs a PWM signal → 1 kΩ resistor → PN2222 base. The PN2222 is a low-side switch: collector to the LED string's (−), emitter to GND.
- Non-inverted: higher duty = brighter. The string's (+) sits on VIN (5 V).
- PWM runs at ~19.5 kHz, 8-bit (duty 0–255) — above flicker range.
Power path & safety
USB power bank ─► ESP32 USB-C ─► onboard 5V→VIN (~500 mA) ─► VIN
VIN ─► LED(+) ─► string ─► LED(−) ─► PN2222 C ─► E ─► GND
Two buttons recap → Buttons tab · heat & power for the dancer → Start tab.