El ESP32 cuenta con diez pines GPIO táctiles capacitivos. Estos pines GPIO pueden detectar variaciones en cualquier elemento con carga eléctrica, como la piel humana. Por lo tanto, pueden detectar las variaciones inducidas al tocarlos con un dedo.
Estos pines se pueden integrar fácilmente en almohadillas capacitivas y reemplazar botones mecánicos.
Revise la distribución de pines de su placa para localizar los diez sensores táctiles diferentes; los pines sensibles al tacto están resaltados en rosa.

Como se puede ver, el sensor táctil 0 corresponde a GPIO 4, el sensor táctil 2 a GPIO 2, y así sucesivamente.
Nota: El sensor táctil 1 es GPIO 0. Sin embargo, no está disponible como pin en esta placa de desarrollo ESP32 (versión con 30 GPIO). GPIO 0 sí está disponible en la nueva versión de esta placa con 36 pines.
Nota: Al momento de escribir esta unidad, existe un problema con la asignación de pines táctiles en Arduino IDE. GPIO 33 está intercambiado con GPIO 32 en la asignación. Esto significa que si desea referirse a GPIO 32, debe usar T8 en el código. Si desea referirse a GPIO 33, debe usar T9. Si no tiene este problema, ignore esta nota.
touchRead()
Leer el sensor táctil es sencillo. En el IDE de Arduino, se usa la función touchRead(), que acepta el pin GPIO que se desea leer como argumento de la función.
touchRead(GPIO)
Lectura del sensor táctil
// Touch0 es T0 el cual está en GPIO 4.void setup(){Serial.begin(115200);delay(1000); // espera el envío por el puerto serieSerial.println("Sensor táctil ESP32");}void loop(){Serial.println(touchRead(4)); // obtenemos el valor Touch 0 pin = GPIO 4delay(1000);}