Pi Coil winder

From Hammond music coils to old Miller plug ins, it seems this style is a lost art. Lets keep it alive and open source.

Public Chat
Similar projects worth following
Low capacitance, High Q Universal coils have been used extensively in the 1950s to 1970s before being phased out for cheaper simpler options with the introduction of ferrites. They were used in everything from music equipment to televisions.

At first, it was merely an idea and a desire to create a better quality coil for various experiments in music, as well as high voltage. There is not a lot of information, and companies are super secretive regarding methods and techniques. There's only a handful of companies that can wind these specialty coils and there often is a wait list due to backlog.

You will absolutely not find this coil in anything consumer grade, these days the coils are only used in precision equipment in aerospace, medicine and military.

This started out as a simple discussion between I, and 2 others as a means for eeking out some extra power and creating more accessible coils that aren't simply unrectified flybacks or automotive ignition packs for high voltage experiments. I would never have thought I'd gotten this far-

My friend said it would be easy and sent me a 5LBs spool of 1970s 37awg copper wire, an Arduino nano loaded with half finished code. A tiny servo all hot glued to a vinyl floorboard with 3d printed parts. When it finally arrived, it was broken so I couldn't test it or pick up where he left off So I shelved it for a few months and after frying my final and nice flyback out of an ionic air purifier and constant searching goodwill for a new one to salvage. The pandemic made everyone keep them or get bought up... so it was time to revisit.

It started with research, as always. There was not a lot of information to be found, but I did keep coming across MoReCo winders, a home winding assembly for HAM radio enthusiasts. I had to reach out to folks who had one to get close up pictures of the feed head. From there I sourced pololu drivers, 2 nema 17s and decided it would be easier to use pre-existing code to modify and a pickup winder on github seemed to fit the bill, however it required me purchase more parts.

I rebuilt that thing 3 times, added a spring tensioner and had semi acceptable results however inconsistencies and slop ended up creating issues. So armed with a good idea of the basic principle which is a set motion of left, right for the feed against the 360* divided by n turns plus a few degrees added or subtracted to create the phase shift I ended up purchasing several 2020 Aluminum extrusions, a linear rail actuator, NEMA 23s, proper drivers and revisited some of the original issues of the George Stevens machines. They had a pivoting arm, which would change the placement of the wire feed due to the axis arc as the arm raised when the coil was built. So I added a small Z axis to the rail to raise it straight up and put it on bearings so it would raise with the coil only under pressure of the weight.

I also had to purchase a proper magnetic dampening tensioner and also mounted the spool on the rail because my thought is rapid left/right motion with a static feed is going to create constant bouts of slack and consistent tension is important to create these coils.

Countless failures (they kinda worked but werent professional or cleanly wound), contacting several companies to try to source parts for the feeder head, many of them had no clue what the style was and were confused. Spellman High Voltage had to direct me to the company "historian" who informed me anyone who knew about it either has passed away, or retired. Those who did know, of other companies were super secretive. Refused to sell parts, and only would make "custom order machines" ranging from 10k to 30k

Since experimenting with various feeds later I ended up coming across a book which is impossible to find, but has a .pdf online. "Coil winding by Geo. Stevens" It confirmed everything I learned by trial and error, also gave me a little bit of new information. I also contacted the company since they were still in business. Peter was super helpful, shown me a few pics of the original machine and feeder heads, some videos of companies that use the winder that are public demos on youtube. I asked if he had any extra feeders, or knew who made them- he contacted the company that used to make them for me and the quote just for the tiny little head was $617... Back to the drawing board.

So, I attempt to revision the coding and add proper formulas to scale it because I assume this is why it keeps unravelling. Some trig x y plot math, circumference formulas Iended up with a formula I can manually adjust the arduino sketch to properly scale but it still didn't address my need for dynamic non-blocking x/y plot where the distance remains static, however the arm feeder speeds up to retain the original optimal...

Read more »


Internals of the magnetic tensioner

JPEG Image - 2.05 MB - 08/04/2022 at 21:36


JPEG Image - 3.21 MB - 07/15/2022 at 17:04


JPEG Image - 3.02 MB - 07/15/2022 at 17:04


JPEG Image - 2.74 MB - 07/15/2022 at 17:04



Nextion HMI file.

hmi - 1.12 MB - 07/15/2022 at 16:54


View all 19 files

  • Wider coils

    Brett07/21/2022 at 16:34 0 comments

    A good amount of the coils are multi-wind- not sure about the correct terminology, anyways these typically are in tuner circuits for RF, and I have not yet attempted to try winding one yet. Today that changed.

    Typically I wind my coils with a division of 360* example 180* x2 or 90* 4 ect. To pull off these, which resemble a wind of yarn and create a wider coil, you will go in too steep an angle if you use the original formula so... How I did it was I set the width, and did almost one full rotation and moved the winder right, one full rotation left. Here's the snippet;



    the minus 10 degrees creates a phase shift, and this created an exact of the originals. How wide it is, and how many 360s determine how many overlaps it has, remember we want to use 78* angle to wind, it provides the best results of grip and retaining the shape so it doesn't slip off the edge see:video. I also noted it is scraping some of the insulation, I believe this is because the width isn't set properly, or perhaps too tight spacing or too thin/narrow a bobbin (guitar slug) against the wire gauge.

  • Basic Construction and operation/setup

    Brett07/18/2022 at 16:49 0 comments

    Seems like folks need some help creating the basic construction of the machine. My first one was made with less than $60 worth of parts, the rest of it was junk bits I had laying around. You can see it in the picture files. A dial gauge indicator and Square will help keep things accurate. 

    You want the linear rail to be absolutely as square as possible to the bobbin mount / "lathe" part. You can either use collects, chuck jaws, rings with grub screws. Now the X motor, which is the bobbin mount has to have as little runout as possible. I used pvc and pex tubing with double sided sticky tape for weathering windows to make the first layer.

    For the base I started out with a pine board and aluminum L brackets, which now I am using a combination of 2020, 2040 aluminum extrusions which are either purchased on amazon or any cnc/3d printer maker store.

    The motors, I started with NEMA 17, which is fine, later upgraded to NEMA 23- both were open loop as I had bad luck with closed loop types but supposedly closed loops are better.

    The drivers pololu style are not the greatest, but it's what I used to begin with which later became logic level driving DM542T, they can run off a 5v signal- if you choose to use a raspberry pi, you will need to purchase TSX0108E logic level converters that are high speed, and bipolar so they can convert RPI's signals to the appropriate voltages.

    100uf (V rating should be 2 to 3x the value you plan to run the motors at, I run mine at 20v, so 50v tolerance) decoupling caps is advisable, you can use an arduino CNC shield.

    Not necessary but I like to do is braid/twist the GND and respective driving signal wires together to keep noise down. You can strip an old usb and use the braided coax over as a sleeve and tack it to earth ground/chassis. I would not advise using the wires within the USB as they are meant for 5VDC and low wattage. Ideally you want 26AWG braided wire to run the signals to the motors.

    Loctite blue can help keep things square and prevent vibration from rattling a grub screw loose. A heat gun that can reach 550f will break the loctite if you need to disassemble for any reason.

    Tension is important, if you can get the appropriate AWG magnetic tensioner, do it. Mine is for 42AWG to 37AWG, however if you cannot what I used with my starting setup was 2 felt discs, a wing nut, 2 washers for the pre-tension/wipe stage, second stage I used a simple spring and pulley through 3 pulleys to straighten and keep tension. Finally an old ice fishing pole's tip, about 8" with a threaded rod and spring that can adust how hard it will pull back up/recoil.

    You want to feed the wire from the spool sitting upright so it feathers the wire off the spool instead of unrolling it on bearings otherwise you'd need to tension the spool as well adding  unnecessary complexity. Besides, it's how all the professional coil winding companies run wire off the spool. Static, and on a post.

    The HMI display was chosen out of convince, it only needs 2 wires RX/TX to communicate, and 2 to power/ground which take up absolutely no pins and it still can be connected to USB as long as you define the pins in the sketch to not conflict with the USB. You could easily make a GUI to run the RX/TX info on your computer/laptop instead of an HMI if it is within your skills. 

    The power source I used is an adjustable lab bench supply which allows me to adjust voltage, limit current and has overall low noise and protections an otherwise dangerous linear supply would. One could disassemble a semi newer junk monitor or TV and use the 32v and 5v taps assuming you know what you are doing.

    The feed arm, I used a simple metal pivoting arm on the linear rail and a U bend of mains copper wire with the bottom smoothly polished and somewhat flattened. Other things that work are a V notch cut into metal, a window seam tool roller, or possibly a V cut bearing with a quarter sanded down. A rigid titanium needle with a ruby coated funnel also will work assuming you...

    Read more »

  • Recreating an original coil

    Brett07/17/2022 at 21:14 0 comments

    So, I have a BEHA gas lamp tester that uses a simple flyback feedback style to generate roughly 12kv to test gas lamps. It has nothing wrong with it but for science I am going to strip it down and other coils to learn how to recreate them.

    First I need to find out the type of wire used. It was potted but I managed to strip the epoxy with a heat gun due to the coil being impregned with paraffin prior potting which allowed it to peel off without much damage.

    1. OD of wire is 0.07mm
    2. Lit it on fire to strip the cotton/silk and determine whether it is solid, or litz. It was solid, 0.05mm so roughly 41 to 40 AWG cotton, nylon or silk severed enamel coated wire.

    3. Next I observe the top of the coil, it has a bike spoke pattern which tells me it is an even number of bends as per the coil winding pdf listed in the files I have included.

    4. Now this is where it gets hairy, 15 spokes raised from center to edge, 15 sunk from center to edge, 30... to check if my math is correct I take the wire dia 0.07mm x 30 = 2.1mm now to check the height of the coil against the math. It measured 4.17mm so my assumptions were incorrect. 0.07mm x 60 = 4.2mm is the correct math, however it does not resemble 60 turns for a coil. It looks more like a 1,000 turn because I have wound similar ones, so what is missing?

    5. The thing here is, to make ONE full layer which is the height of the wire dia x 2, it needs to go around 360 more than ONE revolution. The circumference of the bobbin, width of coil, n total bends, phasing/spacing and wire diameter determines the total amount of 360* revolutions that are required to create one full layer, and the amount of times it did this will be 1 times the total height of the coil in this case it was 60, and assume it took 40 revolutions to create 1 full layer so 60 divided by half (because it overlaps it created 2x the wire dia as a single layer) now we are left with 30x40=1,200 turns.

    That seems a lot more accurate to create 12,000 volts. (2x9v batteries = 18v, subtract losses, say 70% efficiency which is 12.6v assuming fresh batteries. 12.6v x 1,000 turns... BOOM 12,000 volts. Math is your friend.

    6. So, how do we get that total 360* revolutions number to know exactly what to input into the turn amount? First we find C, for circumference. This is the OD of the coil bobbin. Let's say its 16mm So where C is circumference, we put 16. Example C*3.14= is 16*3.14=50.24mm total surface circumference.

    With that number, now we need the coils width, and the wire diameter/spacing. I have one that's 3.25mm wide now we divide that against the wire diameter. Say the wire dia is 0.07mm... 3.25 divide 0.07mm equals 46.42 total revolutions to create one full layer that is wire diameter * 2 (due to overlap)

    So, lets back up a bit to the coil in question I am trying to recreate.6.37mm wide divided by 0.07mm OD of wire =91 now 91*30=2,730 total turns. Whups, probably more like 20kv anyways it is not as wide as my 1k coils on a 16mm bobbin, however it is not a "pi" wind, its either progressive, or retrogressive and it un-evenly moves a little to the left or right gradually building layers interlocking them increasing the width all while retaining the high Q low, Capitance quality. I have mostly been focusing on "pi" style anyways. That's y'alls lesson for today, again if anyone thinks they can help with coding to flesh out the features let me know.

  • Current Status

    Brett07/15/2022 at 17:17 0 comments

    Just recently modified the wire spool to have a smoothed down PC fan grill as a guide to keep the wire off the rim of the spool since its old and rough, kept snagging.

    Still looking for someone to help convert formulas to code, flesh out the rest of the winding and upload it to githib as a multi-winder. I need some type of non-blocking dynamatic speed shift to adjust a single speed of the feeder to retain the original angle as the circumference grows.

    Also looking for a mechanist to recreate the feed head, and create a few extra simple parts.

    As the coding stands it's bare bones that's been manually adjusted. DM542T drivers toggles are:

    1. on
    2. on
    3. on 
    4. off
    5. on
    6. on
    7. on
    8. on
    Tensioner is set with 9.7 on the magnetic dial, and 10 on the rebound. Wire is 37 AWG basic enameled however nylon severed enamel should be used, or nylon severed litz wire.

  • Video logs

    Brett07/15/2022 at 17:02 0 comments

    A few videos are uploaded to my YT channel, which basically consists of video recordings of the winder in action, as well as me unwinding a coil.

View all 5 project logs

Enjoy this project?



anythingwithawire wrote 07/23/2022 at 19:19 point

OK, but what actual Q values could you achieve?

  Are you sure? yes | no

Brett wrote 07/24/2022 at 00:32 point

ill let you know when i get there, i have not researched too much about coil quality as im focused on fine tuning the machine and trying to make it easier and accessible for the general public, once i get it good enough how i want it cosing wise and all, thats when ill test them more, because it will be easier to just make all sorts of coils to make comparisons.

  Are you sure? yes | no

Gregory Sanders wrote 07/18/2022 at 10:53 point

Quite inspiring! This is a great example of doing a thing by learning how to do a thing.  Thanks for taking time to write it up!

  Are you sure? yes | no

target drone wrote 07/18/2022 at 05:05 point

Nice work! Definitely brings back memories of opening up old radios and admiring the work and artistry that went into them. 

You  can solve the angle problem by synchronizing the cross feed with the amount of wire fed, instead of with the rotation of the core. For example, given a .25" wide coil, trigonometry says that 78 degrees is always 1.202" of wire, no matter what the diameter is of the core.   That length will be constant for the entire winding, so compute that up front. WindingLength=CoilWidth/cos(78) (or whatever angle you need.)

Now that you simplified that part of the problem, convert the current diameter/circumference into the number of degrees it takes to dispense 1.202 inches of wire.   For a current diameter of .5", that's 275 degrees of arc. Angle=(windingLength*360)/(2*π*radius)

After you travel the length of the arc and reverse the direction, you recompute the value for the next arc based on the new current diameter.  You then travel the new number of degrees for the new diameter and repeat. 

This is a very simplified form of integral calculus, but it should provide adequate precision. 

  Are you sure? yes | no

Brett wrote 07/18/2022 at 05:11 point

ideally id want to retain the angle pitch so my solution is as the wire circumference builds, the speed of the feeder increases.  We might have our wires crossed here to be honest. If you want to further discuss it with me and possibly help with code or formula id be game. Also thanks! 

  Are you sure? yes | no

target drone wrote 07/18/2022 at 05:21 point

The speed of the winding process doesn't change the length of wire needed to yield a 78 degree angle between reversals.  That's fixed by trig.  However, I can understand that you might want to slow down the rotation as winding progresses in order to maintain a constant tension on the wire as the diameter of the winding increases.  The same approach would work: once you know the optimum speed for your tension, you'd determine the angular velocity at the diameter at each direction reversal, gradually slowing down as the diameter increases.

  Are you sure? yes | no

Brett wrote 07/18/2022 at 15:07 point

RE:Target Drone I will disagree with you, if you can keep X (bobbin) static and Y (feed arm) dynamic as the circumference grows (think of it like a strip of paper that keeps increasing in length) the corner of left top, to the bottom right a plot line diagonally it will change pitch. This is straight line, no bends. (string length increased) 

Now, however if you have fixed N bends, say it goes left once 180* and right once 180* both fixed and equal widths. The line of the bends will remain the same, yes and as the strip grows- it stretches it like an oscilloscopes hoz time div changing the pitch angle. So what can I do? Increase the "frequency" or rather the speed of which the Y (arm feed) transverses to retain the same angle. I am having trouble finding a library that can handle that kind of non-blocking code execution that will let you adjust speed dynamically while retaining the X Y parameters. 

I do not know if the original machines had some kind of step up speed to pull this off, or if it would be an improvement upon the originals. 

  Are you sure? yes | no

Brett wrote 07/14/2022 at 23:07 point

Sweet, thank you. I will add more information and pictures tomorrow, and an explanation of all of it. I actually have a lot of stuff to add, but mostly been focused on getting it running smoothly.

  Are you sure? yes | no

Dan Maloney wrote 07/14/2022 at 22:08 point

This looks really cool! The banner image is quite a tease of what must be behind those complex coils -- looking forward to more details. Following to stay on top of updates, and hopefully to write it up for the blog. Thanks!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates