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_esp32s2.
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 NULLESP_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¶ temperature sensor range option.
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¶ 
-