Wiring & Pinout¶
The firmware supports three boards: Generic (a normal ESP32 dev board with a separate e-paper display), Waveshare (the Waveshare ESP32 board with an integrated e-paper driver) and the JC3248W535C (an ESP32-S3 board with an integrated 3.5” touchscreen). Generic and Waveshare differ only in the display SPI and control pins; the JC3248W535C needs far less wiring — see its section below and skip the display and button sections.
Note
The authoritative pin assignments live in src/board.rs. The tables below
are generated from it — if you ever change a pin in the firmware, update it
there and re-check these tables.
E-paper display¶
Connect the Waveshare e-paper display to the ESP32 using the GPIO for your board profile:
Display pin |
Generic (GPIO) |
Waveshare (GPIO) |
|---|---|---|
BUSY |
27 |
25 |
RST |
33 |
26 |
DC |
25 |
27 |
CS |
26 |
15 |
CLK (SCK) |
18 |
13 |
DIN (MOSI) |
23 |
14 |
GND |
GND |
GND |
3.3V |
3.3V |
3.3V |
Coin acceptor & MOSFET¶
The MOSFET module lets the firmware block or enable the coin acceptor at the right moments.
Signal |
Generic / Waveshare (GPIO) |
JC3248W535C (GPIO) |
|---|---|---|
Coin acceptor “Coin” pin |
17 |
18 |
MOSFET control pin (gate) |
16 |
17 |
MOSFET GND pin |
GND |
GND |
Wiring notes:
For the Coin signal connection, use a cable that is as short as possible.
Short-circuit the two pins below the switch on the coin acceptor with the MOSFET on GND IN and GND OUT.
Connect the MOSFET GND pin to the board’s GND and the control pin to the coin acceptor’s blocking-MOSFET GPIO from the table.
Give the board, the step-up converter and the coin acceptor one common ground.
See Programming the Coin Acceptor for programming the acceptor itself.
JC3248W535C touchscreen¶
On this board the display, the touch input (which replaces the push button) and
the BOOT button are integrated — the two GPIOs above and GND are the only
wires. They sit on the 4-pin side connector, which exists twice with identical
pinout (P3 with 1.25 mm pitch, P4 with 1.0 mm); every pin is labelled on the
silkscreen: GND / 3V3 / IO17 / IO18. The 3V3 pin stays unconnected.
Power the board through its USB-C port.
Warning
The third 4-pin connector P1 (next to the USB-C port) carries +5 V / TX / RX / GND and has the same 1.25 mm pitch as P3, so a P3 harness plugs right into it — with 5 V where GND is expected. Prefer the smaller P4 connector for the harness, or mark the plug.