Files
Plasma-DMD/docs/esp32-interface.md
T

35 lines
1.3 KiB
Markdown
Raw Normal View History

2026-10-24 02:31:50 +02:00
# ESP32 interface
Board: **Wemos D1 mini ESP32**, powered from the 5 V rail.
## Level shifting
The panel inputs are 5 V TTL and the ESP32 is 3.3 V. Use a **74HCT245** (HCT only, because it accepts 3.3 V
inputs) powered from 5 V, with DIR tied high (A→B) and OE tied low.
## Pin plan
| Signal (to panel, through 74HCT245) | GPIO | Notes |
|---|---|---|
| Dot clock | 18 | VSPI SCK |
| Serial dot data | 23 | VSPI MOSI |
| Column latch | 17 | |
| Row data | 16 | |
| Row clock | 26 | |
| Display enable | 22 | Pull to *off* state at the 245 input |
| HV watchdog toggle | 21 | Charge pump → relay (see safety.md) |
| +65 V monitor (optional) | 34 | ADC, 2 × 1 MΩ + 33 kΩ divider |
The strapping pins (0, 2, 5, 12, 15) are avoided so nothing twitches during boot.
## Panel data connector
- [ ] Map the panel's 14-pin data connector (signal ↔ pin) for this specific panel before wiring.
## Scanning
- 128 columns × 32 rows, about 120 Hz frame rate (as on WPC).
- Per row: shift 128 bits of dot data (SPI), latch the columns, advance the row (row data is high
for the first row only, then clock the row once per row).
- The panel must never sit with one row lit. Scanning runs continuously, and the HV watchdog is
toggled once per scanned row (about 2 kHz, so the charge pump stays charged).