> What are some ways to go about this while keeping power low? I > know I can poll each button until I find one high, but the processor > will always be at full power doing this. What about using a simple logic > gate to OR/NOR all the switches together to an interrupt pin to wake > the processor up? Scott, that's what keyboard and button processing ICs (like infra-red remote controls) do. An output pin goes low at any key press as an interrupt line to a micro etc A couple of something like the 4072 (dual 4-input OR) would do what you're thinking of, or just 16 diodes. I've done this to make an INT signal when using just a few buttons The traditional way would be to arrange the 16 as a 4 x 4 and use IOC (Interrupt-On-Change). If the PIC is inactive, the buttons will not be being scanned so pull-ups (internal are available) on the columns (PortB <4:7> ) and lows on the 4 row drive pins. On interrupt/wake-up, you'd know only which column caused the IOC, so scan to get the row >From the 2420/2520 datasheet 9.8 PORTB Interrupt-on-Change An input change on PORTB<7:4> sets flag bit, RBIF (INTCON<0>). The interrupt can be enabled/disabled by setting/clearing enable bit, RBIE (INTCON<3>). Interrupt priority for PORTB interrupt-on- change is determined by the value contained in the interrupt priority bit, RBIP (INTCON2<0>) wbr, Joe -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist