Progress Report Weeks 3-4

The last three weeks have been incredibly busy and highly productive. I have advanced my project by leaps and bounds and am well on track to having everything done. That being said, every milestone came with a new set of unforeseen challenges, all of which have been overcome so far.

Much of my time over the last few weeks has been dedicated to my new 3D printer! After realizing the vast need for a 3D printer this project requires (and some other personal motivation, i.e. fun) I decided to just get my own and make the whole process much easier. I won’t go into all of the details about my 3D printing experience, but in a nutshell I have started to really fine-tune my prior skills and have been printing enclosures and parts for the past several weeks. Most of my enclosure design has been for the pickup bodies themselves, as these must be elegant and precise for maximum performance. These enclosures house the individual pickups (6 per enclosure, two enclosures) as well as the perfboard they are wired to. Each pickup needs to be at a specific height, as each guitar string vibrates with a different intensity. After much trial and error, I found the correct heights for each pickup, and modeled them into one enclosure. Here is a screenshot of the 3D model of the pickup enclosure:

Screen Shot 2019-03-04 at 10.08.01 PM.png

And here is a photo of the printed enclosure with mounted and wired pickups:

IMG_1971.jpegAs you can see, each pickup is one individually wound magnet! I did these myself and it took an eternity. To save space while still having the amount of wraps needed for my target resistance (10 ohms per pickup) I used 42awg wire. This is about as thin as hair and is even more fragile. In other words, it is a huge pain to work with. However, it does make it possible to create really small pickups! This wire is wrapped around 5mm tall and 5mm wide cylindrical rare-earth magnets which are incredibly strong for their size. To make winding each pickup as easy as possible, I repurposed an old project containing a stepper motor to make my own pickup winder. I combined this with a few quickly 3D printed parts and it made my life significantly easier. Here is a photo of that contraption:

IMG_1966.jpeg

Over the past couple of weeks I have also optimized my software and circuitry. I greatly improved my sampling process so that it now only takes 11 microseconds to read the value of one string, so ~60us in total. My pitch detection algorithm is also much faster now, taking about 10ms for 90% accuracy. 10ms might seem like a lot, but this only needs to happens for a couple strings at a time, so it should be fine. I also developed a highly functional and greatly beneficial preamp for the detection side of my project. It is just a simple inverting op-amp gain circuit, but dialing in all of the correct values took a good deal of time. The problem here is that if any clipping occurs on the input, harmonics are added and thus the detection algorithm becomes less accurate. Here is the preamp circuit that will be on each string’s pickup:Screen Shot 2019-03-04 at 10.40.21 PM.png

The task I am currently facing is on the output side. While I have successfully used additive synthesis to accurately recreate the timbre of a guitar string with the Teensy audio library, the overall output is still less than ideal. It is loud enough to be heard, but I want more! The problem here is that my audio is coming from PWM output, which is limited to an amplitude of ~1.6V (3.3V/2). My first (and stupid) attempt to improve output signal was to use an op-amp gain circuit to boost my signal. However, I powered the op-amp with the Teensy, so its range was still capped at 3.3V. It took me a while to figure out why my signal was not being amplified like I thought it would… So after realized my dumb oversight, I tried the same circuit with a 9V battery powering the op-amp. This helped quite a bit! However I still want more power. My next experiment will be to use a step-up converter to turn my 5V USB/Battery power to 12V to power the gain circuit, and hopefully that will be enough.

So what is left?

  • Increase output energy
  • Perfect synthesis
  • Make another pickup (meaning 6 independent pickups in one enclosure)
  • Make an enclosure to house all circuitry (PCB and Teensy)
  • Design PCB (circuits are done, just need to redo them in KiCad)
  • Figure out keyboard/key pads… (saving this for last as it can be compromised if needed)

Leave a comment