Modul Rotary Encoder KY-040 adalah kenop digital yang bisa diputar tanpa batas, menghitung satu langkah setiap klik, dan berfungsi sebagai tombol tekan ketika porosnya ditekan. Berbeda dengan potensiometer, encoder ini melaporkan seberapa jauh dan ke arah mana ia diputar, bukan posisi mutlak; satu putaran biasanya punya 20 klik. Ketika poros berputar, pin CLK dan DT menghasilkan dua gelombang kotak yang bergeser 90 derajat satu sama lain, dan arahnya diketahui dari mana yang berubah lebih dulu. Modul ini punya 5 pin (CLK, DT, SW, +, dan GND), bekerja di 3,3–5 V, dan punya resistor pull-up di CLK dan DT. Pada susunan umum, + ke 5 V (3,3 V di ESP32 dan Pico), CLK dan DT ke dua pin yang mendukung interupsi (D2 dan D3 di Arduino Uno), dan SW ke pin yang diatur sebagai INPUT_PULLUP. Karena kontaknya memantul (bounce), debouncing atau interupsi mencegah klik terlewat. Dipakai untuk menu LCD dan OLED, kendali volume dan kecerahan, penghitung, dan kendali posisi motor stepper.

