ESP32-S2 Temperature Sensor¶
Overview¶
The ESP32-S2 has a built-in temperature sensor. The temperature sensor module contains an 8-bit Sigma-Delta ADC and a temperature offset DAC. The conversion relationship is the first columns of the table below. Among them, offset = 0 is the main measurement option, and other values are extended measurement options.
| offset | measure range(Celsius) | measure error(Celsius) | 
|---|---|---|
| -2 | 50 ~ 125 | < 3 | 
| -1 | 20 ~ 100 | < 2 | 
| 0 | -10 ~ 80 | < 1 | 
| 1 | -30 ~ 50 | < 2 | 
| 2 | -40 ~ 20 | < 3 | 
Application Example¶
Temperature sensor reading example: peripherals/temp_sensor.
API Reference - Normal Temp Sensor¶
Header File¶
Functions¶
- 
esp_err_t temp_sensor_set_config(temp_sensor_config_t tsens)¶
- Set parameter of temperature sensor. - Return
- ESP_OK Success
 
- Parameters
- tsens:
 
 
- 
esp_err_t temp_sensor_get_config(temp_sensor_config_t *tsens)¶
- Get parameter of temperature sensor. - Return
- ESP_OK Success
 
- Parameters
- tsens:
 
 
- 
esp_err_t temp_sensor_start(void)¶
- Start temperature sensor measure. - Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG
 
 
- 
esp_err_t temp_sensor_read_raw(uint32_t *tsens_out)¶
- Read temperature sensor raw data. - Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG tsens_outis NULL
- ESP_ERR_INVALID_STATE temperature sensor dont start
 
- Parameters
- tsens_out: Pointer to raw data, Range: 0 ~ 255
 
 
- 
esp_err_t temp_sensor_read_celsius(float *celsius)¶
- Read temperature sensor data that is converted to degrees Celsius. - Note
- Should not be called from interrupt.
- Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG ARG is NULL.
- ESP_ERR_INVALID_STATE The ambient temperature is out of range.
 
- Parameters
- celsius: The measure output value.
 
 
Structures¶
- 
struct temp_sensor_config_t¶
- Configuration for temperature sensor reading. - Public Members - 
temp_sensor_dac_offset_t dac_offset¶
- The temperature measurement range is configured with a built-in temperature offset DAC. 
 - 
uint8_t clk_div¶
- Default: 6 
 
- 
temp_sensor_dac_offset_t 
Enumerations¶
- 
enum temp_sensor_dac_offset_t¶
- Values: - 
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¶
 
-