Clicking And Counting With Push Wheel Switches


Push-wheel switches are somewhat older technology, but [John Boxall] from the Little Bird Electronics blog shows us that they are still quite useful today.

In a quick but thorough demonstration, he discusses how this input technology works, showing off both single digit and multi digit inputs. The former is pretty straightforward, with each of the counter’s outputs tied to an I/O pin on his Arduino. Using multiple counter units is ever so slightly more complicated, but the job is made easier through the use of an NXP 74HC4066 bilateral switch. He shares a snippet of Arduino code that toggles through each of the switches, reading in their values one by one.

His walkthrough is a must-see for those who are just getting their feet wet with Arduinos and various input methods. These counters are great for 1-4 digit input needs, but if you require more digits [John] says that a 12-digit keypad would probably be a better way to go.

Stick around to see a short video demo of the switches doing their thing.


16 thoughts on “Clicking And Counting With Push Wheel Switches

  1. This is kind of a rough article for someone new to the game. His code could use some more thorough documentation, especially as regards his communication with the 7 segment shield he’s using. Someone new to programming won’t make much sense of his function related to that.

    1. No reason, just listing off a part in the same manner he did. As you mentioned, any 74HC4066 should suffice.

      Don’t worry, we’re not in collusion with NXP, Adafruit, Arduino, or any other number of tinfoil-hat induced theories :)

  2. These would be a really neat idea for a pseudo-retro homebrew ham radio. Instead of an lcd readout, use a set of these with the outputs rigged to a uC running a DDS or some sort of PLL.

    Probably best used for FM equipment actually. Probably wouldn’t work great with a hugeass VFO wheel most are used to using.

    1. That’s one of the common formats.

      I used to use these a lot many years ago. In one particular design, I used a pair of them to input a bin location number to comparator. The comparator compared the input on the wheels to an index code on a rotating shelf.

      The comparator output told the motor which way to turn to reach the desired place on the shelf in the shortest time, and then to stop when when the code on the index matched the code set on the wheels. An all hardware implementation that worked great for the application.

  3. I see a problem with using several digits of this as specified. Specifically that numbers with more than one closed bit are just begging for problems. For example, if you have 2 digits and set one to 7 and the other to 9, you’ll have all 4 bits shorted together and read both digits as F, which isn’t even a legit BCD digit.

    This problem is soluble in the same way it is solved with scanned keyboard matrices. Add diodes in series with the digit lines of each BCD switch. That way, the switch closures in one digit don’t interfere with the others.

    The examples in the article (4994, 6966, and 8421) conveniently avoid this problem. Any instances of 3, 5, 6, 7, or 9 are asking for trouble, and will reap it if any of the other digits are one of those and share any of the on bits.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.