

Winder Core Board
On some level, this build is not so much an evolution, but a return to the original plan. See, the very first computerized winder I had attempted used a pancake stepper and 12V power.
- Size
- 101.5 × 63.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 59
- Pads
- 171
- Tracks, vias
- 387, 10
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 20 Jun 2025
- Updated
- 28 Sep 2026
Overview
Winder Core Board is an open-source printed circuit board by AnotherBuildCorner, from the AnotherBuildCorner/Pickup-Winder-V3.1 repository on GitHub. It is a 2-layer board of 101.5 × 63.5 mm with 18 parts on 59 nets, routed with 387 tracks and 10 vias.
Its parts include 8 connectors, 5 ICs and 1 capacitor. It belongs with the robots and motor control boards of this library.
README
README.mdIN PROGRESS
Warning
Let's just get this out of the way. This is NOT a project for the faint of heart. A combination of mechanical aptitude, pinning electrical connectors, and a 3D printer are required to execute. If you want a less advanced yet still capable version. Try the V2 winder based on commonly avaliable RC components.
With that out of the way. Let's begin.
Background
On some level, this build is not so much an evolution, but a return to the original plan. See, the very first computerized winder I had attempted used a pancake stepper and 12V power. But due to problems integrating the servo control and stepper libraries, this was quickly abandoned in favor of hobby RC components. Now, with years more experience, and a better understanding of my inital failures, i'm back to make my ultimate CNC winder!
Heres the intended improvements.
-
Increased Precision:
The previous winder design utilized RC servos for traverse control. While this worked well, there are three major failing points.
- 1: The servo has some measure of backlash, negating some precision.
- 2: Using just the servo horn for traverse means complex Rotation-Linear position math.
- 3: The largest failure. The servo traverse can only be controlled in 1 degree increments. With a 10mm arm length, this is 0.2mm per step. Not precise enough for laying 42 gauge wire side by side.
The new design uses a 2mm pitch lead screw, with 16 part microstepping. Or 3200 steps per revolution Which results in Linear precision of 0.000625mm. 10X the required precision for layer to layer position of 44AWG wire (0.058mm with insulation).
-
Tension Measurement: A weakness of all previous designs was a reliance on "eye-caliper" measurements for tension. Otherwise known as trial and error. And knowing when the wire was close to it's breaking point was all but impossible. To fix this problem, A HX711 chip paired to a 0-100g load cell was added for tension measurement. At minimum this provides a warning for break tension.
-
Complete Offline Running: While previous versions were relatively easy to use. They were required to be connected to a computer for parameter adjustment. Perfectly acceptable for a hobbyist builder, With Arduino IDE being easy to access. But this is still less than ideal, and certainly not up to being an "ulitmate" winder.
-
Preset and parameter Storage: This is part of the previous problem. While presets could be loaded into IDE and then selected via a selectable parameter in code. This still required modification to the code files any time a new pickup was desired. This new winder incorporates a small touch screen to allow parameter editing, and multiple presets than can be tweaked before deployment. (say a 5% underwind while maintaining all other specifications).
Mechanicals
The core mechanical parts are composed of:
-
Nema 17 Stepper full size motor. (Spindle Direct Drive)
- Connected to 5mm flange adapter
-
Nema 17 Pancake Stepper motor (Traverse, could use full size here)
- Connected to 8mm x 2 leadscrew with flexible coupler
- Screw rides in two 8mm ID flange bearings
- Traverse guide with anti-backlash nut, and 5mm guide rod with 5mm bushing
-
Tensionser is a pair of felt Hi-Hat washers with bolt through center
-
Tension meter is HX711 connected to a 0-100g load cell.
-
Guides are cut from HDPE sheet. Future iterations may upgrade to PTFE guides as required.
Design notes: While the position of most of the guides is somewhat critical. The one that matters the most is the final guide before the bobbin. Previous iterations placed this guide on top of the linear guide rail, not the lead screw. However, even with the guide bushings, the traverse carrier has some play over the guide. so during direction switches the accuracy would go down. With the guide positioned over the screw, the maximum precision is reached as all backlash is taken up by the nut, and the guide over the rail is simply a direction change post.
Previous considerations used a 3 point tension meter setup, but in practice this is unnessecary. And ultimately made threading the guides more difficult. Use a small weight of known mass and calibrate the scale factor.
With the current design, alignment of the different components is challenging. In the future, incorporating the stepper and carrier brackets would be preferable, as well as a thin baseplate to align all the separate brackets.
Tension accuracy might be questionable. With each individual guide a small amount of friction is added, but the exact quantity is unknown.
Electricals
- Custom made Connection PCB populated with
- 2x TMC2209 Stepper motor drivers
- Linear Voltage regulator breakout
- Esp32 S3 devkit Microprocessor
- HX711 Load cell amplifier
- SPI connected 2.4" touchscreen
- Connections made via JST connectors.
- 24VDC Power Supply

