EC11 Style Digital Rotary Encoder Potentiometer Module with Knob

SKU: FA3022-1
Module Type

Digital rotary encoder module

Encoder Type

EC11 incremental (quadrature output)

Detents per Revolution

20 steps

Output Type

Digital (A/B quadrature) + Push button (SW)

Operating Voltage

3.3V – 5V DC

Rotation Range

360° endless (no mechanical stops)

Pin Count

5 pins (VCC, GND, A, B, SW)

Knob

Included

The EC11 Style Digital Rotary Encoder Potentiometer Module with Knob is a compact, precision rotary input device designed for Arduino, Raspberry Pi, ESP32, and other microcontroller projects. Unlike standard analog potentiometers, this module uses a digital incremental encoder that provides quadrature pulse outputs for detecting rotation direction and counting steps. It also includes a built-in push button (activated by pressing the shaft), making it an ideal solution for menu navigation, volume control, parameter adjustment, and interactive user interfaces.

At the heart of the module is an EC11-style incremental rotary encoder with 20 detents (mechanical clicks) per revolution. The encoder outputs two quadrature square waves (A and B channels) that are 90° out of phase. By monitoring the sequence of these pulses, your microcontroller can determine rotation direction (clockwise or counter-clockwise) and count the number of steps. The built-in push button provides an additional digital input for selection, confirmation, or mode switching.

The module features a 5-pin interface (VCC, GND, A, B, SW) for easy connection to microcontrollers. The digital outputs connect directly to your microcontroller’s digital input pins, allowing you to read rotation and button presses in real time. The compact form factor with mounting holes allows easy integration into control panels, audio equipment, and custom enclosures. The included knob provides comfortable, precise control for extended use.

The key advantages of the EC11 digital rotary encoder over analog potentiometers include:

  • Endless rotation — No mechanical stops; rotate continuously in either direction

  • Digital precision — No ADC required; counts discrete steps for accurate position tracking

  • Direction detection — Quadrature outputs determine clockwise vs. counter-clockwise rotation

  • Built-in push button — Additional input for selection and confirmation

  • No wear-out drift — Digital operation avoids the analog drift of potentiometers

The module operates from a 3.3V to 5V DC supply, making it compatible with both modern low-power microcontrollers and traditional 5V systems. The 20-step resolution provides fine control for menu navigation and parameter adjustment, while the detent feedback gives users a satisfying tactile click with each step.

Important Note: The EC11 encoder uses quadrature output, which requires debouncing in software for reliable operation. Mechanical encoders can produce contact bounce, so implement a debounce routine or use a hardware debounce circuit. The module is not waterproof and should be kept dry.

The EC11 Style Digital Rotary Encoder Module is widely used in menu navigation systems, volume controls, parameter adjustment interfaces, audio equipment, test instruments, 3D printer controls, robotic control panels, and educational STEM projects. It is also popular in DIY electronics and maker projects where precise rotary input is required.

Whether you are building a custom audio controller, a menu-driven device, or a robot control panel, the EC11 Style Digital Rotary Encoder Module provides a reliable, precise solution for digital rotary input with button functionality. It is suitable for individual makers, students, and businesses purchasing in bulk for product development or educational programs.

Features

  • EC11 incremental rotary encoder — Digital quadrature output for precise position tracking

  • 20 detents per revolution — Tactile click feedback with each step

  • Quadrature A/B outputs — Direction detection (clockwise/counter-clockwise)

  • Built-in push button — Additional input for selection and confirmation

  • Endless rotation — No mechanical stops; rotate continuously in either direction

  • Digital precision — No ADC required; counts discrete steps

  • 5-pin interface — VCC, GND, A, B, SW for simple connection

  • Wide voltage range — 3.3V to 5V DC, compatible with Arduino, ESP32, Raspberry Pi

  • Knob included — Comfortable, precise control for extended use

  • Wide application range — Menu navigation, volume control, parameter adjustment, robotics

Technical Specifications 

# Parameter Specification
1 Module Type Digital rotary encoder module
2 Encoder Type EC11 incremental (quadrature output)
3 Detents per Revolution 20 steps
4 Output Type Digital (A/B quadrature) + Push button (SW)
5 Operating Voltage 3.3V – 5V DC
6 Rotation Range 360° endless (no mechanical stops)
7 Pin Count 5 pins (VCC, GND, A, B, SW)
8 Knob Included

Usage

