Code to read DS18S20 1wire protocol was taken from this page https://controllerstech.com/ds18b20-and-stm32/
The library for creating microseconds delays was taken from https://github.com/keatis/dwt_delay
Schematic