> Thanks for the suggestions. Lots to think about! I might perhaps go for > a PIC with a large number of inputs to make the circuit as simple as > possible until I get more used to the PIC architecture & programming. At the risk of appearing to be just promoting a suggestion that I (and several others) made, then, if speed is not an issue THE simplest circuit is probably 12 x parallel in, serial out shift register IC's. (Speed is 90 SRclock cycles plus a small setup overhead.)(SRclock is shift register clock. Probably can be as fast as your code will go. Each register IC has 4 relevant control and data pins. Serial in Serial Out Clock Data load strobe. Connect serial out on ONE IC to a PIC pin. Connect all data strobe pins together to 1 PIC pin. Connect all clock pins together to 1 PIC PIN. PIC has only *THREE* pins to control the whole array. Then. Connect data out of each IC to data in of next IC and on last data out connects to PIC data in pin as above. Then Strobe data line to load all data. Clock once & read a data bit. Repeat prior line 90 times (or up to 96) Done. Very very very simple. Minimal code. Minimal pins needed. Any PIC could handle this. Each data input pin needs to be 'conditioned to suit your application. If signal is +50 / 0 then two resistors per input may suffice. Noise, other polarities etc can complicate this, but probably not by much. Try it with 1 x CD4021 - very easy and very cheap to set up. Then go from there. There are some things to know about connecting in series - but mainly if at speed, and these can be discussed if you use that method. I've used this with just a few CD4021's in series to extend I/O capability on an ST processor. There is a matching output IC (serial in / parallel out, to go the other way. Works well. Russell McMahon -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist