I posted on “STEEL GUITAR BUILDERS” on Facebook. You can look through without joining.
ESP32 is similar to the Arduino, I use the Arduino platform when I’m programming. It is similar to the Arduino but with much more features.
The code for the bottom Transmitter have about 63 lines of code and the main controller have over 200 lines of code. but overall not too big.
All servo’s have internal position monitoring potentiometers. That is what I use. The (90%) I use in the code as neutral position gets calculated by the controller as the position between 0% and 180%, the travel of a normal servo.
Servo’s price on e-bay is round $25usd per servo.
ESP32 cost less than a loaf of bread, about $8 on e-bay
The only issue with the servo’s is that they are a bit noisy. I ran out of space therefore I do not have much space for sound proving. I need to get something that is small/thin with good sound filtering.
Hmmm. It says ‘only members can see who is on the group and what they post’.
Hoping to hear from the moderator soon.
Are you talking about acoustic or electronic noise. I see you have the interior all covered with copper sheet… I was thinking of pulling from the nut, so as to keep the servos away from the pickups. My friend who makes MOYO steels does this, and it works fine, although you have to get used to tuning left-handed.
Acoustic noise is another issue. Especially if you want to be able to disperse the heat! I’ll have to think about it. Does your instrument get warm all boxed up like that? Soundproofing tends to be a lot the same materials as weatherproofing, so that might become an issue if you start trying to get things really quiet.
So you use 180 degree servos. And you find the positioning to be precise enough to get accurate tuning? I guess that’s something I was worried about. Do you use the full 180 degrees? What’s the response time on those servos? I’ve been seeing 60 degrees in 0.15 seconds a lot. That’s probably plenty fast enough.
What’s the thinking with wireless pedals? You still need to run a power cable, right? My keyboard pedals run a teensy configured as a midi interface, so I can just plug them into the keyboard with a usb cord. Don’t know if that would be appropriate for this application. There’s presumably a better serial protocol to use, but usb cables are nice in that they are widely available. (Is that a USB port I see on the bottom of your guitar?)
Guess I’d be worried about trusting my music to wireless, although at such close range it’s probably not an issue. But wireless audio seems like a needless potential loss of audio quality for an instrument that can’t move around. Stage lighting and other wireless devices in the area can mess with even rather expensive systems, although I guess it seems like these days it’s pretty rare… But I don’t like the sound of wireless headphones and don’t use them. I’m sitting down in one spot, so I’ve never felt the need.
I guess for your frequency counter to tune the strings for you, it needs to know when you are not using the bar. Otherwise it will be constantly trying to adjust to your playing, right? Or will you just have a push button to tune the strings? That would be nice! There was a lot of discussion of this on the Steel Guitar Forum a couple of years ago… there might be a way for the software to tell that you are no longer trying to move the bar, and then it could adjust… but what about vibrato?? I’ll be curious about what you come up with.
If your on Facebook I can invite you.
Gear noise, there are no noise on the amp, except when I upload code it pick that up but not while I am playing.
No I have no heat, servos run happily on 38deg, the micro controller run at 48-54deg.
I only use between 10deg to 40deg of available travel on the servos, I have only one servo with slow response, will swap him out after I replaced some IC’s of one failed servo.
I actually run the servos on a 40mil sec delay before they start to respond.
Wireless pedals is less wires, less noise and flexibility and because it is available - why not-
The current on the pedals are next to nothing, I can easily run it on battery’s. Did thought to do it but will see.
Yes the controller use a USB-C to communicate with the PC, so I changed it to a standard USB on the box outlet.
The WIFI protocol for the ESP32 is slightly different than normal but very stable and pick-up range is 400m.
The WIFI audio trial I ran had pretty good sound, no noise no buzz nothing. You need to take the sound to a convertor first and send it over the WIFI and convert it back to audio. The hardware (ready build boards) are readily available.
The idea behind the Frequency counter is to have one coil per string. I think I can better the sound quality by having a coil per string. Meaning I can then balance my volume as the high and low strings have different volume levels. The coil on the guitar is one I wind myself, I can do singles I think. If you run the coils back to back you will cancel all noises and interferences.
All my ideas gets born round 3am in the morning while in bed. So far all worked out.
I’m building custom guitars as a hobby for some time now. I enjoy every moment of it. I love doing things not done before.
I’d be interested in an invite, name is Gus Callaway from Berkeley.
Have you considered making an auto-tune program for your steel? I’m thinking you could specify the frequencies for each string along with the target frequencies for each pedal/lever and if you have frequency measurements for each strings it could do the whole process itself.
Sorry I tried to add you but seems you need to sign on.
I am thinking in that direction in the long run to do auto tuning or run the whole program on frequency rather than a target value. It works fine as it is right now, but to integrate auto tuning, it might be easier to change the whole concept and run all of frequency.
My idea with the single coil is, is to use the same coil to cause the string to vibrate by entering a pulse and then stop the pulse then measure and adjust. The code can cause the pedals and knee levers to move to its adjusted positions and re-adjust if out.
Of course, the base tuning needs to be done manually otherwise my neutral points in the code will move. The auto adjust will only work if you change say from E9 to C6 as E9 is my base setting.
The nice thing about the controller code is, you can program it to do whatever you want. The sky is the limit.
I have all components to build a test circuit, will do when I get a chance. If I can pick up an accurate frequency the concept will work. The next will be the code.
Do you have a schematic for how you wired this? What motherboard did you use for the EPS? I see there is a ‘feather’ version, actually a couple of them… not sure of the differences. I also already have a teensy (3.6, I believe.) Do you know what the EPS offers that was specifically helpful for your use case? I guess the wireless was a big deal for you. And I guess that cuts way down on the number of pins you need! I don’t think I’ll use it, though. I doubt I’ll ever be a fast enough steel player to notice 20ms, but it’s a huge deal as a keyboardist, so I think I’ll go with wires…
I’ve ordered a servo, and I’m going to try to wire it up to my one string test bed, and see how it works.
Boy, I forgot how annoying facebook is–it keeps losing my place as a read through the group posts. But some good pics of your progress. The most recent video sounds great!
Now I need to read through this thread again and figure out what applies to the new approach.
I am so grateful that you posted here, and so excited to see what you’ve done! Thank you!
Hi again. I don’t know the teensy. But the ESP32 is the most advance, with all the features ever needed like, speed, inputs and outputs can be configure for PWM, 12C, ADC etc.
The wireless is instantaneous, the 20ms was for the servos but I removed the 20ms as I don’t need it anymore.
There are a lot of youtube videos explaining how to code servos, but if you struggle I can assist.
Do not use the ESP 5volt to power the servo, rather use a 2A or more 5 to 6vDC power supply. You can use the 3.3v from the ESP to input a potentiometer. If you use a pot use a linear potentiometer, it work better with servo control.