Design Notes: As previously touched upon. Previous iterations ran off of either an Arduino Nano or ESP32-Wroom. And lacked any meaningful interface aside from a speed control knob. This new system adds the most powerful ESP32 available, and controls the steppers via modifiable hardware timers, allowing for pinpoint precision. The new stepper drivers are linked by the single channel UART communication. This allows for programming the microsteps and current limits in the code, no need for jumpers. However, there are also two open 6 port connectors designed to control microstep jumpers if needed.
Currently there is a provision to add a SD card, external reset switch, and an optical gate. The SD card port could also be used for some sort of sensor. The optical gate is currently connected to a limit switch instead of an optical gate. The original plan was to use a function in the 2209 to set zero, but this failed.
One step "backward" is the system no longer has a closed loop feedback on the spindle. However in practice no steps are dropped. and from experience if enough torque to drop a step is encountered, the stepper will drive backwards and ruin the bobbin anyways. So closed loop control is an unnessecary extra.
There is currently an Error in the spacing of the microcontroller pins. The wider spaced outline fits correctly, however the narrow spacing, designed for a narrower S3 board, is too narrow.
Interface
(In progress)
Notes
Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_01x04_Pin | Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical | Spindle_Port1, Traverse_Port1 |
| 2 | Conn_01x06_Pin | Connector_JST:JST_EH_B6B-EH-A_1x06_P2.50mm_Vertical | J3, J4 |
| 2 | ~ | CustomParts:TC2209 | U1, U3 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R_Serial1 |
| 1 | C_Polarized | Capacitor_THT:CP_Radial_D8.0mm_P5.00mm | C1 |
| 1 | Conn_01x02_Pin | Connector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_Vertical | J6 |
| 1 | Optical_Gate | Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_Vertical | J2 |
| 1 | Reset SW | Connector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_Vertical | J8 |
| 1 | SD_card EXT | Connector_JST:JST_EH_B6B-EH-A_1x06_P2.50mm_Vertical | J7 |
| 1 | Speed_Pot | Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_Vertical | J1 |
| 1 | Voltage Selector | Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_Vertical | J5 |
| 1 | ~ | Connector_JST:JST_EH_B14B-EH-A_1x14_P2.50mm_Vertical | U5 |
| 1 | ~ | Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_Vertical | HX711 |
| 1 | ~ | CustomParts:S3 DEvkit DualW | U2 |
| 1 | ~ | CustomParts:MS1584_fullboard | U4 |
Similar boards
- 2 layers27.9 × 16.5 mm

- 2 layers42.7 × 13.7 mm

Stm32-mini12864
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
18 parts1.1kGPL-3.0 - 2 layers41.2 × 46.6 mm

- 2 layers44 × 51.3 mm

4272MAVcoder R4
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
18 parts915 - 2 layers28.3 × 14.3 mm

Tap Photosensor PCB
VoronDesign/Voron-Tap
Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:
18 parts716GPL-3.0 - 2 layers20.3 × 15.2 mm

L0 stepper driver
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
18 parts546MIT - 2 layers

- 2 layers42.5 × 28.8 mm

C5VRX JACK DIY V2
Twotoz/C5VRX
Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS
18 parts515GPL-3.0
Questions
How big is the Winder Core Board PCB?
It measures 101.5 × 63.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Winder Core Board use?
18 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Winder Core Board KiCad files?
From the AnotherBuildCorner/Pickup-Winder-V3.1 repository on GitHub, at the commit this page was made from: the board is PCB's/Winder Core Board/Winder Core Board.kicad_pcb and its schematic PCB's/Winder Core Board/Pinout_table.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Winder Core Board design in my own project?
Its repository states no licence, so its author keeps all rights: ask AnotherBuildCorner before reusing the design.