Using a 100 PPR encoder with the uBITx

Allison KB1GMX gives details on how to wire up the commonly available 100prr-6 encoder.  These have a nice vernier style dial and cover 100 pulses per 360 degree rotation.  The calibration points line up with these pulses.  They come with either 4 or 6 wire terminals on the back.

The A and B terminals have transistor outputs to ground and are used in connecting to the raduino:

  • Ground is ground (0V) terminal
  • Black and brown to the A and B terminals (reverse if the rotation direction is backward)
  • 5V from raduino 5V reg to the internal LEDs used in the optical encoder  (Vcc terminal)

Allison uses the V4.3 code in her µBITx with here own mods and this encoder worked well. Some firmware for the Raduino will not be sufficiently fast to keep up with the signals being sent from the encoder if you rotate the encoder quickly.

The editor likes the black version better.  These are a classy unit.


Debouncing a Rotary Encoder

N5IB reports, “ALPS, a maker of rotary encoders, recommends 10K pullup to Vcc, then 10K in series with 0.01 uF to ground. The internal pullup in the ATMega is loosely specified – somewhere in the tens of K, max 50K.

Jim Sheldon W0EB responded with, “This settled the really cheap and modified (to take the detents out) encoder on the test set right down. Tuning is extremely smooth and I don’t notice ANY digits showing up and then backing up again as it did before.

“I can highly recommend adding a 10K external pullup to both the encoder A and B inputs as well as an additional 10K in series with .1uF capacitor to ground on both the A and B inputs to the Raduino card.

“It was a nice surprise addition and I won’t leave them out again.”

Hans G0UPL responds, “Debouncing and pullups are also possible in the firmware. This is the method I use in the QRP Labs kits like QCX – look at the schematic: no pull-ups, no RC-debounce. Saves 6 components (4 resistors, 2 capacitors). It’s not important in a one-off build or modification but in a kit where you are trying to optimise cost, every resistor helps! The firmware method also gives you more control over how you do your debounce. I prefer the state-machine approach to rotary encoder handling, it implicitly debounces without involving any time constants.”