Skip to the content
PCBKitNew board
2 layers72.6 × 51.8 mmWinder V1, the printed circuit board in 3D

A DIY pickup winder with CNC capability, from mostly off the shelf parts

Size
72.6 × 51.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
42
Pads
95
Tracks, vias
169, 1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
28 May 2024
Updated
5 Sep 2024

Overview

Winder V1 is an open-source printed circuit board by AnotherBuildCorner, from the AnotherBuildCorner/Pickup_Winder repository on GitHub. It is a 2-layer board of 72.6 × 51.8 mm with 16 parts on 42 nets, routed with 169 tracks and 1 via.

It is built around the ESP32-DEVKITC-32E and L7805. Its parts include 12 connectors, 2 ICs, 1 resistor and 1 diode. It belongs with the ESP32 boards of this library.

Main components

2

README

README.md

Pickup Coil Winder. V2

Tried looking for pickup winders on the internet, only to be blown away by the crazy price tags?

I bet you've tried the old school method of a Drill and your fingers, and I can also guess it didn't go well either.

Want the ability to wind a picckup bobbin, without breaking the bank, and without having to sit there with laser focus trying to keep that 42 gauge wire from breaking while the cat is in the way?

Then this design might just be what you need!

Based off of commonly available Hobby RC components, and an ESP32 microcontroller. With a small handful of 3D printed components added, this device can wind all your common guitar pickup bobbins with minimal user input.

IMG_5642

Overview:

At the heart of this design is a simple IO PCB with a 5V linear regulator, ESP32, and pin headers to connect other components

IMG_5639 PCB Sch

And a 3D printed mechanics housing, integrating a 550 sized RC motor, 4:1 Pulley drive, 5mm bearing rod and bearings, encoder wheel, optical sensor, and optional Hall effect sensor

(Full Drive Assembly model)

Drive Assembly v2

Assembly Video

https://github.com/AnotherBuildCorner/Pickup_Winder/assets/112969078/35dab373-d6de-44d6-9a98-b22964a5057d

Motor and Esc

IMG_5637

Housing

Belt Drive v4

Optical Encoder Wheel

Counter Wheel v3

Large Pulley

V Pulley Large v2

Small Pulley

V pulley small v3

Optical Encoder location

IMG_5631

Hosuing with Hall Effect Sensor

IMG_5632

Annotated image:

IMG_5642-1

On top Panel are three things: The OLED readout, the traverse servo and cradle, and the Wire tensioner/guide assembly. The oled is a simple Adafruit 1306 OLED 128X64. in a custom holder

OLED Holder

Oled Holder v4

The Traverse servo is a commonly available SG90 micro servo located in a 3d printed dovetail cradle with spring tension

Traverse Servo Assembly

Servo Cradle v5

and the wire tensioner is a simple piece of plexiglass with a smooth hole in one end, with a pair of Cymbal felts tensioned by a bolt. The wire passes between the felts, and through a hole in the arm of the servo before being wound to the bobbin.

Schematic

Screenshot 2024-05-23 172910

Design Choices

Why the RC components

Initially, back in V 0.5, a stepper motor driver was used instead of RC motors, which eliminates the need for other encoders.

However this proved unreliable in testing, as the motor torque was terrible, the drive would sometimes get confused and reverse, ruining the bobbin, and the stepper libraries caused the motor to ramp up and down in speed for the auto traverse.

At the time I also had some RC components laying about, and decided to try them as they were "free to me". And for a system to control the auto traverse, a micro servo was the simplest method available since all that's needed is a servo library and micro controller.

Belt Drive?

So i've tried direct drive, Gear drive, and belt drive. They all have pros and cons.

For the direct drive. Motor selection becomes a primary concern. as 550 size RC motors are available in a multitude of torque and speed configurations defined by their turn count.

Problem is these motors are meant to run several thousand RPM. So the 1000 RPM needed is hard to control, and the speed jumps from too slow, to too fast easily. Plus the most commonly available motors don't have enough torque.

Also, if a hall effect sensor is added. the magnet is mounted to the drive flange, which causes instability at high speeds.

So, gear drive? Two problems here. One is the geartrain to get a 4:1 reduction, as well as enough distance between motor and drive flange. is HUGE.

Also, the noise was unbearable.

Belt drive on the other hand, has but one major downside over direct drive. The additional bearings and shafts needed to support the drive flange add cost.

5mm bore pulleys are easily obtainable and inexpensive. In fact, future versions may receive a CNC style timing belt drive.

Why not an Arduino?

For a few reasons One, Arduinos lack the general IO I wanted/needed to upgrade this system. Version 1 was driven off of a Nano, and couldn't handle the inclusion of a rotary encoder

Two, I have a few ESP32's laying around from other projects, as well as experience using them

Three, ESP32's are Arduino code enabled. So no need to change code base

Four, ESP32's have integrated WiFi, Bluetooth, and Serial Coms. So if the desire should ever strike to create a webpage to control the winder, or maybe an app. The device is already ready to do so.

Five, ESP32's are pretty inexpensive. For the one I used, $10 for a 5MHz clock, around 20 available GPIO, and the communications above? No Brainer in my book.

Features:

At present the enabled features are:

  • Serial communication readout
  • Multi screen OLED readout, including estimted DC resistance, wire length usage, and RPM
  • Auto Traverse with multiple winding patterns available
  • Variable speed and direction control with Auto Stop
  • Multiple parameter adjustment, including:
    • Bobbin Size
    • Wire Gauge
    • Insulation Thickness
    • Winding Pattern
    • Faceplate Offset
    • Wind Count
    • Under/Overwind
    • Error margin
  • Presets enabled via code edit
  • Manual adjustment of winding via joystick control

In the future a set of coded presets will be included and enabled via the Encoder knob and OLED. With the ability to adjust parameters after a preset is selected. This will completely untether the unit from a computer for general usage.

Parts list

Note, some of these parts come in multiple quantites, prices reflect a Price Per in most cases

  • 550 Motor and ESC, $30
  • ESP32 Devkit-C V4, $10
  • SG90 Micro Servo, $2.50
  • Support Bearings, $2
  • Drive Shaft, $2
  • PCB, $8 for 5, with S&H included (minimum order)
  • Cymbal Felts, $4
  • Optical Sensor, $1
  • Potentiometer, $1
  • OLED, $5
  • Rotary Encoder, $2
  • Switch, $1
  • Drive Belt material, $5
  • Main Drive flange, $4

Links Will be added at a later date.

But what about those 3D parts

Critically, none of the 3D printed parts are a deal breaker for the design. The original V1 design (located below) used a plexiglass mount plate and no 3D printed parts.

The belt drive tower can easily be fashioned from a pair of plates, perhaps even wood. So long as the motor can be mounted to it via the faceplate screws, and the bearings fit with enough space for the encoder wheel, the rest is optional.

The encoder wheel could be simply made with a block of material with a hole through the center, colored white on one side, and black on the other.

the servo cradle is a nice but not required extra. The original was held down by a plate secured with two screws (see V1 below)

The control box isn't required, just makes things a little nicer to look at. A simple piece of thin stock with holes cut in for the power jack, knobs, and switch is all that's needed.

Some parts iterations.

Previous version, and Gear drive towers

IMG_5634

Changes to pulleys

IMG_5638

Servo cradle designs

IMG_5636

Original V1 design

IMG_5275 IMG_5626 IMG_5628

The original design utilized an Arduino Nano microcontroller, with a direct drive motor, and custom infared light gate. With a circuit board built on a solderable breadboard. This functioned as an excelent prototype but had a few key problems I wanted to update.

First and foremost, direct drive has it's downsides. While being the quietest operation, it requires specific motor selection to achieve, as 550 size RC motors are classed by turn count, with 12T being a low torque high speed, and up to 80T being high torque Low speed. Problem is 12T models are the most commonly available, and the speed controller can't control them effectively at the 1000 RPM range, and the available torque is borderline too low to overcome the wire tension.

