Hi @ngrigoriadis i'm currently working on implementing an sdi-12 sensor with a stm32f446re, and i have a similar problem as yours. I can't comment otherwise i would've instead of posting an answer and i thought contacting you via Linkedin wouldn't have been wise. I have a couple questions regarding your solution. First, how do you invert the idle line of UART, i can't seem to find a way; second, how did u implement the break signal and marking before sending the command? I've found in USART1->CR1 a 'send-break' bit which i've enabled, but i can't find a way of controlling the lenght of said signal and how to have a marking before my command. Any help would be deeply appreciated, if there's any other way i contact you let me know.