Surface Mount Rotary Encoder

via Adafruit
$9.14
SKU AF-5454

For projects that need a rotary encoder but need to keep it single-sided or need to avoid interrupting traces or devices on the other side, here's an all-SMT rotary encoder! It's a high-quality 30-detents encoder from Alps, with detents and a nice feel. There's a nice smooth bushing for placement in a box.

Knob not included, but you can pick one up here

This encoder also has a push-button built into it so you can press onto the knob to close a separate switch. One side has a 3 pad connector (ground and two coding pins) and the other side has two pads for a normally open switch. There's also 6 large mechanical pads for making a strong physical connection: best to use a ground plane with 6 open pads so that there's a solid sheet to protect against the encoding shearing off.

Rotary encoders are useful as rotation sensors or selectors and look similar to potentiometers. However they are not like potentiometers at all, so it's important to realize the difference! These rotary encoders rotate all the way around continuously and are divided up into 30 'segments'. Each segment has a clicky feeling to it, and each movement clockwise or counter-clockwise causes the two switches to open and close. There is no way to know what the current 'position' is - instead you would use a microcontroller to count how many 'clicks' left or right it has been turned. If you need to detect rotational 'position' a potentiometer would be a better choice.

https://www.youtube.com/embed/-PYasR6Z0KQ

https://www.youtube.com/embed/LlV2xzXUYgA?start=100