/*@BUILD:include:src/header.html@*/
The pendulum is the display: every lane's subdivisions & accents ride along the bar as moving RGB light. Drag the weight up/down (or scroll) to set tempo — the scale is printed on the bar, just like a wind‑up metronome. (No power switch: the real one starts when you lift it from its holder.)

PM‑S — Showcase

HardwareDisplay piece~$41 one‑off

A metronome as an object: the silhouette of a classic pyramid wind‑up unit, but the swinging pendulum is pure RGB light. The whole bar is the display — every lane's subdivisions & accents ride along its length as moving points of light (all meters combined), a printed tempo scale runs up the vertical axis, and a sliding weight sets the tempo just like the mechanical original.

It's a beautiful, glanceable tempo reference for the shelf, the studio, or a shop window: accents glow amber, normal steps cyan, ghosts soft violet, and the pendulum eases to each beat exactly as a weighted rod would. It runs the same grooves as everything else (load any program string), plays the click through a small speaker, and is powered over USB‑C with a second "thru" port to daisy‑chain. There's no power switch — the real unit starts when you lift it from its holder / set it swinging. No instrument I/O; it's a showpiece.

Spec & bill of materials

Rough parts list — a USB‑C‑powered RP2040 display piece driving addressable RGB light. Ballpark one‑off prices (USD); cheaper at volume.

PartQty~$
Brain
RP2040 board, USB‑C — e.g. Waveshare RP2040‑Zero14
RGB light
Addressable RGB LEDs (WS2812B) — a strip down the pendulum bar, ~40 px15
Frosted acrylic diffuser / light‑guide — the glowing pendulum bar13
Audio
MAX98357A I²S amp + small speaker — the click14
Power & build
2× USB‑C (data+power & power‑thru) + PWR LED — daisy‑chain13
Tilt / lift sensor (accelerometer) — starts when lifted from its holder12
Custom PCB (or perfboard)14
Passives, wire2
Pyramid enclosure — cast/CNC aluminium or hardwood, frosted front panel114
Total (one‑off)≈ $41
/*@BUILD:include:src/footer.html@*/