> Im new to PIC and electronics in general, having come from a software > background. Im looking to design something which can sample 90 wires for > the presence or absence of a DC voltage (50v, but can be taken down to > say 5v with a voltage divider if needed). It then needs to store a bit > in memory for each wire indicating if the wire was live or not and then > interface to a computer over USB so the computer can read the bits. What they said. Plus: ICs to sample 100 lines are not too costly, but you MAY be able to use an addressed XY or even XYZ matrix to use many less active devices, or to use many diodes and fewer ICs. Using XY you need 10 x 10, or in multiples of 4 say = 8x12 = 96. If you can work an XYZ addressing scheme you can get say 5x5x5 = 125 or 4x4x8 = 128 . In an XY system an X line drives a row (say) of inputs with matrix points being held down (or up) by input voltages. The y colums read the result. This may end up with more R's and / o r diodes than are worthwhile. _____________ Using a number of serial shft registers makes it all very easy. The CD4021B parallel to serial is under 40 cents at Digikey in 25's. http://www.fairchildsemi.com/ds/CD/CD4021BC.pdf Each allows 8 inputs and they can be chained in series indefinitely. 12 x 8 = 96 inputs. There are various ways to get 50V to logic level input - but it should not take more than 2 x resistors and 1 x diode per input and just maybe a small capacitor too, but could take less. They can run at up to 15 V supply and it MAY be worth running them at near that level and translating the very few control and data signals to PIC level. Depending on the tolerance and noise spikes on your 50V signals you MAY be able to use just 2 x resistors. What's the application? Sounds like telephone line sampling ? :-). Dim and not wholly pleasant memories from long ago stir :-) Russell . -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist