Description
TTP224 4-Key Capacitive Touch Sensor Module
This module uses a TTP224 capacitive touch controller to detect touch on four pads. Each key has a corresponding digital output, making it useful as a touch-operated input panel in electronic projects.
🔧 Listed specifications
- Supply voltage: 2–5.5 V DC (as listed)
- Response time: 60 ms in fast mode; approximately 220 ms in low-power mode (as listed)
- Outputs: four digital signals, one for each touch key
- Current consumption: described as a few μA; actual current depends on mode and conditions
- Board dimensions: 35 × 29 mm
Version note: TTP224 chip and board revisions can differ in supply limits, response time, and default settings. The figures above are from this product listing. Check the exact module’s datasheet and printed pin/jumper labels before use.
⚙️ How it works
When a finger or other conductive object touches one of the four pads, the capacitance at that sensing electrode changes. The TTP224 detects the change and provides a digital signal for the corresponding key.
💡 Applications
- Touch switches and control panels
- Lighting controls
- User interfaces
- Interactive electronics projects
- Controls without mechanical buttons
📌 Pinout
- VCC: supply (2–5.5 V as listed; confirm your chip/module version)
- GND: ground
- S1, S2, S3, S4: digital outputs for the four touch keys
⚙️ Solder-pad configuration options
The product listing describes configuration pads for the following functions. Open/closed settings and defaults can vary by module revision, so check the board markings and its documentation before changing solder bridges.
- AHLB (Active High/Low): selects the output’s active level. The listing describes LOW as the default when open and HIGH when closed.
- LPMB (Low Power Mode): selects low-power operation; the listing describes normal mode when open and low-power mode when closed.
- MOT (Maximum On Time): controls the maximum activation time; the listing states 16 seconds when open and no limit when closed.
- TOG (Toggle Mode): selects toggle or direct behavior. The listing describes output-state change on each touch when open and return after touch when closed.
- SM (Single/Multi-Key Mode): selects whether keys may operate simultaneously or only one key at a time.
- OD (Open Drain): selects open-drain or CMOS output mode.
🔌 Using it with an Arduino Uno
Connect VCC and GND to a supply within the module’s verified rating. Connect S1–S4 to digital inputs. Make sure the output voltage and polarity are compatible with the Arduino input and the selected module settings.
Basic Arduino example
#define PAD1 2
#define PAD2 3
#define PAD3 4
#define PAD4 5
void setup() {
Serial.begin(9600);
pinMode(PAD1, INPUT);
pinMode(PAD2, INPUT);
pinMode(PAD3, INPUT);
pinMode(PAD4, INPUT);
}
void loop() {
if (digitalRead(PAD1) == HIGH) {
Serial.println("PAD1 touch detected");
}
if (digitalRead(PAD2) == HIGH) {
Serial.println("PAD2 touch detected");
}
if (digitalRead(PAD3) == HIGH) {
Serial.println("PAD3 touch detected");
}
if (digitalRead(PAD4) == HIGH) {
Serial.println("PAD4 touch detected");
}
delay(100);
}
This example reads the four digital outputs and reports which touch pad is active in the Serial Monitor.
Wiring for the basic example
- VCC: 5V (Arduino), only if supported by your board revision
- GND: GND (Arduino)
- S1: D2 (Arduino)
- S2: D3 (Arduino)
- S3: D4 (Arduino)
- S4: D5 (Arduino)
Advanced example with an I2C LCD
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define PAD1 2
#define PAD2 3
#define PAD3 4
#define PAD4 5
void setup() {
lcd.begin();
lcd.backlight();
Serial.begin(9600);
pinMode(PAD1, INPUT);
pinMode(PAD2, INPUT);
pinMode(PAD3, INPUT);
pinMode(PAD4, INPUT);
}
void loop() {
lcd.clear();
if (digitalRead(PAD1) == HIGH) {
lcd.print("PAD1 touch detected");
}
if (digitalRead(PAD2) == HIGH) {
lcd.print("PAD2 touch detected");
}
if (digitalRead(PAD3) == HIGH) {
lcd.print("PAD3 touch detected");
}
if (digitalRead(PAD4) == HIGH) {
lcd.print("PAD4 touch detected");
}
delay(1000);
}
This example reads the four touch inputs and displays the active key on an I2C LCD.
Components for the advanced example
- Arduino Uno
- TTP224 capacitive touch module
- I2C 1602 LCD
- Connecting wires
Code overview
- Include libraries:
#include <Wire.h>and#include <LiquidCrystal_I2C.h>for the LCD. - Initialization: Initializes the LCD and configures the four sensor pins as inputs.
- Read and display: Reads the touch-key outputs and displays them on the LCD.
Wiring for the LCD example
- VCC: 5V (Arduino), only if supported by your board revision
- GND: GND (Arduino)
- S1: D2 (Arduino)
- S2: D3 (Arduino)
- S3: D4 (Arduino)
- S4: D5 (Arduino)
- LCD VCC: 5V (Arduino)
- LCD GND: GND (Arduino)
- LCD SCL: A5 (Arduino Uno)
- LCD SDA: A4 (Arduino Uno)
Library installation
To use the I2C LCD with Arduino, install the LiquidCrystal I2C library in Arduino IDE:
- Open Arduino IDE and ensure it is up to date.
- Open the Library Manager from Sketch → Include Library → Manage Libraries.
- Search for “LiquidCrystal I2C”.
- Select and install the library.
Disconnect power before changing solder bridges or wiring. Check the module’s output configuration and datasheet before connecting it to other equipment.









