KY-040 Rotary Encoder Module 360° Push Button 20 Pulse 5V
KY-040 360° Rotary Encoder Module with Push Button — 20 Pulse, 5V
The KY-040 Rotary Encoder Module is a compact, versatile input component ideal for DIY electronics projects, Arduino builds, and maker workbenches. Featuring full 360-degree rotation with 20 pulses per revolution and a built-in push button, this module gives you precise incremental control in a small, easy-to-wire package.
Key Features
- 360° Continuous Rotation: Smooth, full-rotation encoding with no end-stop — ideal for menus, volume controls, and position tracking.
- 20 Pulses Per Revolution: Provides reliable incremental steps for accurate input detection.
- Integrated Push Button: Press the shaft to reset the count to zero or trigger a secondary action — no extra component needed.
- 5V Compatible: Works directly with Arduino, Raspberry Pi, and other 5V microcontroller platforms.
- Compact Form Factor: Measures approximately 31 × 19 × 29 mm (1.22" × 0.75" × 1.14") — fits easily on a breadboard or inside an enclosure.
- PCB-Mounted: Built on a quality PCB with standard through-hole pin headers for simple plug-in wiring.
- 3 Color Options: Choose the finish that suits your project aesthetic.
Specifications
| Model | KY-040 |
| Operating Voltage | 5V DC |
| Pulses Per Revolution | 20 |
| Rotation | 360° (full, continuous) |
| Push Button | Yes (resets counter to 0) |
| Dimensions | ~31 × 19 × 29 mm / 1.22" × 0.75" × 1.14" |
| Construction | Electronic components on PCB |
Perfect For
- Arduino & Raspberry Pi projects
- DIY audio volume controls
- Menu navigation in embedded systems
- Motor speed or position tuning
- CNC and robotics builds
- Maker and electronics hobbyist prototyping
For guidance on safe handling of electronic components and DIY electronics projects, visit the U.S. Consumer Product Safety Commission (CPSC).
Frequently Asked Questions
Q: What does the KY-040 rotary encoder module do?
A: The KY-040 rotary encoder module converts rotational movement into digital pulses, outputting 20 incremental signals per full 360° turn. It also features a built-in push button that, when pressed, can reset the count back to zero or trigger a secondary function in your code — making it ideal for navigation, tuning, and control interfaces in DIY electronics projects.
Q: Is the KY-040 module compatible with Arduino and Raspberry Pi?
A: Yes. The KY-040 operates at 5V DC, making it directly compatible with Arduino boards, Raspberry Pi (with appropriate resistors or logic-level handling), and most other common 5V microcontroller development platforms. It uses a standard 5-pin interface (GND, +, SW, DT, CLK) that connects easily via breadboard or jumper wires.
Q: What is the KY-040 module made of and how big is it?
A: The module is constructed from quality electronic components mounted on a PCB (printed circuit board). It measures approximately 31 × 19 × 29 mm (1.22" × 0.75" × 1.14"), making it a very compact addition to any electronics project or enclosure.
Q: How many pulses per revolution does the KY-040 encoder produce?
A: The KY-040 produces 20 pulses per full revolution, meaning each detent or step represents 1/20th of a complete rotation. This gives you consistent, repeatable incremental input — perfect for menu selection, value adjustment, or position sensing.