28c666506ef07f84c1c57ad326f182c9fb7593b0
- Placement script (layout_pcb.py): LV left, HV right, panel connector on the boundary, terminal blocks on the edges, heatsink space for the TO-220s - Freerouting-based routing script (route_pcb.py) that routes with oversized tracks/vias and shrinks them, giving 3 mm HV-to-LV and 1.3 mm HV-to-HV - Custom DRC rules (plasma_dmd_psu.kicad_dru) with documented exceptions - Wide TO-92 footprints; schematic generator now keeps symbol UUIDs - DRC: 0 violations, 0 unconnected pads, schematic parity OK Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Plasma DMD
Drive a second-hand 128×32 pinball plasma dot-matrix display (originally on a Williams WPC DMD controller) standalone, from a Wemos D1 mini ESP32, powered from a single 12 V DC brick.
The display power supply is built from cheap modules plus a copy of the regulator section of the Stern/Sega display PSU (520-5138-00). The original transformer and AC front end are not used.
⚠️ High voltage. The panel runs on about +65 V, −100 V and −112 V, which is about 175 V between rails. That can injure you. Read docs/safety.md before powering anything.
The panel
- Bought second-hand on 18 September 2021 for €37.
- Originally driven by a Williams WPC DMD controller board. No original controller or PSU came with it.
Layout
| Path | Contents |
|---|---|
| docs/power-supply.md | PSU design: block diagram, analysis of the original board, changes |
| hardware/psu-schematic.svg | PSU schematic (generated by hardware/psu_schematic.py) |
| hardware/kicad/ | KiCad 10 project for the PSU carrier board: schematic and routed PCB (rev 0.1) |
| docs/safety.md | Safety design (HV watchdog, fusing, layout, bring-up procedure) |
| docs/esp32-interface.md | ESP32 pin plan, 74HCT245 level shifter, panel signals |
| docs/bom.md | Bill of materials |
| reference/ | Original Stern 520-5138-00 display PSU schematic |
| firmware/ | PlatformIO project for the ESP32 |
Status
- Identify panel: manufacturer/part number from its label
- Map the panel's power connector pins (WPC panel ≠ Stern CN2 pinout) and check if +12 V is used
- Map the panel's 14-pin data connector
- Lay out the PSU PCB in KiCad (hardware/kicad/)
- Review the PCB and work through the before ordering checklist
- Order parts (docs/bom.md)
- Build and bench-test the PSU without the panel (bring-up)
- Build HV watchdog and verify that the relay drops when toggling stops
- Firmware: row scanning with test pattern
- First power-up with panel (series resistors, current measurement)
- Firmware: greyscale, content source (Wi-Fi / serial)
Languages
Python
96%
C++
4%