Chapter 2. API Reference
TSENS_DAC_L0 = 0
offset = -2, measure range: 50℃ ~ 125℃, error < 3℃.
TSENS_DAC_L1
offset = -1, measure range: 20℃ ~ 100℃, error < 2℃.
TSENS_DAC_L2
offset = 0, measure range:-10℃ ~ 80℃, error < 1℃.
TSENS_DAC_L3
offset = 1, measure range:-30℃ ~ 50℃, error < 2℃.
TSENS_DAC_L4
offset = 2, measure range:-40℃ ~ 20℃, error < 3℃.
TSENS_DAC_MAX
TSENS_DAC_DEFAULT = TSENS_DAC_L2
2.2.20 Touch Sensor
Introduction
A touch sensor system is built on a substrate which carries electrodes and relevant connections under a protective flat
surface. When a user touches the surface, the capacitance variation is used to evaluate if the touch was valid.
Touch sensor on ESP32-S2 can support up to 14 capacitive touch pads / GPIOs.
The sensing pads can be arranged in different combinations (e.g., matrix, slider), so that a larger area or more points
can be detected. The touch pad sensing process is under the control of a hardware-implemented finite-state machine
(FSM) which is initiated by software or a dedicated hardware timer.
For design, operation, and control registers of a touch sensor, see ESP32-S2 Technical Reference Manual > On-Chip
Sensors and Analog Signal Processing [PDF].
In-depth design details of touch sensors and firmware development guidelines for ESP32-S2 are available in Touch
Sensor Application Note.
Functionality Overview
Description of API is broken down into groups of functions to provide a quick overview of the following features:
• Initialization of touch pad driver
• Configuration of touch pad GPIO pins
• Taking measurements
• Adjusting parameters of measurements
• Filtering measurements
• Touch detection methods
• Setting up interrupts to report touch detection
• Waking up from Sleep mode on interrupt
For detailed description of a particular function, please go to Section API Reference. Practical implementation of this
API is covered in Section Application Examples.
Initialization Before using a touch pad, you need to initialize the touch pad driver by calling the function
touch_pad_init(). This function sets several .._DEFAULT driver parameters listed in API Reference under
Macros. It also removes the information about which pads have been touched before, if any, and disables interrupts.
If the driver is not required anymore, deinitialize it by calling touch_pad_deinit().
Espressif Systems 397
Submit Document Feedback
Release v4.4