Getting Started

  1. Connect power — Supply 3.3V or 5V DC to the VCC pin and GND to ground.

  2. Connect the encoder outputs — Connect the A and B pins to digital input pins on your microcontroller (e.g., D2 and D3 on Arduino).

  3. Connect the button — Connect the SW pin to a digital input pin (e.g., D4 on Arduino). Enable the internal pull-up resistor if needed.

  4. Upload a test sketch — Read the A and B pin states to detect rotation and direction. Read the SW pin state to detect button presses.

  5. Implement debouncing — Add a debounce routine to filter out contact bounce for reliable operation.

  6. Implement control logic — Use the rotation count and direction for menu navigation, volume control, or parameter adjustment.

Pin Connections

Module Pin Function
VCC Power (3.3V–5V)
GND Ground
A Encoder channel A (quadrature)
B Encoder channel B (quadrature)
SW Push button (LOW when pressed)

Rotation Direction Detection

A B Direction
0 0 Rest
1 0 Clockwise step
1 1 Rest
0 1 Counter-clockwise step

Example Arduino Code

cpp
#define ENC_A 2
#define ENC_B 3
#define ENC_SW 4

int lastStateA;
int counter = 0;

void setup() {
  Serial.begin(9600);
  pinMode(ENC_A, INPUT_PULLUP);
  pinMode(ENC_B, INPUT_PULLUP);
  pinMode(ENC_SW, INPUT_PULLUP);
  lastStateA = digitalRead(ENC_A);
}

void loop() {
  int currentStateA = digitalRead(ENC_A);

  if (currentStateA != lastStateA) {
    if (digitalRead(ENC_B) != currentStateA) {
      counter++;
      Serial.println("Clockwise");
    } else {
      counter--;
      Serial.println("Counter-clockwise");
    }
    Serial.print("Position: ");
    Serial.println(counter);
  }

  lastStateA = currentStateA;

  if (digitalRead(ENC_SW) == LOW) {
    Serial.println("Button Pressed");
  }
}

Typical Applications

  • Menu navigation — Scroll through menus and settings

  • Volume controls — Continuous rotary input for audio equipment

  • Parameter adjustment — Fine-tune values in test instruments

  • Audio equipment — Tone, balance, and volume controls

  • 3D printer controls — Menu navigation and parameter adjustment

  • Robotic control panels — Manual positioning and mode selection

  • Test instruments — Frequency, amplitude, and setting adjustment

  • Educational STEM projects — Teaching digital input and encoder principles

Notes for Business Buyers

  • Digital precision — No ADC required; counts discrete steps for accurate tracking.

  • Direction detection — Quadrature outputs determine rotation direction.

  • Built-in push button — Additional input for selection and confirmation.

  • Suitable for bulk purchasing — Ideal for audio equipment manufacturers, control panel makers, and educational institutions.

Q: What is the EC11 Digital Rotary Encoder Module used for?

It is a digital rotary input device for menu navigation, volume control, parameter adjustment, and interactive user interfaces in microcontroller projects.

Q: What is the difference between this encoder and an analog potentiometer?

The EC11 encoder is a digital incremental encoder that outputs quadrature pulses and has endless rotation with no mechanical stops. An analog potentiometer outputs a variable voltage and has a limited rotation range (typically 270°–300°).

Q: How many steps per revolution does the encoder have?

The EC11 encoder has 20 detents (mechanical clicks) per revolution.

Q: What voltage does the module require?

It operates from 3.3V to 5V DC, making it compatible with Arduino, ESP32, Raspberry Pi, and other microcontrollers.

Q: How do I detect rotation direction?

Monitor the A and B quadrature outputs. The phase relationship between the two signals determines the direction of rotation.

Q: Does the encoder have a built-in button?

Yes. The encoder shaft can be pressed down to activate the built-in push button (SW pin), providing an additional input for selection and confirmation.

Q: Why does my encoder produce multiple counts per step?

Mechanical encoders can produce contact bounce, resulting in multiple counts per detent. Implement a debounce routine in your code or use a hardware debounce circuit.

Q: What is the output logic of the button?

The SW pin is LOW when the button is pressed and HIGH when released (with pull-up enabled).

Q: Is the module waterproof?

No. The module is not waterproof and should be kept dry.

Q: Can I purchase in bulk for a product development project?

Yes. This module is suitable for both individual users and business purchasing, including audio equipment manufacturers, control panel makers, and educational institutions.