While you may or may not need to wind thread on a regular basis, this hack by Mr. Innovative will show you how it can be done automatically. The device uses a motor to turn a 3D-printed spool at high speed, pulling thread from a much larger spool positioned vertically at the other end of the assembly. To keep things threaded evenly, a feeding arm is rotated back and forth using a servo.
As the thread travels through the assembly, it spins an encoder disk that allows it to sense just how much thread is applied to the smaller roller. An Arduino Uno is used for controlling the machine, along with a custom PCB shield. User interface is provided by a small OLED display that shows thread length, as well as a rotary encoder with a pushbutton input. The device features a manual winding mode, plus a mode that enables it to wind a predefined length of thread.
The circuit and code for the build can be found here, and print files are listed on Thingiverse. Parts used are available in the video description if you’d like to create your own, or perhaps you could apply something seen here to your next project!