Everything behind the front panel: layer stack, LED options, controller options, wiring, power and assembly.
Applies to both sizes — 90 × 90 cm (cell pitch 42.9 mm) and 50 × 50 cm (cell pitch 23.8 mm) — and to all eight language faces.
Ready-made firmware with your exact letter layouts is included (wordclock_firmware.ino).
| Part | 90 × 90 cm | 50 × 50 cm | Notes |
|---|---|---|---|
| Front panel | 3 mm black acrylic or 2 mm aluminium, 900×900 | same, 500×500 | your laser-cut file, cut through |
| Diffuser | 2–3 mm opal acrylic (e.g. WH10-type, ~30% transmission) | 2 mm opal | bonded behind the front |
| Baffle grid | 15×15 lattice, cell 42.9 mm, 12–15 mm deep | cell 23.8 mm, 10 mm deep | laser-cut cross-slotted strips (black 3 mm MDF/acrylic), 3D-printed sections, or black foamboard |
| LED carrier | 6 mm MDF/ply, 12 mm holes at cell centres | same, 8–12 mm holes | one hole per letter cell + 4 corner dots |
| LEDs | 229 pixels total (225 grid + 4 dots) | see §3 | |
| Controller | ESP32 dev board (or Wemos D1 mini) | see §4 | |
| Level shifter | 74AHCT125 (or SN74HCT08N) | 3.3 V → 5 V data | |
| PSU | 5 V / 10 A | 5 V / 6 A | quality brand (Mean Well LRS-50/75-5) |
| Sundries | 330 Ω resistor, 1000 µF 6.3 V+ capacitor, 18 AWG wire for 5 V rails, JST-SM connectors | ||
| Back + frame | 6 mm MDF back, wooden or aluminium frame, French cleat or keyhole hangers | ||
Strings of 12 mm "bullet" pixels (WS2811, 50 per string — buy 5 strings). Push each pixel into its hole in the LED carrier from behind; the wiring between pixels is already done. This is the classic word-clock approach because no strip pitch matches a 42.9 mm (or 23.8 mm) grid — strings don't care about pitch. IP68 versions run happily for years.
Cut a 60 LED/m strip into single-LED segments and solder 3 wires between every cell — 229 × 3 joints. Cheaper per LED, far more labour. Only worth it if you enjoy soldering.
RGBW pixels with a true warm-white channel give the most authentic warm glow (the mockup's colour) and better
CRI than mixing RGB. If you buy RGBW, set WARM_* handling accordingly (FastLED: use RGBW-capable branch or NeoPixelBus).
BRIGHTNESS 140 (default) for a comfortable indoor glow that also caps current.| Option | What you get | Effort | Pick it if… |
|---|---|---|---|
| A · ESP32 + included firmware recommended | WiFi + NTP time (auto DST via timezone string), all 8 languages compiled in — choose with one #define. Exact same letter tables as the website. |
Flash once with Arduino IDE, set WiFi + language | you want it to just work, forever, with no buttons |
| B · Wemos D1 mini (ESP8266) + included firmware | Same firmware, smaller/cheaper board | same | you have one in a drawer |
| C · ESP32 + WLED | Polished web UI, effects, Home Assistant / MQTT. But its word-clock usermod ships fixed (mostly German 11×10) layouts — your custom grids won't map without editing the usermod source. | Flash WLED, then modify + rebuild the usermod | you already run WLED everywhere and don't mind C++ surgery |
| D · Multilayout-ESP-Wordclock | Open firmware with web config, 35 built-in layouts across 13 languages — German/Swiss layouts exist, but again not your grids; adding one means a source-level layout file. | moderate | you want its web configurator and will port a layout |
| E · Arduino Nano + DS3231 RTC (no WiFi) | Fully offline; DS3231 keeps ±2 min/year. No NTP means manual DST changes twice a year (or add two buttons). | small sketch changes (drop WiFi block, read RTC) | the clock hangs where there is no WiFi |
wordclock_firmware.ino was generated from the same
verified state tables that drive the website — 144 states per language (288 for French, which is 24-hour aware for MIDI/MINUIT),
so the wall clock and the web mockup can never disagree. DST is automatic via the POSIX TZ_STRING.| Item | Typical cost |
|---|---|
| Front panel + diffuser cut (laser service) | £40–120 depending on size/material |
| 5 × WS2811 pixel strings (250 px) | £25–45 |
| ESP32 + level shifter + passives | £8–15 |
| Mean Well 5 V PSU | £15–25 |
| Sheet material (baffle, carrier, back) + frame | £25–60 |
| Total | ≈ £115–265 (prices vary — check current listings) |