I need to read a noisy 10 V Hall sensor square wave signal using an STM32 (3.3 V logic).
To reduce the voltage I can use a simple resistor voltage divider, however, I'm not certain how to protect the STM32 from voltage spikes in case the signal source goes over 10 V (or possibly below 0 V?).
I put together this scheme using a 3.3 V Zener diode which seems to work in the simulation, but I'm concerned because other voltage protection circuits involve multiple Zener diodes: link
Also, I fail to understand why one would use Zener diodes over 'regular' diodes. Can't we just use a 'regular' diode from noisy 3.3 V to 3.3 V so that any excess voltage will flow to the 3.3 V voltage source, instead of a Zener diode from 0 V to noisy 3.3 V?