
- ★Product Description
- ★About us
- ★Custom cable
EC11 Rotary Encoder with Push Switch — 5-Pin, 15mm/20mm Shaft
The EC11 is a mechanical incremental rotary encoder with an integrated push-button switch, providing both rotational position sensing and click input in a single compact component. With 20 pulses per revolution and a standard 5-pin interface (CLK, DT, SW, VCC, GND), it is the most popular encoder for Arduino menu navigation, volume control, and digital potentiometer applications.
Key Specifications
| Parameter | Value |
|---|---|
| Type | Incremental rotary encoder (mechanical) |
| Pulses per Revolution | 20 (20 detents) |
| Output | Quadrature (CLK + DT, 90° phase shift) |
| Push Switch | Yes (momentary, active-low) |
| Shaft Type | D-shaft (half-shaft / plum shaft) |
| Shaft Length | 15mm or 20mm (select variant) |
| Supply Voltage | 3.3V – 5V DC |
| Contact Rating | 10mA @ 5V DC |
| Mechanical Life | >15,000 cycles |
| Mounting | Panel mount (M7 thread, nut included) |
Pin Configuration
| Pin | Function |
|---|---|
| CLK (A) | Clock output (quadrature channel A) |
| DT (B) | Data output (quadrature channel B) |
| SW | Push switch (active-low, connect to VCC via pull-up) |
| VCC | 3.3V – 5V supply |
| GND | Ground |
Why Choose EC11?
- Infinite Rotation — No end-stops; rotates continuously in both directions
- Integrated Push Switch — Click to confirm selection; replaces separate button
- Quadrature Output — CLK + DT phase relationship determines rotation direction
- 20 Detents/Rev — Tactile feedback at each step for precise menu navigation
- Panel Mount — M7 thread fits standard 7mm panel holes with included nut
Typical Applications
- Arduino LCD menu navigation (scroll + select)
- Digital volume control knob (audio equipment)
- Stepper motor manual jog control
- 3D printer menu encoder (Marlin firmware)
- Oscilloscope and test equipment parameter adjustment
- DIY synthesizer and MIDI controller
Arduino Example
int lastCLK = digitalRead(CLK_PIN);int currentCLK = digitalRead(CLK_PIN);if (currentCLK != lastCLK && currentCLK == HIGH) { if (digitalRead(DT_PIN) != currentCLK) counter++; // CW else counter--; // CCW}
Use Encoder library by Paul Stoffregen for interrupt-driven, bounce-free reading.
FAQ
Q: Does EC11 need pull-up resistors?
A: Yes — CLK, DT, and SW pins need 10kΩ pull-up resistors to VCC. Many EC11 breakout modules include these onboard.
Q: What’s the difference between half-shaft and plum shaft?
A: Half-shaft (D-shaft) has a flat side for knob set-screw; plum shaft has a cross-shaped profile. Both fit standard encoder knobs — verify knob compatibility before ordering.
Package Contents
- 1× EC11 Rotary Encoder with Push Switch
- 1× M7 Mounting Nut


- ♥Hear From Our Happy Customers
- ♥Verified Buyer Reviews
- ♥Trusted by Professionals and Engineers


