Buttons, knobs and input modules for Arduino and ESP32
7 parts, each with its pinout, wiring per board, code that compiles and the mistakes to avoid.
4×4 KeypadA 16-button matrix keypad wired as 4 rows by 4 columns, read over 8 digital pins with no power supply of its own.
KY-040 Rotary EncoderA KY-040 incremental rotary encoder with quadrature CLK and DT outputs plus a push switch, for endless knob input.
KY-023 JoystickA KY-023 two-axis analog thumb joystick with a push button, built from two potentiometers for X and Y control.
DIP Switch (4 positions)Four independent on/off slide switches in a breadboard-friendly DIP package, read by a microcontroller as a 4-bit setting.
IR RemoteA 20-key infrared handset that sends NEC codes on a 38 kHz carrier, read by an IR receiver module on any Arduino, ESP32 or Pico.
Keypad 4×3A 12-key phone-style membrane keypad (0 to 9, * and #) wired as a 4-row by 3-column matrix on a 7-pin ribbon.
MPR121A 12-channel capacitive touch controller on Adafruit's breakout, turning foil, fruit or wire into touch buttons over I2C.