I need to read a noisy 10V hall sensor square wave signal using an STM32 (3.3V 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 10V (or possibly below 0V?).
I put together this scheme using a 3.3V 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 diosed over 'regular' diodes. Can't we just use a 'regular' diode from noisy 3.3V to 3.3V so that any excess voltage will flow to the 3.3V voltage source, instead of zener from 0V to noisy 3.3V?