Skip to content
← All work
2024–2026ShippedPublic

The Crystal Orb & Light Installations

A quartz sphere on a 9-LED base that shows what Claude is doing, built by the same hands that lit a 497-LED chandelier and the garage windows.

Solo β€” hardware, firmware, software

Chandelier LEDs
497
Garage-door LEDs
600 (2 Γ— 300)
Matrix
16 Γ— 16
MCP tools
9

01 / problem

The problem

I like light as a material, and addressable LEDs make it programmable. Each install has its own geometry: a spiral, a cylinder, two long window frames. The animations have to be written for the shape of the object, not for a straight strip.

Later I wanted a physical signal for my AI work: something at the edge of my vision that says whether Claude is thinking, done, or waiting on me, without another notification on screen.

02 / build

What I built

  • BubbleGlass chandelier. 497 WS2812B LEDs in three mapped sections (a 181-LED bottom spiral, a 256-LED cylinder addressed as a 32x8 grid, and a 60-LED crown), with ocean, fire, lighthouse, engine and matrix-rain modes written for each section.
  • Garage-door windows. Two windows of 300 LEDs each, with mirrored top and bottom bars for fire, cloud-mist, scanner and wave effects. The 2020 light-beats experiments sync them to music.
  • WiFi 16x16 matrix. An MKR1000 polls a small REST endpoint for mode, brightness and speed, keeps animating during network calls, and shows connection status in its corner LEDs.
  • The crystal orb. A clear quartz sphere on a 9-LED NeoPixel base. The firmware takes serial commands. A small daemon owns the serial port and serves a phone-friendly web remote. An MCP server (9 tools: colour, mood, pattern, per-LED, notify and more) and Claude Code lifecycle hooks both talk to it over local HTTP. Prompt submitted means a molten "working" pattern; answered means calm water; needs permission means an insistent red breath.

03 / signal

What it shows

Embedded work end to end: power budgets, LED mapping for physical geometry, and firmware that stays smooth while doing network I/O. The MCP piece shows how I connect AI agents to the physical world with a clean boundary: one process owns the hardware, and everything else, model or hook, sends it commands.

Gallery 1 / 5

Mood changes, straight off the phone.