The control system is centered around a Seeed Studio XIAO ESP32-C3 microcontroller programmed with Arduino firmware. Two A4988 stepper drivers are used to control the NEMA17 motors — one for the winding axis and one for the pitch control. Inputs include a beam break sensor for detecting spool rotations, a limit switch for pitch axis homing, and a 4-button interface to navigate the OLED menu.
The custom PCB was designed in KiCad and manufactured with a compact 2-layer layout. The board includes:
Component | Qty | Specification | Notes |
---|---|---|---|
Microcontroller | 1 | Seeed XIAO ESP32-C3 | Arduino-compatible, Wi-Fi |
Stepper Motor Drivers | 2 | A4988 | For NEMA17 control |
NEMA17 Stepper Motors | 2 | 1.8° step | Spool and pitch axes |
Power Supply | 1 | 12V 3A | Main power source |
Beam Break Sensor | 1 | KY-010 or TCRT5000 | Spool rotation counter |
Limit Switch | 1 | Mechanical | Pitch axis homing |
OLED Display | 1 | 0.96\", SSD1306, I2C | Menu interface |
Tactile Buttons | 4 | 6mm push buttons | User input navigation |
Custom PCB | 1 | 2-layer KiCad | All-in-one control board |
Header Pins / JSTs | ~20 | 2.54 mm | Sensor and driver connectors |
Wires | 1 set | 22 AWG | Signal and power |
Heat Shrink Tubing | Various | - | Insulation and labeling |