Inputs & Controls

Buttons, rotary encoders, touch pads, keypads and joysticks. Debouncing is not optional and nobody tells you that first.

beginnerModule

HotSwap Arcade Kit: Buttons, Joystick and Coin Acceptor for ESP32-S3, Nano, Pico and Zero 2 W

One mainboard for ten buttons, a joystick, a 12 V coin acceptor and an SPI screen, and four adapters that plug it into an ESP32-S3, a classic Arduino Nano, a Raspberry Pi Pico or a Zero 2 W. Pin tables for every adapter, the power arrangement, and the code.

Inputs & Controls· ESP32-S3, Arduino, Raspberry Pi Pico, Raspberry Pi· 6 min
beginnerModuleUpdated

Slim Joystick

A thumb stick and six buttons on one long TinkerBlock board, on six pins. X and Y are two potentiometers, read on analog pins; KEY is the click under the stick, LOW at rest and HIGH when pushed; and all six buttons share BTNS, one analog pin, through a ladder of 10 kΩ resistors that gives each its own voltage. One button reads at a time.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Dual Axis Joystick

A thumbstick on a square TinkerBlock board, on six pins: GND, VCC, NC, X, Y and SW. X and Y are two potentiometers from VCC to GND, read on analog pins; SW is the click under the stick, LOW at rest and HIGH when pressed, with its own pull-down. Every line reaches VCC, so VCC is your board's logic voltage. A PWR light and an SW light show power and each click.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi, Raspberry Pi Pico· 5 min
beginnerModule

Arcade Coin Acceptor Module Kit, USB-C Powered

A 12 V arcade coin acceptor and the USB-C board that runs it from one cable and hands your microcontroller a logic-level pulse. Up to six coin types, trained on real coins, counted on a single GPIO.

Inputs & Controls· ESP32-S3, ESP32, ESP32-C3, Arduino, Raspberry Pi Pico, Raspberry Pi· 6 min
beginnerGuide

11. Potentiometers

Learn analog input and variables; use analogRead() to read the potentiometer and achieve outcome: when you turn the knob the serial monitor shows 0–1023, and the LED on D9 changes brightness (optional).

Inputs & Controls· Arduino· 20 min
beginnerGuide

15. Multiple Sensors with Serial

Review: combine potentiometer and button; outcome: serial shows potentiometer value and button state (pressed/released) at the same time, and the button still controls the LED.

Inputs & Controls· Arduino· 20 min
beginnerGuide

3. Digital Input: Button

Use the button as digital input; learn to combine digitalRead() with digitalWrite().

Inputs & Controls· Arduino· 20 min
intermediateGuide

30. Rotary Encoder

Use the rotary encoder for rotation direction and button; outcome: turn encoder to adjust LED brightness (CW brighter, CCW dimmer), press encoder button to toggle LED (off/on), and when turning on again the previous brightness is restored.

Inputs & Controls· Arduino· 30 min
intermediateGuide

32. I2C Matrix Keypad

Use Wire library to scan the matrix keypad over I2C; outcome: when you press a key, serial prints the character (0–9, A–D, , #).

Inputs & Controls· Arduino· 30 min
intermediateGuide

34. Joystick

Use analog input to read joystick direction; outcome: serial shows “Up / Left / Down / Right / Press / Center”; when you push a direction the LED is on, when you press or center the LED is off.

Inputs & Controls· Arduino· 30 min
advancedGuide

39. Project: Button Buzzer LED

Project: one button controls LED and buzzer; outcome: press = LED on and buzzer on, release = LED off and buzzer off.

Inputs & Controls· Arduino· 45 min
advancedGuide

40. Project: Potentiometer Control

Project: use potentiometer to control output; outcome: knob controls LED brightness (or buzzer pitch), serial shows potentiometer value and brightness/frequency.

Inputs & Controls· Arduino· 45 min
advancedGuide

42. Project: Joystick Control

Project: joystick direction and button control LED and buzzer; outcome: up = LED on, down = LED off, left = low tone, right = high tone, press = buzzer off; serial prints current action.

Inputs & Controls· Arduino· 45 min
beginnerGuide

5. Serial Monitor Debugging

Learn to use the serial monitor and Serial to print.

Inputs & Controls· Arduino· 20 min
beginnerGuide

7. Latching Button

Learn the latching button and state hold.

Inputs & Controls· Arduino· 20 min
beginnerGuide

9. Touch Sensor

Learn the touch sensor.

Inputs & Controls· Arduino· 20 min
beginnerModuleUpdated

Disc Potentiometer

A 10 kΩ thumbwheel potentiometer wired as a voltage divider: turn the wheel and SIGNAL runs from 0 V to VCC, read by one analog pin. The wheel lies flat and overhangs the board's edge, so a thumb turns it from the side.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Five-Direction Joystick

A five-way navigation switch on one analog pin: four tilts and a press, each joining SIGNAL to its own point of a chain of 10 kΩ resistors, so each push is its own voltage. Read it with analogRead, not digitalRead. VCC is your board's logic voltage.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Latching Button

A push-on, push-off switch with its pull-down and a red indicator LED already fitted: one press turns SIGNAL HIGH and it stays HIGH, through a reset or a power cut, until the next press.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Matrix Keypad with I2C Adapter (4x4, PCF8574)

A 4×4 keypad on two I²C wires instead of eight GPIO pins. The TK85 adapter at a fixed 0x20, the compact adapter in the keypad packs with eight addresses, the soft and heavy-duty keypads, and the two keymaps they need.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 6 min
beginnerModuleUpdated

Mechanical Key and LED

A keyboard switch with a WS2812 RGB LED under its clear keycap, as two separate circuits: the key reads HIGH when pressed through its own 10 kΩ pull-down, and the LED shows whatever colour your sketch sends it. VCC is your board's logic voltage.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Push Button

A 12 mm momentary push button with its 10 kΩ pull-down and a red press light already fitted: SIGNAL reads HIGH while the button is down. The first input in the kit, and the module that teaches debouncing.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

Rotary Encoder

An EC11-type rotary encoder with a push switch in its shaft, its pull-ups, filter capacitors and pull-down already fitted. Two contacts a quarter of a cycle apart give the direction; the program keeps the count. Pushed in, BTN reads HIGH.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 6 min
beginnerModuleUpdated

Rotary Potentiometer

A 10 kΩ linear potentiometer with a knob, wired as a voltage divider: SIGNAL gives 0 V to VCC as you turn. A red LED on the wiper glows as you turn up, and it bends the upper part of the reading: hard on 5 V, less on 3.3 V.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min
beginnerModuleUpdated

TTP223 Touch Sensor

A 12 mm gold pad and a TTP223 touch chip on a TinkerBlock board: SIGNAL is HIGH while a finger is on the pad, through plastic or glass as well as bare, and LOW the rest of the time. Momentary and active-high in copper, with no jumper. SIGNAL is the chip's own output from VCC, so VCC goes to your board's logic supply, and the pad must be left alone for the half second after power-up.

Inputs & Controls· ESP32-S3, ESP32, Arduino, Raspberry Pi· 5 min