Wiring & Pinout¶
The firmware supports two board profiles, selected during setup: Generic (a normal ESP32 dev board with a separate e-paper display) and Waveshare (the Waveshare ESP32 board with an integrated e-paper driver). The coin acceptor, MOSFET and button pins are the same on both profiles; only the display SPI and control pins differ.
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. These pins are identical on both board profiles.
Signal |
ESP32 GPIO |
|---|---|
Coin acceptor “Coin” pin |
17 |
MOSFET control pin (gate) |
16 |
MOSFET GND pin |
GND |
Wiring notes:
For the Coin → GPIO 17 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 ESP32 GND and the control pin to GPIO 16.
See Programming the Coin Acceptor for programming the acceptor itself.