1| Supported Targets | ESP32-S2 |
2| ----------------- | -------- |
3
4# ULP-RISC-V DS18B20 Temperature Sensor OneWire Communication
5
6This example demonstrates how to program the ULP-RISC-V co-processor to read temperature from a [DS18B20](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) temperature sensor over 1-Wire.
7When the measurement exceeds the limit set(32.5 degrees) the co-processor will wake up the main CPU from deep-sleep and the main CPU will print the temperature measurement.
8
9### Hardware Required
10
11* A development board with a SOC which has a RISC-V ULP coprocessor (e.g., ESP32-S2 Saola)
12* A USB cable for power supply and programming
13* A DS18B20 temperature sensor
14
15Example connection :
16
17| ESP Dev-kit  | DS18B20 |
18| ------------ | ------- |
19| GPIO4        | DQ      |
20| VCC 3.3V     | VDD     |
21| GND          | GND     |
22
23
24## Example output
25
26```
27Not a ULP wakeup, initializing it!
28Entering in deep sleep
29
30...
31
32ULP-RISC-V woke up the main CPU, temperature is above set limit!
33ULP-RISC-V read temperature is 32.562500
34Entering in deep sleep
35
36...
37
38ULP-RISC-V woke up the main CPU, temperature is above set limit!
39ULP-RISC-V read temperature is 33.000000
40Entering in deep sleep
41
42```
43