> >this could be done with one i/o line and about $3.75 USD in components > OR three i/o lines and about $1.00 USD in components > OR seven i/o lines and about .10 USD in components > OR twelve i/o lines and no additional components Thanks for all the suggestions: I've seen the three pin A-D solution, with resistor networks, but it used 1% tolerance resistors in various odd values - as someone's pointed out recently this is unhelpful froma manufacturing point of view. I hadn't thought of the shift register idea though. I suppose that actually a '554 or '61 (with 13 i/o pins) could read twelve pins and clock the data out of the thirteenth in some kind of slow async. serial protocol - and it can sit and do this 100% of the time. So only 1 pin is needed on the primary PIC. And it might as well do the BCD-binary conversion while it sits there. And while I sit here writing this, it's just occured to me that there's a remote-control IC (HS12E I think) that takes 12 binary inputs and clocks them out in an odd but decipherable PWM format. That might be the cheapest single pin solution.