TTP229 Capacitive 16-Key Touch Keypad
Overview
A sensor featuring 4×4 (16 total) capacitive touch keys designed based on the TTP229 capacitive touch sensor. Supports 8/16-key modes and single/multi-touch modes.

Specifications
- Operating voltage:2.4V~5.5V
- Built-in regulator
- Stand-by current At 3V, and sleep mode slow sampling rate 8Hz:
- Typical 2.5uA for 16 input keys
- Typical 2.0uA for 8 input keys
- 8 Key or 16 key modes
- Separate outputs to 8 keys in 8 key mode
- 2 wires serial output interface for both 16 key and 8 key mode
- Optional Multi-key or single-key
Mode Configuration
- 8-key mode: TP2 disconnected
- 16-key mode: TP2 connected
- Single touch mode: TP3, TP4 disconnected
- Multi-touch mode: TP3, TP4 connected

Supported GPIO
- Raspberry Pi 0~4
- Raspberry Pi 5
- BeagleBone Black/Green
- Jetson Nano
Commands
[INIT]
Enters initial configuration settings.
Item | Type | Description |
---|---|---|
SCL Pin | WRITE | Enter the GPIO number connected to the SCL pin. |
SDO Pin | WRITE | Enter the GPIO number connected to the SDO pin. |
Mode | WRITE | Select 8-key or 16-key mode. |
[GET_KEYS]
Reads the touch status of each key on the keypad in 16-bit format. This command must always be executed before running other commands. Example) In multi-touch mode, when keys 1, 2, and 5 are touched: binary 10011 → decimal 19
Item | Type | Description |
---|---|---|
Key Status (16-bit) | READ | A 16-bit number where each bit represents the touch status of each key on the keypad. |
[GET_KEY]
Returns the number of the currently touched key. The READ_KEYS command must be executed first before using this command. In multi-touch mode, it returns the highest numbered key among the touched keys.
Item | Type | Description |
---|---|---|
Key Number | READ | Number of the currently touched key. |
[IS_PRESSED]
Returns true if a specific numbered key is touched, false otherwise. The READ_KEYS command must be executed first before using this command.
Item | Type | Description |
---|---|---|
Key Number | WRITE | Enter the key number to check for touch status. |
Touch Status | READ | True if the entered key number is touched, false otherwise. |
Example
Objective
Display the corresponding key number on dashboard widgets when a touchpad key is touched.
Parts
Part | Quantity |
---|---|
Raspberry Pi 4 * | 1 |
TTP229 | 1 |
Wiring
Connect the following pins horizontally to each other.
TTP229 | GPIO |
---|---|
VCC | 3.3V |
GND | GND |
SCL | 23 * |
SDO | 24 * |

Project Link