I am beginning to understand better. Here is yet another idea: If you don't need to get every pulse on every channel then you could do something like this: 1: wire the four channels to RB4, RB5, RB6 and RB7 via a 10K resistor. 2: TRIS RB4 as an input and RB5, RB6 and RB7 as outputs 3: Use interrupt on change to get the first channel. 4: TRIS RB5 as an input and RB4, RB6 and RB7 as outputs 5: Use interrupt on change to get the next channel etc. Note: The 10K resistors make sure that you don't get a collision when a pin is driven as an output. Pins set to outputs do not participate in interrupt-on-change. Bob Ammerman RAm Systems -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu