Just to ad more noise to the discussion, here's a solution that worked for me on something similar. Needed to input position settings via a small panel: Used a small (cheap) rotary encoder (mechanical contact - no detents) made by Bourne. Interfaced that to a Schmidt trigger mostly to get drive for a one meter cable and have experienced no bounce problems. The switch does 6 cycles per revolution (24 edges) so if the contact bounce is as much as 5ms (doubtful) you won't experience any problems unless you turn the knob at > 8 revs/sec. (I don't think so!) These encoders are stiff enough that they don't drift when set. NB: The only problem with contacting types is finite service life. The problem with optical types is MONEY. From the discussion so far, I get the impression you must be using a marked bezzel to indicate position. Have you got the [pins, space,funds] for a 4x7 seg display. I found a decoder/display in Farnell's catalogue that uses a serial interface over (min) 3 wires. The display is driven by the controller. My application has range limits for input values as yours seems to, so I simply ignore pulses which go to far. Your software should be doing that anyway. The code I wrote dor decoding the 2 bit Gray code returns values representing +1, -1, NoChange and WOOPS. The inputs use the "Interrupt on Change" facility of a 16C84 and from memory the subroutine uses 2 static and 2 dynamic bits in data memory and executes in about 23 clocks if memory serves. Works for me... Did I have 2 cents worth? BILL At 11:29 AM 8/01/98 -0600, you wrote: >Sorry, not 16 controls on one panel. up to 16 remote panels with a single >knob each. Each remote can select which motor he wants to control and it's >speed as well as a few other things. Each remote panel will have a PIC in >it. > >The system has one base unit, up to 16 remotes that communicate with the >base unit. Yes it is for train control but the problem can be applied to >many situations. > >Thanks for all the good ideas. Even if I don't use them all here, they are >definitly going into my archive for latter use. > >Norm >