Debounced breadboard keypad

phirephly posted a debounced breadboard keypad in the project log forum:

I’ve been getting tired of having to wire up buttons and paste in debounce code (or wire up debouncers for TTL projects) every time I want any kind of user input.

I was browsing around Maxim’s site, when I stumbled upon the MAX6816-6818 series of button debouncers. These are single, dual, and octal channel debouncers. Attached is the design files for a simple eight-button breakout board for the MAX6818 designed to be plugged into a breadboard. In addition to the eight active-low debounced outputs, the edge connector includes an active-low button-change interrupt, and an active low enable input, which can be optionally solder-jumpered on, if the button outputs don’t need to be tri-stated.

Join the Conversation

5 Comments

  1. I think the MAX6818 (octal of the serie) is a bit expensive (arround 6,5 euros in small qtt, and arround 3,8 euros for big qtt). While it has nice volatage range carachteristics, it can be easily replaced by a 1 euros MCU (any pic16fxx or pic18xx could do it), and you have the software control of things if you want to read an inverted entry or to send back data via I2C, SPI, OW or any protocol you want.
    You can make such chip once and use it multiple times as you are going to do with MAX6818.
    You can also do that with PIC10Fxx for small factor stuff.

  2. I agree with octal. I like the idea of distributing “menial” tasks such as debouncing off the main MCU (and out of its main program loop) and onto cheap (like $0.75 cheap) single (or few) function MCUs. I consider such functions as 7-segment display (even multiplexed a 4-digit display costs 12 pins), annunciators, and other human-to-machine interfaces to be hardware hogs feeding in the common-resource trough. In my sty, I give them their own trough.

    Port expansion using $2 shift registers instead of cheaper (and vastly more versatile) MCUs is still very common. But if one uses a I2C bus, cheap peripheral MCUs would take only two pins from the main MCU and be cheaper and again, lots more versatile.

    So instead of single-purpose and costly chips like the MAX6818, I like keeping cheap flash MCUs around, some pre-programmed (at least temporarily) for 7-segment use, motor control, etc.

  3. How about combining the 7400 logic competition with this idea?
    Would it be possible to use simple SR flip flop circuits to implement keypad debounce? All it would take is a pair of NOR gates for each key (7402, 7428, 7433, 74128). Another variation is a pair of NAND gates (7400, 7401, 7403, 7426, 7437, 7438, 74132). Of course, actual flip flops could be used, such as the 7474, 7476, 74106, 74109, 74111, 74112. The highest count per chip would be the 74279 with four SR latches.
    Unfortunately, an SR latch design requires a double throw switch with break-before-make mechanicals, and the typical keyboard is only single throw. Also, the SR latch require two wires to each switch instead of one, but the improvement in debounce may make it worth the extra wiring, especially if it saves programming a PIC for a function that could be done purely in hardware.

  4. added cost, but these integrate the ESD input protection that I would imagine should be added to all inputs to the micro….

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.