A Better Way to Push Your Buttons


Is there a better way to debounce the on/off push button of a handheld device? Some designers use discrete logic, flip-flops, resistors and capacitors. Others use an on-board microprocessor, which requires constant power—even after the handheld device has been turned off. Additionally, for multi-cell battery applications, a high voltage LDO is needed to drive the low voltage logic and microprocessor. All this extra circuitry not only increases board space, but also drains the battery when the handheld device has been turned off.

The LTC2950 family of parts eliminates all of these problems. The part incorporates the flexible timing needed to debounce the push button input during system power on and system power off. The LTC2950’s wide input voltage range (2.7V to 26.4V) is designed to operate from single cell to multi-cell battery stacks, thus eliminating the need for an LDO. The part’s set of features allows the system designer to turn off system power to all circuits except the LTC2950, whose very low quiescent current (6µA) is an insignificant drain on the battery. The device is available in space saving 8-lead 3mm × 2mm DFN and ThinSOT packages.

More than Just a De-Bouncer

The LTC2950 is not just a low power, high voltage push button de-bouncer. The de-bounced push button input toggles an open drain enable output. This low leakage output can be used to control the shutdown pin of a DC/DC converter, and thus allow manual control of system power. The part also contains a simple microprocessor interface that provides intelligent power up and power down sequencing. During power up, an internal timer ensures that the system will not power into a short and drain the battery. During power down, the LTC2950 interrupts the microprocessor 1024ms before de-asserting the enable output. This gives the microprocessor time to perform housekeeping tasks (such as saving to memory) before power is turned off.

Watch the Push Button Bounce

When a push button is pressed, the voltage on the pin does not seamlessly switch from the pull-up voltage to ground. The voltage fluctuates as the push button makes and breaks contact.

Figure 1 shows an application with significant bounce on the push button pin. The LTC2950 ignores all the noise and drives the enable pin high 32ms after the push button stops bouncing. The scope trace shows the turn on debounce time of 32ms—that is, no external capacitor at the ONT pin. This application requires only one external component (R1).

Figure 1. Typical circuit and de-bounce timing.

Need Longer Debounce Times?

It is no problem to extend the debounce time of the push button input. The power on and power off debounce times can be extended independently by placing an external capacitor on the ONT and OFFT pins, respectively. Figure 2 shows the turn on timing with an external 0.033µF capacitor on the ONT pin (~250ms). The following equations describe the relationship between total debounce time and external capacitors:

Turn On Debounce Time = 32ms + (6.7 • 106) • CONT
Turn Off Debounce Time = 32ms + (6.7 • 106) • COFFT

Figure 2. PB turn on de-bounce time increased with an external 0.033µF capacitor.

Typical Power On/Off Timing Sequence

Figure 3 shows a typical LTC2950-1 power on and power off sequence. A high to low transition on PB (t1) initiates the power on sequence. This diagram does not show any bounce on PB. In order to assert the enable output, the PB pin must stay low continuously (PB high resets timers) for a time controlled by the default 32ms and the external ONT capacitor (t2 – t1). Once EN goes high (t2), an internal 512ms blanking timer is started. This blanking timer is designed to give sufficient time for the DC/DC converter to reach its final voltage, and to allow the µP enough time to perform power on tasks. The KILL pin must be pulled high within 512ms after the EN pin went high. Failure to do so results in the EN pin going low 512ms after it went high (EN = low, see Figure 4). Note that the LTC2950 does not sample KILL and PB until after the 512ms internal timer has expired. The reason PB is ignored is to ensure that the system is not forced off while powering on.

Figure 3. Typical Power On/Off Timing Sequence for LTC2950-1.

Figure 4. Aborted power on sequence for LTC2950-1.

Once the 512ms turn on blanking timer expires (t4), the release of the PB pin is then de-bounced with an internal 32ms timer. The system has now properly powered on and the LTC2950 monitors PB and KILL (for a turnoff command) while consuming only 6µA of supply current.

