35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# 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).
|