I’ve been working on a custom virtual pin controller for my own use. It is built around an ESP32 microcontroller, with my own electronics and software managing the tilt detection, plunger, and buttons.
Everything is working great except for my flipper buttons. They are standard cabinet buttons hitting Williams/Bally-style single contact leaf switches. The type that looks like this:
I have a proper leaf switch adjustment tool for manipulating the switch. But no matter what tweaks I make, I can’t seem to get consistent results. Every adjustment I make seems to end up with the switch either stuck on constantly or unable to trigger with the flipper button. Sometimes I will get it just right, but 10 minutes of actual use will get it stuck in one state or the other. It’s driving me mad.
My wiring is trivial, but I’m wondering if there’s something fundamental that I’m missing here. (My background is more on the microcontrollers side and less on the pinball electronics side.) I have a 3.3 V power supply connected to one of the leads of the switch. The other is connected to a GPIO on the ESP32, configured to use the ESP32’s internal pull-down resistor to keep the pin low when the switch is open. I have no other passives in the circuit.
When the switch is misbehaving, I can see that the issue is electrical, not software. With my multimeter hooked up where the ESP32 would normally sit, I can see that I’m not getting any voltage through when it is stuck low. Often I can even manually push the two halves of the switch together with my finger and still I don’t get a consistent signal.
I guess my questions basically boil down to this:
Is there some reason that 3.3 V would be insufficient here? I know that in a real table these switches are controlling much higher voltages, but I didn’t see any obvious reason it shouldn’t work fine at the ESP32’s native 3.3 V.
Is there some finicky adjustment to the switch that I’m not making but should be? Perhaps something about the angle/rotation of the contacts or depth or… something?
Are there supposed to be other passive components in the loop here? I was imagining that the leaf switch would work like any other digital switch, but perhaps there’s something I’m entirely missing here.
Any help would be greatly appreciated!
You need to login in order to like this post: click here