Light and pixels

WLED & spatial pixel control

Most LED software thinks in strips and indices. Melanite thinks in space: put the strip where it physically is, then light the room — a glowing volume, a beat, a person's position — and every pixel works out its own colour.

Status Core shipped

In one line

You place LED strips as objects in Melanite's 3D scene — with a real position, rotation and length — and then drive them from control logic in one of two ways: solid colour from R/G/B/brightness ports, or spatial rendering, where light effectors placed in the same 3D space decide what each individual pixel shows. Pixel data streams over UDP to any number of WLED controllers at about 60 Hz, including controllers physically attached to other Melanite devices in a fleet. A blank ESP32 plugged into any Melanite is flashed with stock upstream WLED, provisioned onto Wi-Fi, named and adopted as a working light in a single guided flow.

Capabilities

One tap from blank board to light

Plug an ESP32 into any Melanite device. It flashes stock upstream WLED (no fork), provisions Wi-Fi with your credentials pre-filled, sets the name, mDNS and LED count, adopts it as a device and strip, and blinks it so you know which one it is. Verified end-to-end on real hardware.

Strips live in 3D

A strip is a scene object with a transform — drag it, rotate it, group it with the gizmo. Pixel world positions follow the strip live, so moving it re-lights it instantly with no regeneration step.

Spatial rendering

Light effectors — spheres, zones or aimed cones with a colour gradient — are placed in the scene and drive per-pixel colour by where each pixel is. A moving glow crosses strip boundaries because it is a place, not an index range.

Many controllers, one map

Multi-controller UDP pixel streaming with stable device identity that survives a rename, single-writer arbitration, and an allocation-free render path on the ~60 Hz visual loop.

WLED segments as addressing

Melanite owns where segments are; WLED's own UI still owns their effects. Use Melanite for the map and the logic, WLED for what it's already good at.

LED on other devices

A controller attached to another Melanite in the fleet appears in your graph as an ordinary device — and the pixel stream goes to it directly over UDP rather than being tunnelled.

Sound-reactive built in

Beat, BPM and a 16-band spectrum from the audio plane drive effectors — including one effector per spectrum band — with the analysis time-aligned so the light matches what the ear hears.

On the roadmap

One pixel map to any transport: Beckhoff EL2574 EtherCAT pixel output, sACN/Art-Net, and WLED preset/effect triggering.

Worked examples

A room that lights where you are

Strips along several walls should produce one glow that follows a person across the room.

How

Place each strip in the 3D scene where it physically hangs. A presence sensor's tracks spawn a light effector per person. Every pixel computes its colour from its own position relative to that glow — so the light crosses from one strip to the next with no per-strip programming at all.

A machine status light that means something

A production cell should show its state from across the hall — a distinct colour and a distinct rhythm per state, so it reads without colour vision too — and pulse on fault.

How

Wire the cell's state to a strip's colour ports, or to an effector volume around the machine in the 3D scene. The same graph that runs the machine drives the light — no separate lighting controller, no second program to keep in sync.

Why Melanite

WLED itself has no logic and no idea where anything is. Lighting-desk software knows geometry but can't read a servo's torque. Melanite puts the strips in the same 3D scene as the machine and drives them from the same real-time graph — and gets the blank board onto your Wi-Fi in one tap along the way.

FAQ

Do I need to modify WLED?

No. Melanite flashes and drives stock upstream WLED — no fork, no custom firmware. Everything Melanite adds happens after flashing, over WLED's own provisioning and JSON API.

Can I keep my existing WLED setup?

Yes. Existing controllers on the network are discovered, and a board that already runs WLED can be adopted without reflashing it.

How is this different from just using WLED effects?

WLED effects run per-controller and per-strip, with no notion of the room. Melanite renders from 3D positions, so one effect spans many strips and many controllers coherently — and it can be driven by any live value in your control logic, not just a preset.

Free, full-featured

Every feature, free for personal use.

One binary runs every tier — the licence only toggles entitlements, never the feature set.