Universal MIDI Expression Pedal

@Pio again wow you don’t sleep do you? Amazing. Can’t thank you enough for your brilliance here.

Actually components on the bottom of the board are fine. There’s 3mm clearance between the bottom of the boards and the metal enclosure, and I checked datasheets and even the 1206 are not taller than 1.6mm. I have a thing about using C0G or NPO capacitors whenever I can, although I know X7R's are "OK". But I didn't find any 100nF NP0's in a 0603 at JLPCB or LCSC.

Worst case I can put a piece of fish paper down, although probably not necessary. Your square design is much better than my previous rectangular design, both in terms of being more compact and also better support for the connectors.

I don’t know if they exist but I’ll look to see if the 1.0mm connectors are available through-hole. The larger program connector is just PH2.0 so no problem with that as through-hole. I just like to minimise what I’m soldering as sometimes it takes a lot to assemble boards when I have 10-20 to do.

Thanks for the tips on 4-layer vs 2-layer, and your reasoning about the ground plane. Excellent and will help me in other projects.

No worries about the EasyEDA account; it’s actually useful for me to recreate what you’re doing anyway and it helped me catch a couple mistakes. Thanks for being willing.

By the way just so you know, the EasyEda Pro accounts are also free. I like being able to prototype and order all on one interface, although honestly it looks like KiCad is probably better in a lot of ways.

I’ll check out your latest update, and await your new PCB when you have time. I used it as a reference in the last update and it was very helpful.

Again, many thanks!
 
Last edited:
@Pio just a question - I did't even know "dual footswitches" were a thing! Do you mean a single unit functioning with two switches, like this one:

Screenshot 2025-02-20 at 1.08.06 PM.jpg


I'm not sure about this - would there then be two switches inside the unit, and in that case, wouldn't they have two different input jacks?
Screenshot 2025-02-20 at 1.11.45 PM.jpg


If not, then I assume they would use a stereo jack, but then how would we detect each button press with current schematic? I don't see two circuits for detecting two footswitches...

Sorry; I'm just not understanding what you mean by dual footswitch mode...

Thanks,

Mike
 
There are dual footswitches with stereo TRS jack output, like the Hotone Ampero FS-1
Making one is also trivial. The dual jack ones would have to use an 2xTS -> TRS adapter.
With the TRctrl signal low:
  1. Plugging a dual footswitch using a TRS cable:
    • Footswitch 1 Tip-Sleeve, read with DigitalRead(ADCpin), basically ignoring the ADC and treating the input as digital. Using a switch instead of a pot is the same as jumping between min and max position. Output will be 0 and 3.3V (opamp will saturate) respectively.
    • Footswtich 2 Ring-Sleeve, read with DigitalReac(RSpin)
  2. Plugging a single footswitch a mono TS cable:
    • Footswitch 1 Tip-Sleeve - works as above
    • Footswitch 2 Ring-Sleeve - permanently shorted to GND with the input Jack, RSin will always read 0.
New board almost done. I've imported the gerbers from your project into KiCad to get the dimensions and mounting hole placement.
The connector is a TH 1.25mm JST, not sure if they are available at JLC. 2.0mm should fit without problems.
exp_sim10.png

Edit:
here is a repo with the KiCad project: https://github.com/hexeguitar/Expression-pedal-input
 
Last edited:
Beautiful work @Pio. Thank you so much.

I can't use a through-hole connector if I place it there due to the metal shell being in the way
 
The built in zener diode is rated for 5V, with 3.3V it will work below the reverse breakdown voltage, maybe pulling a tiny current only.
The two pairs of clamping diodes (instead of 2xBAT54S) will work.
I'm trying to use parts available at LCSC, but their parametric search is not the best.
Found the PESD3V3L2BT (C2923380) which is dual ESD protector for 3.3V level. Simpler to use and doesn't need the VCC.

I can't use a through-hole connector if I place it there due to the metal shell being in the way
exp_sim11.png
SMT connector on the top layer -> higher assembly cost or DIY
THT connector on the top layer -> DIY only i guess?
Option 2 -> cheaper assembly cost and less DIY, but larger PCB, over 50mm
Remove the middle mounting hole? The two connectors crating bending force will be directly supported.
 
Thank you @Pio. I really appreciate your support and thoughts.

For sure I'm going to stick with the more compact square layout now; the longer design isn't as easy to work with. I just didn't want to change the metal shell, but I went ahead and did it anyway and it's OK for that more squarish design now. And I think it's a better design anyway; it's more stable and I think makes more sense. Thanks for suggesting it.

The newer part sounds good, but I'm not sure how to implement it in the schematic. If there's any way you can show how to use it, I would be grateful. I just requested JLPCB to add it to their parts within EasyEDA. Often, a part is available on LCSC, or JLPCB/parts, but then it's not available within the schematic editor. So I requested the new part you mentioned to be added.

I've made a ton of boards with JLPCB, and often was installing all the parts by hand to save money. But then it took me so much time of course, so it's a Catch 22. More often now I just have them assemble it and eat the cost. So I like to have them made when I can now.

Using an SMD version of the connector is better due to metal shell in the way, so I'll probably go that route, plus, I'm very happy with the 1mm connectors I've been using and it will stay standardized with other PCBs I am using. I don't really want to add another type of connector and associated cable to the mix; makes it easier when other designs are all using same connectors and cables.

I really appreciate all your time and effort in this design, and the amazing personal attention to this exact design. You've been incredibly generous in so many ways.

Honestly, just wow!

Mike
 
This way:
exp_sim12.png
It's a fun project, close to what i have been doing for the last ~30 years. Happy to help or just throw ideas in.
Hope you will document it with nice pictures! :)
 
Totally awesome @Pio!

Thank you so much for that, and I’ll definitely post pix of the finished boards, as well as troubleshooting, testing etc.

Many thanks!! You are some kind of electronics genius!

It’s great to meet someone generous and brilliant!
 
Thanks. It has some slightly different specs, and I didn't understand the data sheets well enough to know if it would be OK. One has 3.6V minimum breakdown voltage; other is 3.8V, and other differences.

Anyway I trust your judgement.

Thank you so much :)
 
By the way @Pio is there any way for you to post your entire last version of the schematic with the newer part? I'm trying to proof my schematic but it looks like there's another connection on the last snippet you posted:

exp_sim12-2.png

Without seeing the whole thing it's hard to tell if something else has changed...it looks like there's another connection.

I will of course post my version soon which matches the look of yours much more closely, but I want to make sure I proof it really well first.

Thank you so much.

Mike
 

Attachments

  • exp_sim12.png
    exp_sim12.png
    46.7 KB · Views: 8
Very helpful thanks! It wasn't a new connection; lines were just connected a little differently.

Thank you @Pio! I really appreciate it!
 
OK @Pio, I have recreated your masterpiece in EasyEDA. I spent a long time trying to make the symbols the same as your great schematic, for clarity, plus I learned how to make parts with subparts.

I hate to ask because you've already done so much, but is there any way you (or anyone) can proof my work? I've double checked it, but sometimes it's easy to miss little things. On the ESD part PESD3V3L2BT-ES, they have pins 1/2 reversed, but since it's a bidirectional part, I don't think it matters does it? I connected them the reverse way.
Universal Pedal Board V1-3.jpg

Universal Pedal Board Notes.jpg

If anyone's looking, there's now a version 1.3 in the EasyEDA shared project: https://oshwlab.com/phillmj/universal-pedal-board

Thank you kindly!

Mike
 

Attachments

  • Screenshot 2025-02-23 at 6.48.15 PM.jpg
    Screenshot 2025-02-23 at 6.48.15 PM.jpg
    409.4 KB · Views: 9
  • Screenshot 2025-02-23 at 6.49.08 PM.jpg
    Screenshot 2025-02-23 at 6.49.08 PM.jpg
    435.6 KB · Views: 9
One small thing: according to the simulation the max gain needed when the Expression Pedal pot is 10k is 11x. Right now U1 provides the 11x gain when the digital pot is fully shorted (1+(R4/R5)). In practice the digital pot will have some series resistance, plus there are pot value variations. It would be better to have a small gain margin there to cover all possible situations.
This could be achieved either by increasing the R4 or lowering the value of R5. Aiming at automated assembly, it's better to reuse the values already present in the schematic. Adding 1k in series with R4 (=11k) or adding 10k in parallel to R5 (=0.909R) would rise the max gain to 12x.
 
I updated my version of the schematic to include an R16 in parallel with R4:

Universal Pedal Board Additonal Resistor.jpg


Sorry it's blurry but here's the whole thing again:
Universal Pedal Board V1-31.jpg


I really appreciate your expertise and brilliance @Pio.

