Arduino Controlled Magnet Wire Coil Winder / Insulated Wire Spooler

Hello All,

I am posting as I am looking for guidance / suggestions for my project. I am trying to make a small machine to coil wire, both magnet wire and insulated hook up wire into small coils or spools. From the research I have done I have not found anything exactly like this besides the ready made machines that cost $3k+. The DIY projects that I have seen are flaky at best and I have only found a few slightly similar projects online for winding wire coils (from magnet wire) and none for insulated wire too, and besides that they were mostly not complete projects or theory based.

Anyway my goal would be to wind wire ranging from 30ga Magnet Wire (~0.25mm) to 22ga Insulated wire (~1.5mm) cumming from bulk wire spools into small coils ranging from 5ft - 100ft. I started a very crude version to get going using a Arduino Uno, NEMA 17 stepper motor, a DRV8834 stepper driver, and some basic 3d printer parts I threw together. So far I slowly fumbled through some arduino code and I am up the the point where my rig will coil 100ft (hard coded, and manually measured) of the magnet wire (see pics for crude setup) at the push of a button, but I am so far from where I want to be, and I do not even know if I need a completely different setup to do it right. I have a lot of obstacles to overcome like for starters how to get it to coil evenly so it wouldn’t not when removed, and how I plan to be able to switch gauges and lengths. Currently I am considering adding a optical sensor or hall effect sensor to count turns, but not sure how I would convert that to a measurement considering each layer changes the radius. Also considered just hard coding 4-5 switches to run the motor at different hard coded step amounts for now until maybe having some type of user input later on.

So to summarize I wanted to post here to see your guys suggestions and recommendations as far as how I should go about this, if I need to start from scratch, or maybe someone else has completed something similiar I have not found. I love tinkering, but I am slow coding but learning as I go. Ideally I would have something functional quickly (thats why I have the crude rig I made) that I can add on to and enhance as I go.

I am open to hear any and all constructive suggestions, thoughts, ideas, or anything else helpful:)

Thanks in advance for help.

Images from Original Post so we don’t have to download them. See this Image Guide





I suspect the simplest way to measure the wire is with a jockey pulley whose revs can be counted by the Arduino. You could use an optical or hall effect sensor to measure revolutions. Because the pulley is a constant circumference it will always measure the same regardless of how deep the wire is on the take-up drum or the thickness of the wire.

The DRV8834 is a low voltage driver. Stepper motors work better with higher voltages - but if you have enough torque with the DRV8834 stay with it.

If you use a jockey pulley for measuring there might be no need for a stepper motor - a simple DC motor may be sufficient.

Some systems have a device to move the wire from side to side on the take-up drum to get smooth layers.

Stepper Motor Basics
Simple Stepper Code

I only can see mechanical problems in your project, which do not affect coding at all.

For winding I'd use a DC motor, not a stepper, but that's a minor issue. In any case you should use a revolution sensor (simple rotary encoder) for counting turns.

Professional machines most probably have a horizontal guide, that assures proper filling of every layer on the spool. They also may have a tension control, which assures flat coil layers, and also alerts when the end of the wire was reached. You can find such mechanisms in sewing machines, just to get ideas how such features can be constructed.

Once you have ideas how your machine finally will look like, the code for the required sensors and actors can be added.

Just to be clear, the coils of wire do not stay on any kind of form or spool, right? The product is a coil of wire by itself.

Students using kits I make really disliked wire that was not on any spool; it tended to rats-nest and tangle. This last year I found someone who would put #22 solid insulated on small spools. 1600 of them.

What is your objective? Is this to make a product?

Nice work so far; the code should not be a hassle. Have you seen stepper libraries like Accelstepper?

Thanks for the replies guys!

Robin: I like the idea of the Jockey Pulley! Great suggestion I am going to look into implementing one today. Also my mistake my driver is a DRV8825 running on 24v currently.

DrDiettrich: I also was thinking of a horizontal guide mechanism just like you mentioned, but I have not thought of a easy way to implement it. My wife kept using the sewing machine reference, and I just kept hearing "just use a sewing machine" and I kept thinking to myself it is not as easy as that :slight_smile: haha

Anyway I am now wondering now if I add a jockey pulley setup for proper measuring on all wire gauges if I could have that somehow slide back and forth slightly to act as a horizontal guide to assist in keeping the layers level and even.

Terryking228: Thanks yes, I started using accelstepper from some examples, then actually reverted to controlling the driver directly with the arduino. Mostly just because it was a bit easier for me to get working at this point not knowing the language very well yet, but I have accelstepper ready to go and may convert to it any time is seems appropriate, or possibly switch to a regular DC motor as some have suggested too so It is partially dependant on that, whichever ends up being more effective for the project.

I had hoped to be able to use this project for both small wire coils with magnet wire that would just be packaged in a zip lock bag as well as on spools too which is especially useful when I do the larger 22ga wire in 100ft increments. I actually hope to use this for electronic kits for a local school as well!