After some redesigns to the circuit board and a lot of grinding and sanding, all the parts now fit in the guitar and it has been reassembled.
I also added some new pickup as the old ones weren't great looking and were also low output. The new ones are a bit louder and have a cool chrome lipstick casing, so look a lot better. I may have to install a pre-amp at some point just to kick the output up a bit.
I can now play with the software to try out some new guitar ux combinations to find an optimum way of mixing volume, tone and pickup selection. I originally have a combo sensor that indexed through all the possible combinations, but dropped that in favour of individual on/off sensors.
I now need to think about how to mix the different volume and tone settings for each pickup - it's not as obvious as you think when you can have individual adjustment and combination adjustment at the same time. When do you switch from one to another, for example.
I also added a smoothing function to volume changes so you don't get sharp clicks in audio on pickup change, and also tried some different variations on logarithmic scales to try to mimic the audio scales used on high end hifi (most logarithmic potentiometers are really two linear strips, so I can do a lot better with digital emulation).
I also plan to try some optimisation of the tuner, try some out-of-phase pickup combinations and perhaps even some digital effects. Watch this space...
I have picked up the guitar again after a while and started on the home run to finish it. First problem, the body is carbon composite, so conducts electricity. Good for noise reduction, not so good for the wires I was using for capacitive input, they all shorted out on the body and nothing worked. A bit of headscratching later and a check with a multimeter confirmed I'd need insulation.
The solution was to buy some nylon sheets and use these to space out the wires so that they don't touch the body. I also moved the Arduino board slightly for test and replaced some ribbon cables that weren't 100% reliable. I've also ordered a new USB extension connector so I can run the Arduino when it is encased in the guitar, possibly from a battery, more likely from a mains power source.
I've also optimised code slightly, modified thresholds for touch sensing and turned off pickup combos for the moment whilst I debug the volume and tone circuitry, which isn't working right now. When I say not working, it transmits the signal beautifully, but the controls don't vary volume or tone. Time to get the oscilloscope out and trace some signals.
Also, please excuse the playing, I really should have tuned it first and taken the time to choose a good tune!
I have two Bond guitars, one that is 100% original and one that was found unfinished at the factory after it closed. The second one was missing its 80's electronics, but had pretty much everything else. Most Bonds end up being made into passive guitars when the electronics eventually fail, but I had an idea...
As it was incomplete, I decided to bring this one into the next century and instead of attempting to find replacement electronics from the 80's (which would be impossible in any case) I would design and code a new Arduino based guitar control system - the Bond Cyberglide (I may change that to a less cheesy name when I think of one).
Originally I wanted a clean analogue signal path with relays to switch signal and digital pots to change volume and tone, but then decided it would be more interesting to not bother with relays and allow the mixing of all three pickups with varying volume and tone on each. That means of course a very clean amplification path within the guitar to retain the tone.
I also decided that a built-in tuner was in order, plus touch sensitive controls and of course a full colour display to replace the 3 digit LEDs in the orginal guitar design.
I started by getting a Arduino Mega 2560, a breakout board for the digital and analogue I/O and lots of digital potentiometers and analogue amps to manipulate the pickup output.
My first challenge was that the pickup output was a low AC voltage and I needed everything to be positive voltages for the digital pots. So amplify and offset by 2.5v so that the voltage swing was between 1 and 4 volts at peak to give me some headroom. Do all the voltage and tone work at this amplified voltage, then step down for more normal instrument output. That may not be the best way to do things, but it was the first idea I had and it worked.
I also breadboarded this all and started looking at the tuner circuit and code. The tuner takes an analogue input from the amplified pickup output of the bridge pickup and feeds it into the Arduino A/D input. From there the code looks for identical slopes in the signal by sampling at a fixed rate and calculating the slope between several samples. Same slope should mean the same place in the signal. Quite crude, but it needs to be to run fast and it actually is quite accurate. I still need to speed it up and get it to lock on better, but it does get the notes right.
I would also like to get the guitar resprayed into a pearlescent white, but that may be too expensive for a prototype. Eventually though I'd like to try to industrialise this so others can copy the design for the remaining dead Bond guitars out there.