Integriamo in Home Assistant il sensore touch TTP223, collegandolo ad una ESP32 e programmandolo in ESPHome
Il sensore touch TTP223 rappresenta una soluzione economica e versatile per aggiungere funzionalità di input capacitivo ai propri progetti basati su microcontrollore. La sua compattezza e il basso consumo lo rendono ideale per applicazioni domestiche o prototipi in cui uno switch fisico tradizionale potrebbe risultare ingombrante o poco elegante. Accoppiato a un ESP32 e programmato tramite ESPHome, il TTP223 permette di ottenere un controllo reattivo e affidabile, facilmente integrabile in sistemi domotici basati su Home Assistant, senza dover scrivere complessi firmware da zero.
- Acquistalo su Amazon: https://amzn.to/4pWNQIf
Specifiche tecniche
Il TTP223 è un sensore capacitivo progettato per rilevare il tocco umano con un funzionamento estremamente semplice. Opera su tensioni comprese tra 2,0 e 5,5 V e può essere configurato in modalità latching o momentanea, a seconda delle versioni disponibili in commercio.

In condizioni di standby (quando non viene toccato), il modulo assorbe pochissima corrente, generalmente tra 1 e 2 µA. Questo lo rende perfetto anche per applicazioni a batteria, visto che l’impatto energetico è quasi trascurabile. Durante la rilevazione del tocco, il consumo sale ma rimane comunque molto contenuto, tipicamente intorno ai 3–5 mA a seconda della tensione di alimentazione.

La sua uscita digitale fornisce un segnale pulito, facilmente leggibile da microcontrollori come l’ESP32, permettendo di implementare logiche complesse senza ulteriori circuiti di condizionamento del segnale.

Il TTP223, sebbene estremamente economico, si dimostra un sensore touch sorprendentemente affidabile e versatile. La sua integrazione con ESP32 tramite ESPHome consente di ottenere un controllo immediato e stabile, con un setup rapido e senza complicazioni software. Per chi cerca un input touch semplice, economico e facilmente programmabile, il TTP223 rappresenta una scelta eccellente.

Collegamenti
Per collegare il TTP223 a un ESP32 è sufficiente rispettare pochi collegamenti fondamentali. L’alimentazione va fornita ai pin VCC e GND del sensore, mentre il pin OUT deve essere connesso a uno dei GPIO digitali dell’ESP32, come nel nostro esempio che è stato connesso al GPIO14. È consigliabile collegare anche una resistenza di pull-up se si riscontra instabilità nel segnale, anche se molti moduli TTP223 già la integrano. La semplicità dei collegamenti rende questo sensore ideale per chi vuole sperimentare rapidamente senza doversi preoccupare di complicati schemi elettrici o conversioni analogico/digitali.

Codice
Andiamo a creare un nuovo device su ESPHome e chiamiamolo TTP223 . Saltiamo per il momento la connessione e selezioniamo la scheda che dobbiamo programmare (ESP32).

Una volta creato, clicchiamo su EDIT per modificare il codice.

Questo è il codice per configurare una ESP32 per leggere lo stato del pulsante e inviarli a Home Assistant tramite ESPHome. Il dispositivo sarà accessibile in rete tramite Wi-Fi e potrà essere aggiornato via OTA (Over-The-Air) senza bisogno di connessione fisica. Potete scaricarlo a questo LINK.
All’inizio, il codice definisce il nome del dispositivo, sia quello tecnico (“ttp223”) che quello più leggibile per Home Assistant (“TTP223”).
esphome:
name: ttp223
friendly_name: TTP223
Poi si specifica che il microcontrollore utilizzato è un ESP32 e che il firmware verrà compilato usando il framework Arduino, che è più semplice e supportato rispetto ad altre alternative come ESP-IDF.
esp32:
board: esp32dev
framework:
type: arduino
Il codice attiva il logger, che serve a registrare gli eventi e inviare messaggi di debug. Inoltre, viene attivata l’API di ESPHome, che permette a Home Assistant di comunicare con il dispositivo in modo sicuro grazie a una chiave di crittografia.
logger:
api:
encryption:
key: "abf6cQ/Y799f3acjZh+a1UJyaid3bK6rhuxNO9//oX8="
Per evitare di dover collegare il dispositivo fisicamente ogni volta che si vuole aggiornare il firmware, viene attivata la modalità OTA (Over-The-Air), con una password di sicurezza.
ota:
- platform: esphome
password: "f7fc8b31874ae3f764b2badcd558f024"
Per collegarsi alla rete, il codice usa le credenziali Wi-Fi salvate nei secrets di ESPHome (file separato non visibile nel codice). Se la connessione fallisce, il dispositivo crea un hotspot Wi-Fi di emergenza (“TTP223 Fallback Hotspot”) con una password predefinita, in modo che sia possibile riconfigurarlo. Inoltre, è presente la funzione captive portal, che permette di riconfigurare il Wi-Fi direttamente da un browser in caso di problemi di connessione.
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Ttp223 Fallback Hotspot"
password: "gcCf0suPtHau"
captive_portal:
Indichiamo che stiamo dichiarando un sensore binario, cioè un dispositivo che può assumere solo due stati: acceso/spento, vero/falso, toccato/non toccato. Il segnale arriverà dal pin digitale 14 (GPIO14) dell’ESP32, specificando con mode: INPUT che il pin è un ingresso digitale, settando la mancanza del tocco come LOW, adoperando inverted: False. Infine, definiamo il nome del sensore, che servirà ad Home Assistant per mostrare l’icona e interpretare correttamente il tipo di dispositivo.
binary_sensor:
- platform: gpio
pin:
number: GPIO14
mode: INPUT
inverted: False
name: "TTP223"
Salvate e verificate con Validate se il codice è stato scritto correttamente.

Collegate la ESP32 al computer tramite cavo USB, e cliccate su Install.

Conclusa l’installazione, integriamo il device su Home Assistant.

Dovrebbe essere arrivata una notifica sulla plancia. In ogni caso, per integrarlo andate su Impostazioni -> Dispositivi e servizi e apparirà il dispositivo TTP223 da integrare
