I wouldn't choose this tack, because the negative-going signal would not be within the range of allowable input signals on your microcontroller. Note that for the [STM32f405][1] the absolute minimum input for a 5V tolerant pin is \$V_{SS} -0.3\$. The way this is done is to offset the input signal to be midrange for zero input, attenuating if necessary. Note in your circuit, the inverting gain is -1 and the noninverting gain is +2. I see your need for accuracy, but suggest that if you can't handle a factor of two that attenuation would give you, you should be looking at your signal chain, perhaps considering a higher bit A2D. An alternate method would be to use a precision rectifier to make the signal positive, and a comparator, read on a digitial input, to tell you if the signal is positive or negative. This might be more disturbing to your signal chain than the offset and attenuation. [1]: https://www.st.com/resource/en/datasheet/stm32f405rg.pdf