# 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).