I am interfacing a 4x3 keypad with LPC1778 using GPIO pins. These pins are 5V tolerant. Can I use zener diodes in the debouncing circuit?

Can I use zener diodes like this?


  • \$\begingroup\$ How do you envision yourself using them? \$\endgroup\$ – Ignacio Vazquez-Abrams Jun 18 '16 at 5:24
  • 3
    \$\begingroup\$ With the number of timers in that processor, you most efficient (and cheapest) approach would be to do the debouncing in firmware. \$\endgroup\$ – Mark Jun 18 '16 at 5:52
  • 1
    \$\begingroup\$ I can't see how that helps. 1) If you bring D6 high, it doesn't ever reach the 6.2 volt reverse bias of the zener, so the zener does nothing, regardless of the state of any switch. 2) If you bring D6 low, it will do nothing if the switches are open, as the pull-down resistors have already pulled those lines low. If you then close a switch, you have contention, with the diode trying to pull the already low D6 high. 3) If D6 is an input, it will be floating if all switches are open, and go high when any switch closes, which is redundant with the closed switch input. \$\endgroup\$ – Mark Jun 18 '16 at 6:23
  • 1
    \$\begingroup\$ RC debounce circuit can be used for this purpose. Or if you are ready to spend some time in writing the code, you can do everything in the code itself. It will save you some money as well. Added advantage - Less number of components to deal with during prototyping. \$\endgroup\$ – Whiskeyjack Jun 18 '16 at 7:17
  • 2
    \$\begingroup\$ @BhavanaBRao: I edited your post to include the image linked in the your comments? Why did you remove it and why did you not explain the edit in the "reason for edit" box? \$\endgroup\$ – Transistor Jun 18 '16 at 7:43

A pre-wired matrix keypad pretty much requires debouncing in software. Adding diodes outside of the matrix will not help with de-bounce, neither will it help with "ghost rejection".

The diodes in your diagram might provide a diode-or function indicating that atleast one key is active, if the IO pin they are connected to has a pull-down on it. but for this they do not need to be zeners, any diode would work. eg: 1N4148


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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