Adruino / Teensy 4.1 - normalize voltage
I'm very new to the hardware world — I'm much more comfortable with pure software development. For this project, I need your help to guide me in the right direction.
I need to use four vibration or impact sensors connected to a Teensy 4.0 board provided by my school (I can change the microcontroller if needed, but based on my research, the Teensy 4.0 seems to be the best fit for my use case).
My goal is to use simple piezoelectric sensors to detect strong vibration peaks. When a peak is detected, I want the sensor to send a simple pulse to the Teensy. The Teensy will then timestamp the event and record the origin (i.e., which sensor triggered it).
From the timing and sensor origin, I plan to triangulate the point of impact. From my research, I’ve learned that a piezoelectric sensor can produce a voltage higher than 3.3V, which is the maximum the Teensy 4.0 can handle.
So my main question is: how can I safely 'normalize' or condition the voltage from the piezo sensors so it doesn't damage the Teensy? I don't need to measure the force, duration, or shape of the vibration — I just want to use the piezo sensors as very precise digital inputs (like buttons).
P.S. I’m not sure if simple piezoelectric sensors are the best components for this kind of binary signal, or if my triangulation method is optimal. I think I’ll understand more once I can start testing my ideas.
2 Replies
I have created this small diagram to help me understand a bit more.
I found it on a forum on PJRC, but as I delve deeper into my research, I think this schematic might not be very secure for the Teensy.
I also discovered the use of transistors, but I'm not quite sure if they are necessary for my application or where I can place them.

two 1N5819 "Schottky" diodes might be a better choice than zeners.
you'd wire them like those zeners. "D2" would then prevent A0 from going higher than 3.3v + 0.3v, "D1" would prevent signal from going below 0v - 0.3v.