← Current assembly guide · Hardware BOM · Purchased BOM
Control-system wiring
Follow the board silkscreen and the driver terminal labels.
Power and shared reference
External 5 V / 2 A supply USB-A → USB-C cable → panel USB-C inlet (DWEII) inlet +5 V → breakout 5V bus → ESP32 5V input and ULN2003 motor supply (+) inlet GND → breakout GND bus → ESP32 GND and ULN2003 motor supply (−) Driver powered from the breakout buses ESP32 3V3 → Hall module VCC All grounds common
I connected the driver supply to the breakout's 5 V net and measured 4.99 V at the driver. I tested the Hall sensor at 3.3 V and it detected the magnet.
Signals
| ESP32-S3 GPIO | Connect to | Configuration |
|---|---|---|
| GPIO4 | ULN2003 IN1 | Motor phase sequence, outputs |
| GPIO5 | ULN2003 IN2 | Motor phase sequence, outputs |
| GPIO6 | ULN2003 IN3 | Motor phase sequence, outputs |
| GPIO7 | ULN2003 IN4 | Motor phase sequence, outputs |
| GPIO15 | Hall module S/OUT | Active-low input with internal pull-up |
| GPIO17 | One button contact | Active-low input with internal pull-up |
| GND | Other button contact | Press shorts GPIO17 to common ground |
The button is a B3F-5050. Use one normally-open contact pair; the two terminals on each side are internally paired. Solder the two button wires directly to the switch contact pins. Connect one normally-open contact to ESP32 GPIO17 and the other to common GND. No separate button header or terminal assembly is required.
Programming
The controller is first programmed over USB; later updates use Arduino IDE OTA.