diff --git a/ports/esp32/machine_touchpad.c b/ports/esp32/machine_touchpad.c
index 96de1a2a1d74a0e753acddb4a422240df8a624a7..dd36bdd7645f28075cf672e96dbe8d13a3a60702 100644
--- a/ports/esp32/machine_touchpad.c
+++ b/ports/esp32/machine_touchpad.c
@@ -69,6 +69,7 @@ STATIC mp_obj_t mtp_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_
     static int initialized = 0;
     if (!initialized) {
         touch_pad_init();
+        touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
         initialized = 1;
     }
     esp_err_t err = touch_pad_config(self->touchpad_id, 0);