If you've got an SPDT switch, it's pretty straightforward to use it as a front panel input to some CMOS logic. Even with simple debouncing (no hysteresis, which is acceptable for my purposes), it doesn't take much to design something with no quiescent current (besides FET leakage) shortly after the switch has finished moving:

Simple SPDT front end to digital logic

Is there a way to get the benefit of no static quiescent current with just an SPST switch? For aesthetic reasons, I'd like to use a mechanical keyboard key switch (Cherry MX, etc.) but those seem to only be available as SPST.

I've only been able to come up with ideas involving pull-ups/downs that burn energy while the key is pressed. Ideally, the answer I'm looking for would only have (tiny) measurable current on the key switch transitions and (essentially) zero at all other times.

Am I missing an obvious solution or am I out of luck unless I change to a momentary SPDT switch? Thanks!

  • \$\begingroup\$ Switches require a minimum current in order to ‘wet’ the contacts. Below that they may become unreliable. Consider this when choosing a switch. As for debounce, you should be doing software debouncing/filtering regardless of the hardware. \$\endgroup\$
    – Kartman
    Feb 25, 2022 at 6:53
  • \$\begingroup\$ I'm building something that doesn't have any software (about a dozen gates out of 100% discrete FETs for demonstration purposes), so I can't debounce in software. The goal here is theoretical lowest possible power, so if I can have the electrons do the work for me instead of an MCU's clock cycles, then I wouldn't want software debouncing even if it was possible in this case. \$\endgroup\$
    – Nicholas
    Feb 25, 2022 at 14:11
  • \$\begingroup\$ there might be a way to physically mod your key/button to sneak another switch in unobtrusively. Think of a camera's shutter release; you could have the half-press and full-press, and i'm sure you could figure out how to make that work. For a key, you might be able to cram a beam-break sensor under the keycap, or glue a supermagnet under the cap that hits a reed switch under the key when the key is depressed. Or stack the key on top of a microswitch to make a camera-style 2-stage button that needs a bit of extra effort but would definitely work and look normal. \$\endgroup\$
    – dandavis
    Feb 25, 2022 at 22:37

1 Answer 1


With an SPDT switch, you need to detect only when a switch is being closed. Once that event has been handled, no current needs to flow through the closed switch.

But with an SPST switch, you must be able to distinguish between the open and closed states, and this requires a current through the closed switch. (A closed switch with zero current behaves exactly the same as an open switch.)

So your only choice is to use a pull-up/-down resistor. You can save power by making the resistor as weak as possible, or (if you have a microcontroller or a dedicated keypad controller) by powering the resistor only for a short time while polling.

  • \$\begingroup\$ Thanks, that's what I was afraid of. Maybe I can fiddle with 3D printing something to adapt a standard key cap to some SPDT switch (maybe a limit switch with the lever removed?) so I can have my cake and eat it too. \$\endgroup\$
    – Nicholas
    Feb 25, 2022 at 15:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.