Skip to content

About

An industrial stack light with five lamps, driven by an ESP32-S3 in a 3D-printed base.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

55 Commits

Folders and files

Repository files navigation

StatusStackLight

An industrial stack light with five lamps, driven by an ESP32-S3 in a 3D-printed base – dimmable, blinking and pulsing, via an HTTP API and a web interface on the local network. In everyday use it shows what the running Claude Code sessions are doing right now – directly on the local network, or through a relay server from anywhere.

The stack light with all five lamps lit on its 3D-printed base

The four parts

Folder Contents
enclosure/ Parametric base in OpenSCAD: carries the stack light and houses all the electronics. Print-ready STL files, print recommendations, assembly order.
firmware/ PlatformIO firmware for the ESP32-S3: PWM drive with effects, WiFi setup via captive portal, web interface, HTTP API.
claude-code/ PowerShell script that brings the state of Claude Code sessions to the stack light via hooks.
relay/ Optional ASP.NET Core server between hooks and stack light: combines the sessions of several computers, the stack light polls it – no shared network needed. Admin interface for API keys, event rules and appearance.

The parts build on each other but can also be used on their own: the firmware does not need the base, the API is open to any client, not just the hook script, and the relay is only needed when computer and stack light are not on the same network.

Hardware

Component
Stack light 5 lamps (white, blue, green, orange, red), 12 V LED modules, flange with 4 × M4 on a 55 mm bolt circle
Microcontroller ESP32-S3 DevKitC-1 N16R8 (16 MB flash, 8 MB octal PSRAM)
Driver 8-channel MOSFET module, active LOW; 5 channels used
Power USB-C PD trigger board (requests 12 V) → Mini560 buck → 3.3 V into the ESP32's 3V3 pin
Base 138.8 × 120.8 × 35.8 mm, PETG or PLA+, heat-set inserts 4 × M3 and 4 × M4

The populated base plate seen from above: 8-channel MOSFET module, ESP32-S3, Mini560 and PD trigger board, each held by clips The main body standing on its lid with the lamp cables coming through the feed-through, next to it the populated base plate
Everything sits on the base plate, held by printed clips – no screws. The five lamp cables come through the feed-through in the lid.

Pin assignment, dimensions and details are in the READMEs of enclosure/ and firmware/.

Quick start

  1. Print: enclosure/OpenSCAD/body.stl and base.stl, support-free, see the print recommendations.
  2. Assemble and wire following the assembly order.
  3. Flash: in firmware/ with PlatformIO pio run -t upload, see Building and flashing.
  4. Set up WiFi: on first start the device opens the access point StatusStackLight-XXXX; the setup page appears by itself, see WiFi setup.
  5. Try it out: http://statusstacklight.local/ in the browser – every lamp can be switched there individually with all its parameters.
  6. Optional: set up the Claude Code display, see claude-code/.
  7. Optional: run the relay on a server, see relay/, and switch the stack light and the hook script to relay mode.

License

MIT – for firmware, scripts, relay, enclosure model and documentation.

About

An industrial stack light with five lamps, driven by an ESP32-S3 in a 3D-printed base.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages