Jump to content
Why become a member? ×

Guitar Pickup Winder


rwillett

Recommended Posts

Hi,

 

As part of my work on 3d printed guitars, I started thinking about what was the best pickup to use for either six string or bass. Currently my six string has a pair of Tesla P90's which sound great to be honest. I have an 89 MIK Squier Telecaster which I love playing but the neck pickup sounds like, well something very muffled and bad. I did think about buying a replacement pickup but to be honest, I haven't a clue.

 

So I thought about making pickups and wondered how difficult it is. After reading a lot, it doesn't seem that bad to do, you have a bobbin, you have some magnets, you have an awful lot of wire and you turn it. I saw people doing this with electric drills, by hand and by using various automated winders.

 

As I'm stupid and can't resist a challenge, I looked at doing my own pickups. I have a few Arduinos and stepper motors sitting around and I used to be able to code, so had a good walk with the dog to think, had a play with a 3d printer, an Arduino simulator and a lot of coffee.

 

My working assumptions were that the major problems are:

 

1. Actually feeding the wire onto the pickups in a controlled manner

2. Keeping the tension correct all the way through.

 

Since people were using their hand drills to do this, I figured that its not the worlds biggest problems and if I could use a computer, a lead screw and a stepper motor I could control the feed back and forth across the bobbin ad that tension is a simple felt pad to slightly slow things down.

 

So below is the schematic on the Arduino simulator that drives two stepper motors, the top one at full speed and the bottom stepper motor at a far lower speed. The lower stepper motor drives a lead screw that moves the copper wire across the bobbin back and forth with no user intervention.

 

 

Screenshot2024-01-10at17_11_31.png.7bdcc4c6ec1f9d2d89d1e386de4fe62a.png

 

As this isn't a video you can't see it working, but it does :)

 

The actual core of the code is written, it didn't take that long, a few hours for a few days as I tweaked it. What it doesn't have is an interface to enter all the values, such as the number of loops, the gauge of the wires, the width of the bobbin, the number of steps of the stepper motor per revolution, the pitch oft he lead screw.

 

Thats this load of code here.


 

int ratio = 10;
int stepperSpeed = 1000;
// int stepper2Speed = stepper1Speed/ratio;
int noLoops = 10000;
unsigned long loopCounter = 0;
int currentRatio = 0;
char buffer[21];
double coilWidth = 3.0;
double wireWidth = 0.0564;
int stepper1Steps = 200; // 200 steps per revolution
int stepper2Steps = 400; // 400 steps per revolution
int leadscrewPitch = 2; // 2mm
double step = (double) stepper2Steps / 360.0;
double distancePerStep = (double) leadscrewPitch / (double) stepper2Steps;
double numberOfStepsPerRevolutionAsFloat = ((double) wireWidth) / distancePerStep;

 

Putting a simple menu system on here is probably 10x the work of writing the code so am thinking of ways to cheat :)

 

Along with writing code, I started to physicallty put together the start of the winder. This is the first cut, it has an 8mm lead screw that will be attacched to a Nema 17 motor on the left hand side.

 

This stepper motor will move 1 step every 11.28 steps for the main motor that winds the bobbin up. After 3mm of movement, the bobbin width, the stepper motor will reverse and move back. Each step is around 0.005mm of the lead screw, thats the level stepper motors can do even without microstepping (which TBH I don;t know how to do yet).  So as the main stepper motor puts 10,000 loops on, the wire is carefully moved back and forth across the bobbin in a highly controlled manner. Thats the principle anyway.

 

I know that there are screws missing and its a bit Heath Robinson, I didn;t have  many M4 and M5 screws to hand. Moving the lead screw by hand is smooth and allow coils up to 120mm to be wound. No idea what that would be, but thats the options available.

 

IMG_2050copy.thumb.jpeg.b6fc4013469f11040c3177dae3ce1a09.jpeg

 

Next steps are Nema 17 mounts, adding in menus (masses and masses of work), putting in switches to detect the lead screw holder hitting the ends by mistake, adding in PSU, working out CNC shields or stepper motor drivers, mounting on plywood, designing a bobbin holder, designing a bobbin, getting some cheap AWG44 copper wire, but the basics are in place.

 

Thanks


Rob

  • Like 10
Link to comment
Share on other sites

1 hour ago, rwillett said:

...

So I thought about making pickups and wondered how difficult it is. After reading a lot, it doesn't seem that bad to do, you have a bobbin, you have some magnets, you have an awful lot of wire and you turn it. I saw people doing this with electric drills, by hand and by using various automated winders.

 

As I'm stupid and can't resist a challenge, I looked at doing my own pickups. I have a few Arduinos and stepper motors sitting around and I used to be able to code, so had a good walk with the dog to think, had a play with a 3d printer, an Arduino simulator and a lot of coffee.

 

...

 

blimey - i think you've just (re)invented the CNC milling bed 😉

 

seriously, tho', couldn't you just adapt a small CNC m/c to achieve the required movements and control?  (drive the bobbin as a 'drill', rotate and recipricate vertically to add layers, add small X or Y increments as layers increase in diameter?).  I only use my CNC to make PCBs, so what do i know?!?

 

Are you thinking of winding separate ('tubular') coil bobbins per string/pole? or 1 larger oval-type bobbin for a full (or half) width pickup coil

 

Anyway, deep respect to you RW - for taking on not just 1 project here (the coding) but also the physical fabrication

 

All the best - break a (transistor) leg!

 

Edited by sandy_r
Link to comment
Share on other sites

I've already built a CNC machine. Admittedly it was around 800x600mm. 

 

https://forum.v1e.com/t/new-build-in-clapham-north-yorkshire-uk/16519

 

This is not a CNC machine. A CNC machine doesn't have to loop back and forth for the winding. You could program it to do that I suppose in Klipper  or Marlin but itwouldn't be ideal. You could argue it's closer to a 3d printer. Also a CNC machine doesn't get to 0.005 mm accuracy at the price I can afford. Mine certainly didn't. 

 

I also didnt happen to have a small CNC machine lying around. I did happen to have a few arduinos and stepper motors. 

 

 

No idea what I am winding. I'll build it and play. I may not put an input interface and just reflash from a laptop for awhile. 

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Let me build it and see. I'm trying to work out the minimal amount of hardware so probably looking at a CNC shield and a couple of DRV8225 stepper drivers. The CNC shield is overkill but it's cheaper and easier than two dedicated single driver boards.

 

The core software is there. There's zero checking, no input whatsoever, it's all hard coded. I'm thinking that I'll just reflash from the Ardunio sketch if I change any parameter.  

 

Focus will be getting the stepper motor mounts done, working out the motor drivers and the inevitable changes to the pinouts, putting it all on a small sheet of ply and checking it all lines up. 

 

Then I'll print the simplest pickup I can with my own 3d printed bobbin.  Dip it in wax and see how it sounds. Might be junk, might be great. 

 

Then and only then will I look at anything else

 

  • Like 2
Link to comment
Share on other sites

When you get an idea of the friction of the wire, I would love to hear about it. I suppose it has to be there, but the amount is probably very small.

 

These seem to be somewhat bigger units:

https://www.google.com/search?q=pickup+winding+machine&client=firefox-b-m&sca_esv=597319875&tbm=isch&sxsrf=ACQVn08j79wGbXXnlpUUiNitxvLqIC7bxw:1704922076704&source=lnms&sa=X&ved=0ahUKEwjjjYHW4dODAxVaJxAIHa5ED8kQ_AUIBygC&biw=360&bih=676#imgrc=adN7N54FstA_MM

Link to comment
Share on other sites

Thanks I've seen those type of pictures. There seems to be a range from a drill attachment to all sorts of mechanical devices through to computer controlled ones.

 

I was looking at this as I wanted to get different pickups for my 3d printed guitar to see what else it might sound like, and I realised I knew little about pickups, so decided to learn a little. I realised then, that they aren't that difficult to make really. My understanding was that the first Fender ones were literally made by hand as people looped wire around the bobbins. So the people who made them did their best to get it right but clearly each one was randomly made. Perhaps thats what made them interesting. Modern pickups will be very, very similar as they will be computer controlled.

 

The advantage of the Arduino for me is that the actual code that controls how the wire is laid across the bobbin is, checks the sketch, 13 lines long.  and one of those lines is a comment :) Now if I wanted to change the winding to be more random, thats pretty easy, I could put more wires on the top or middle or bottom of the bobbin, I could do a patern where the wire goes across the height of the bobbin in one loop so it's almost diagonally wound. What effect this winding has on the sound is a mystery to me. I am told silver wire has fantastic sweet sounds.  If I get this working and I can afford a small reel of silver wire, I may find out.

 

If nothing more, I'll get a better neck pickup for my Telecaster :)


Rob

  • Like 1
Link to comment
Share on other sites

Three buttons to change parameters - one to cycle through the parameters on the screen, indicating which is current with a flashing dot by the side of it or flashing the value, and +/- buttons to change the value. Use ezButton to simplify debounce, etc. Have a fourth button for "run". Shouldn't be too intense.

Link to comment
Share on other sites

6 hours ago, rwillett said:

...

 I am told silver wire has fantastic sweet sounds.  If I get this working and I can afford a small reel of silver wire, I may find out

...

 

interesting concept about silver affecting tone

 

i have a small reel of silver wire for jewellery repair and i've tried some in electrical circuits. Although silver is much less reactive than copper (hence silver being good for making contacts more corrosion-resistant), there is very little difference in conductivity, so sadly it's very unlikely that a silver coil pickup will sound any different to a copper coil pickup 😣 

Each turn of wire needs to be insulated from the next - laquer-insulated copper is readily available (for winding coils!) but similarly-insulated** silver wire might be more difficult to find (and even more expensive)

(** i think you can get some types of wire which are cotton insulated but the relative bulk of the cotton would be impractible for a pickup-sized coil - and auto-winding would be a nightmare!)

 

not trying to dampen your enthusiasm here - this sounds like a great project!  will follow with interest.  don't worry about the user-interface for now, that can always be retro-fitted (and might need to change anyway, as you learn how the winder behaves)

 

good luck with the project, have fun!

 

Edited by sandy_r
Link to comment
Share on other sites

This is where I read about silver vs copper wire. 

 

https://mwswire.com/guitarpickup/#:~:text=“Pickups wound with silver wire,very nice and regular coil.

 

Silver wired pickups are not top of my list but the people who supply it think it different. I look forward to trying gold and rhodium wire as well 😊

Link to comment
Share on other sites

5 minutes ago, BigRedX said:

Are you going to be able to program this set up to do "scatter winding"?

I was wondering that too! Sort of like a euclidian random walk? In terms of the benefits to the sound it might help you sound like a drunk with concussion? Joking aside it's supposed to even out the magnetic field or something?!

  • Like 1
Link to comment
Share on other sites

27 minutes ago, BigRedX said:

Are you going to be able to program this set up to do "scatter winding"?

 

Thats the intention. It needs some sort of directed randomisation, which does sound a contradiction.

 

I'm slightly nervous about how random things are on an Arduino. For those of you who play with IT, true randomisation is quite difficult. No idea how the randomisation works on this sort of low level kit. Suspect it's not random at all though.

 

Thats futher down the path though. The first priority is getting it working for simple windings and getting the interface done.


Rob

  • Like 2
Link to comment
Share on other sites

19 minutes ago, bloke_zero said:

 [random winding]Joking aside it's supposed to even out the magnetic field or something?!

 

random winding can help reduce self-capacitance in a coil, and depending on the capacitances involved that may or may not be sufficient to improve the high-frequency content in the output - not sure that it will make any significant difference to the mag field though - will probably mean that you get less turns per unit distance, because the turns don't sit together so compactly, resulting in a less-hot signal in general

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, rwillett said:

I was hoping that silver wire would help me lose weight, regain hair loss, improve my diminishing IQ and make me more attractive to women and not just dogs. 

Has to be Welsh silver. Check with  @Owen as I'm sure that's his secret.

 

 

Edited by Richard R
To be clear, that's his secret to being the debonair man about Bangor that he is. Not that he used to have a problem with forgetfulness, alopecia or canine attraction
  • Haha 1
Link to comment
Share on other sites

Just did a little digging. I expected the random numbers to be awkward on an Arduino but surprisngly they have a trick up their sleeves.

 

https://www.arduino.cc/reference/en/language/functions/random-numbers/random/

 

void setup() {
  Serial.begin(9600);

  // if analog input pin 0 is unconnected, random analog
  // noise will cause the call to randomSeed() to generate
  // different seed numbers each time the sketch runs.
  // randomSeed() will then shuffle the random function.
  randomSeed(analogRead(0));
}

 

Most PC's don't have GPIO pins so can't do this, so use the suggestion @neepheid has proposed. As there are hardware input pins, they can be read and will generate some sort of randomness.

 

Perhaps not as difficult as I thought.


Rob

Edited by rwillett
  • Like 1
Link to comment
Share on other sites

It strikes me that a seed for randomness in generating a random sequence for scatter winding is not important, in fact I can imagine that each scatter pup being randomised in the same way could be an advantage.

 

Sam x

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...