I don't know KiCad well enough and I've been using EasyEDA for a couple years, so that's why I've been recreating it each time. And it's well integrated with JLPCB, which I use all the time. Plus I've learned a lot from you, and from the process, just remaking your professional schematics.

If you see any errors please let me know.

I'm doing the board layout now. I'm using your layout as a guide, although I may move some components for my version.

Thank you so much.

Mike
 
Schematic: got last small changes: in the gain setting area I've moved the digital pot to the feedback loop of the opamp. This way the gain control will be linear with the correct range.
Switched all decoupling caps to 0603 1uF to minimize the BOM. No need to chage them if you insist of using C0G 100n.
Html BOM looks compact now, except that single 100k reistor.
exp_sim15.png

PCB Layout:
I see the R9 is shorted. It happened because you have put the same net names for the signal before and after R9. Same with R8.

You mentioned not using THT connectors, because the metal shell can be in the way (creating shorts i guess?) The placement of the 1206 caps can cause the same problem:
exp_sim14.png
In my layout i specifically avoided putting any components close to the pcb edge there:
exp_sim16.jpg

Back to your EasyEda design: top layer is VCC plane. I wouldn't do that, a solid reference ground plane is more important so that all the electromagnetic fields created by the tracks have something to couple to while the currents are trying to find the shortest return path.

I have pushed the last changes to the github repo.
I'd prefer if you remove my name from the EasyEda project and link this thread only. You are redoing and adapting it yourself to your needs, you are the author of that particular version.

Ideally now would be the time to test the circuit in hardware, either by breadboarding it partially or ordering a small number of prototype boards.
 
Hi @Pio, thank you again. Good catch on the net names shorting the resisors; corrected.

I only put your name on because I wanted to give you credit, as you've been so generous, but I understand and have removed your name from the schematics, and kept the link to your repo.

I've also changed to two ground planes, one on each side of the board.

And good catch on the larger caps being in the way; I was so focused on the PCB I quite forgot to check.

I am just reluctant to use X7R caps due to derating, especially in the smaller sizes. That's why I try to stick with C0Gs when I can, although they are not always available in the sizes I want.

Many kind thanks for your support and for proofing the schematic; I'll post another update soon with your suggestions as well as the small tweak to the circuit you just made.

I do plan on getting boards made and testing it all; it will also involve another board it will attach to as well, but I will post here when I have gotten the boards made. Getting the Teensy software right will be tricky, but I know it's doable.

Thank you again!

Mike
 
Wow, you weren't kidding - double sided board manufacturing is expensive!

Imma have to rethink the connectors again...

Redesigning again...
 
Last edited:
I am just reluctant to use X7R caps due to derating, especially in the smaller sizes. That's why I try to stick with C0Gs when I can, although they are not always available in the sizes I want.
It is not that bad as it sounds. Understanding what the capacitor does and which parameters are critical allows to use the X7Rs without problems. They work in millions of devices.
To test, i've picked up two 0603 caps made by muRata, both available via EasyEda library:
0603 100nF X7R GRM188R71E104KA01D
GRM188R71E104KA01D.png
0603 1uF X7R GRM188R61E105KA12D
GRM188R61E105KA12.png
There also an AC voltage related capacitance loss, which has to be taken into account. I've set it to the wort case scenario (10mVAC).
1uF will provide about 700nF in the working conditions, which is good enough, including the tolerance.
100n will be slightly less with almost flat linear response over the voltage range. Good enough in the application.
Plots made with
 
Thank you so much for the information and for doing the plots. I said it before, but again, do you ever sleep?

I totally appreciate it and I'll consider X7Rs for future designs. Already this one is all fitting with the larger N0Gs, so I'll keep them, but it is good to know.

I had googled about it and there was a very long article talking about how not only do they derate over time, but especially the smaller sizes are much worse, which again made me reluctant to use them. The author had some boards fail and that made me shudder. I believe he was using 0403's however, so there's that.

But you are right, I must be paranoid because as you say, they are industry standard and are used in millions of devices.

Thank you so much.
 
Last edited:
I'll post the last schematic after corrections; if by chance you can cast your expert eye to see if I made any other stupid mistakes I would be grateful. If not, it's OK, I think it's good.

I also added a couple of test points for troubleshooting. Not sure if any other points would be good but the main ADC input seems the most important.

Thank you again @Pio; I will be getting boards made and tested soon.

Universal Pedal Board V1-34.jpg
 
Back
Top