A high to low transition on PB (t5) initiates the power off sequence. PB must stay low continuously (PB high resets de-bounce timer) for a period controlled by the default 32ms and the external OFFT capacitor (t6–t5). At the completion of the OFFT timing (t6), an interrupt (INT) is set, signifying that EN will be switched low in 1024ms. Once a system has finished performing its power down operations, it can set KILL low (t7) and thus immediately set EN low), terminating the internal 1024ms timer. The release of the PB pin is then de-bounced with an internal 32ms timer. The system is now in its reset state: where the LTC2950 is in low power mode (6µA). PB is monitored for a high to low transition.

What if the DC/DC Converter Is Faulty at Power Up?

When a user turns on a handheld device, the LTC2950 EN output pin enables a DC/DC converter. The output of the converter can then power a µP, which in turn drives the KILL pin (see Figure 1). If there is a system fault (shorted DC/DC output, for example) that prevents the µP from driving the KILL input high within 512ms, the LTC2950 automatically releases its enable output. This in turn shuts off the converter and prevents the handheld device from turning on. Figure 4 depicts an aborted power on sequence.

Protect Against µP Hang Ups

Has this happened to you? Your PDA or laptop has frozen—not responding to any input. You try to restart the device by pressing the on/off button. Nothing happens. In frustration you resort to unplugging the device and removing any batteries to shut it down. The unresponsive push button is probably the result of an on/off push button that was de-bounced by an unresponsive µP—evidenced by the crash. The LTC2950 eliminates this common fault.

The LTC2950 always responds to the push button in some way. It does this by initiating a power down sequence (in response to the user pressing the push button) by asserting INT low and starting an internal 1024ms timer. This event alerts the µP of the impending power down. If the KILL pin remains high (µP not responding) at the end of the 1024ms timeout period, the LTC2950 automatically releases its enable pin, thus shutting off system power. This fault protection feature makes sure that a user is always capable of turning off system power, even when the rest of the system is faulty or not responding.

PB Pin Survives Minor Lightning Strike

The PB and VIN pins are both high voltage pins (33V absolute maximum). Additionally, high ESD strikes (±10kV, HBM) will not damage the PB pin. Figure 5 shows an actual ESD event. Note the arc onto the PB pin. The ESD strike fed directly onto the pin; there were no series resistors or parallel capacitors. This strike did not damage the pin, nor did it generate any leakage.

Figure 5. ESD Strikes PB Pin.

LTC2950-1 and LTC2950-2 Versions

The LTC2950-1 (high true EN) and LTC2950-2 (low true EN) differ only by the polarity of the EN/EN pin. Both versions allow the user to extend the amount of time that the PB must be held low in order to begin a valid power on/off sequence. An external capacitor placed on the ONT pin adds additional time to the turn-on time. An external capacitor placed on the OFFT pin adds additional time to the turn-off time. If no capacitor is placed on the ONT (OFFT) pin, then the turn on (off) duration is given by an internally fixed 32ms timer. The LTC2950 fixes the KILL turn off delay time (tKILL(OFF DELAY)) at 1024ms (the amount of time from interrupting the µP to turning off power).

LTC2951-1 and LTC2951-2 Versions

The LTC2951 fixes the turn on debounce time at 128ms. The turn off debounce time is the same as the LTC2950: 32ms internal plus the optional additional external when a capacitor is placed on the OFFT pin. The KILLT pin in the LTC2951-1 and LTC2951-2 provides extendable KILL turn off timer, tKILL(OFF DELAY, ADDITIONAL), by connecting an optional external capacitor on the KILLT pin. The default power down delay time is 128ms, tKILL(OFF DELAY).


The LTC2950/LTC2951 is a family of micro-power (6µA), wide input voltage range (2.7V to 26.4V) push button controllers. The parts lower system cost and preserve battery life by integrating flexible push button timing, a high voltage LDO, and a simple µP interface that provides intelligent power up and power down. The device is available in space saving 8-lead 3mm × 2mm DFN and ThinSOT packages.



Victor Fleury

Victor Fleury is a senior design engineer in the Mixed Signal Products Group at Analog Devices. He has specialized in high voltage and high speed products during his 18 years in the Industry. Victor holds a BSEE from MIT and an MSEE from Northeastern University.