Additionally, the direct drive requires adding the magnet to the flywheel for the hall sensor. This causes vibrations near the top speed. Lastly, the Nano lacked the complete GPIO desired to run an OLED, encoder, servo, potentiometer, switch, and extras. With the lack of an OLED and encoder, the system was permanently tethered to a computer for serial programming and monitoring.

Parts

16
QtyValueFootprintReferences
6Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1,ServoDrive1, J2,MotorDrive1, J2,PowerSW1, J3SensorDrive1, J5,SpeedPot1, J6,USBJumper1
2Screw_Terminal_01x02TerminalBlock_4Ucon:TerminalBlock_4Ucon_1x02_P3.50mm_HorizontalJ4,PowerIn1, J4,PowerIn2
18P8CConnector_RJ:RJ45_Amphenol_54602-x08_HorizontalJ1
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1,I2CScreen1
1Conn_01x05_PinConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1,RotaryEnc1
1Conn_01x09_PinConnector_PinHeader_2.54mm:PinHeader_1x09_P2.54mm_VerticalJ2
1ESP32-DEVKITC-32EESP32_DEVKITC_32E:MODULE_ESP32-DEVKITC-32EU1
1L7805Package_TO_SOT_THT:TO-220-3_VerticalU2
1LEDLED_THT:LED_D5.0mmD1
1RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1

Questions

How big is the Winder V1 PCB?

It measures 72.6 × 51.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Winder V1 use?

16 parts, built around the ESP32-DEVKITC-32E and L7805. 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 V1 KiCad files?

From the AnotherBuildCorner/Pickup_Winder repository on GitHub, at the commit this page was made from: the board is PCB/Winder_V1.kicad_pcb and its schematic PCB/Winder Joystick/Winder Joystick.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Winder V1 design in my own project?

Its repository states no licence, so its author keeps all rights: ask AnotherBuildCorner before reusing the design.

Similar boards

  • 2 layers93.4 × 57.9 mmESP32 RST Monitoring, the printed circuit board in 3D

    ESP32 RST Monitoring

    CasuariusSYC/3-Phase-Electricity-Monitoring

    This project is a module to monitor the status of a 3-phase electricity supply and record any power outages. The data can be accessed wirelessly. Currently, the features are limited to detecting the power state only.

    32 parts
  • 2 layers80 × 100 mmWifi clock, the printed circuit board in 3D

    Wifi clock

    VJPatz/wifi_clock

    WiFi-synced clock using ESP32 + custom PCB. Drives 7-segment display via shift registers. No RTC needed.

    19 partsMIT
  • 2 layers93 × 67.5 mmControl Board V2.1, the printed circuit board in 3D

    Control Board V2.1

    AnotherBuildCorner/Relay_Switcher

    DIY Relay bypass switcher for audio applications

    42 parts
  • 2 layers48.8 × 50.4 mmServer Motherboard, the printed circuit board in 3D

    Server Motherboard

    DDeGonge/MiniBot

    Super cheap super tiny bots for....playing chess...

    110 parts47MIT
  • 2 layers393.7 × 165.1 mmUpdated LOAF, the printed circuit board in 3D

    Updated LOAF

    OSHE-Github/Smart-BREAD

    Creating an HMI for the BREAD Ecosystem, as well as a conveyor belt to be paired with the improved computation capabilities of the BREAD system.

    91 parts1
  • 2 layersCircuit smart soja, the printed circuit board in 3D

    Circuit smart soja

    virgile-tchidehou/smart-soja

    An autonomous IoT-based mobile system for soybean pre-processing, integrating embedded systems, industrial automation, solar energy and cloud connectivity.

    81 parts1MIT
  • 2 layers95 × 40 mmENG3000, the printed circuit board in 3D

    ENG3000

    Voyrox/ENG3000

    Free marks

    23 parts1MIT
  • 2 layers150 × 81.5 mmMotoStudent, the printed circuit board in 3D

    MotoStudent

    achrafjdidi/MotoStudent

    15 parts