> Only drawback I can see is no multiple buttons can be pressed > at a time and give a valid value, but this is not a requirement. Hi Ariel, two buttons together would give you "a" value, because of the Rs in parallel. For 10 buttons I think the number of button pairs would be (10 * 9)/2. The parallel result of some pairs might be very close to single buttons though. Two low Rs in parallel would be rejectable because the effective R gives an ADC result below that of the lowest single R. And two high Rs in parallel for example might be somewhere between two lower buttons It would help if you use good quality buttons and fairly tight ADC ranges. As buttons get dirty over time that might cause problems I know you said no external chips, but perhaps you can do a little multiplexing and free up just one more pin ? http://home.clear.net.nz/pages/joecolquitt/0pots.html In that top circuit, using an RC you can drive the 4017 with just 1 pin. A C on Reset and an R between Reset and Clock. Short pulses will clock the 4017, a long pulse will reset it Substitute pushbuttons or switches for the pots and detect a "1" on a PIC input, noting the clock position to tell you the switch number A similar multiplexing technique here, which I used before the do-everything PICs came along http://home.clear.net.nz/pages/joecolquitt/mixer.html > Do you see any problem with this approach? Anybody used >something like this before ? I believe Bob Axtell uses ADC this way -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist