I have a piezoelectric disc, and I'm trying to use to build a primitive sonar. I connected the disc to an oscilloscope and if I press very hard on the disc, I see that the voltage can spike pretty high. I'm not sure how much current there is.

In an application with a piezoelectric device, should I use a voltage regulator on the output of the piezo, and would that protect my circuit on the other side? I want to connect it to an ATTiny85 without frying the chip.

  • 5
    \$\begingroup\$ No, you wouldn't use a voltage regulator you'd use a series current limiting resistor. \$\endgroup\$
    – Andy aka
    Commented Oct 20, 2020 at 22:21
  • 2
    \$\begingroup\$ If you want to transmit a SONAR pulse to get the piezo to ring strong, you want to have a HV transistor to drive it high then open and ring then clamp shut to 0V to discharge the energy fast (blanking) pulse then the Rx echos can be measured except for the tbd xxx ns or us delay time to stop transmitting the ringing pulse. So adding a series resistor makes that less sensitive for the transmission pulse. otherwise a step up pulse transformer can be attempted for Tx with a high side PNP current source then an NPN clamp clamp to gnd with a small deadtime using a half bridge BJT driver. \$\endgroup\$ Commented Oct 20, 2020 at 23:39
  • 1
    \$\begingroup\$ If you define your design specs in good detail and any component spec links, then a good answer is possible \$\endgroup\$ Commented Oct 20, 2020 at 23:43
  • \$\begingroup\$ @mj_, the usual quick and dirty trick is to use a zener diode. But I found that zener is not very effective. \$\endgroup\$
    – tlfong01
    Commented Oct 21, 2020 at 1:03
  • \$\begingroup\$ You might like to read my measurement of piezo spike with and without the protective zener: "Piezo sensor to pick up acoustic instrument signal using Rpi and ADC Asked 1 year ago Active 1 year ago Viewed 569 times": raspberrypi.stackexchange.com/questions/103868/…. Cheers. \$\endgroup\$
    – tlfong01
    Commented Oct 21, 2020 at 1:24

2 Answers 2



How to protecting circuit from piezoelectric disc voltage spike


The voltage spike might be as high as 30V. You can use a zener to clamp the spike, and NTC inrush current supressor to limit current. See appendices below for more details.

zener protection

piezo 4


(1) It is not absolutely necessary to use the ICL (Inrush Current Limiter) NTC thermister to suppress the inrush current. An alternative is to use a series current limiting resistor, say 300Ω. However the NTC-5D7 with only 5Ω resistance should have a better performance.

(2) It is not absolute necessary to use the SPI 12bit single channel ADC MCP3201. The Arduino's GPIO pin with 10 bit rseolution should be OK to do the preliminary testing. For highly sensitive applications, higher resolution ADC, 16-bit, 24-bit can be used.

The MCP3201 is chosen for the following reasone: (a) Single channel MCP3201 is easier to learn and program than the though much more popular 8 channel 10 bit MCP3008. (b) I have written a tutorial and a fully debugged python demo program for MCP3208. So those not using Arduino, eg, Rpi, BBC Micro-ibt, Cortex M0 etc can use micro python or circuit python to run my demo program, with little program modifications.

/ to continue, ...


(1) tlfong01's piezo experiment, Rpi SE 2019

(2) Piezo Pickup Transducer 27mm Contact Microphone Trigger - Discs Elements for Acoustic Instrument: Guitar, Drum, CBG etc. with Leads $6.99/12Pcs

(3) MCP3008 SPI 8 Channel 10 Bit ADC Datasheet - MicroChip

(4) How to Build a Piezo Knock Sensor Circuit - Learning About Electronics 2013

(5) Piezo knock sensor circuit- Demo - Youtube 2013

(6) AliEXpress NTC-5D7 Thermister (In rush current suppressor)

(7) NTC (Negative Temperature Coefficient) Thermisters temperature sensor/transducer/in rush current limiter - Electronics Tutorials

(8) Comparing MOSFETs with BJT Transistors – Pros and Cons (Update - nowadays cheap, can trigger at 3V/5V TTL logic level) - 2019jun17

(9) MPF102 JFET VHF Amplifier N−Channel Depletion (VGS(off) -8V Datasheet) - On Semi 2006

(10) 2N7002 N-Channel MOSFET Datasheet - On Semi

(11) How to use MCP3008/3208/3201 with MCP3201 python demo program

(12) What is a piezo pickup? - espGuitars

(13) NTC Thermistors For Inrush Current Limiting - TDK

(14) NTC Inrush Current Limiters Application Notes - TDK 2015nov

(15) RS Pro LDE20-20Bxx AC/DC Converter 20W, (12V 1.6A, Inrush current 12A (115VAC), 36A (230VAC)) AC-DC converter - RS



(A) Characteristic of the piezo pickup used in this answer

(B) Piezo pickup interface schematic

(C) Display of spike waveform of piezo with and without Zener diode protection

(D) Electromagnetic Buzzer Back EMF flyback voltage and current spike experiment

(E) Scope screen capture of Back EMF voltage spike

(F) NTC Thermistor as ICL (Inrush Current Limiter) Notes

Appendix A - Characteristics of piezo poickup used in this experiment

Piezo Pickup Transducer 27mm Contact Microphone Trigger - Discs Elements for Acoustic Instrument: Guitar, Drum, CBG etc. with Leads $6.99/12Pcs

Resonant frequency: ***4.6 +/- 0.5 KHz***

Resonant impedance (ohms): ***300Ω max***

Plate material: Brass

For: Acoustic Instrument Pickups, Stomp Boxes, Contact Mics, etc...

Appendix B - Piezo pickup interface schematic

Errata and apology

My previous schematic has a typo error. The parallel resistor should read 1MΩ. Many thanks to @tomnexus for point out my silly mistake.

piezo cct

Appendix C - Voltage spike waveform display with and without Zener protection

zener protection

Appendix D - Detecting (Electromagnetic Buzzer) flyback voltage and current spike experiment

Detecting (Buzzer) flyback voltage and current spike experiment 1/2

Detecting (Buzzer) flyback voltage and current spike experiment 2/2

buzzer voltage spike

Appendix E - Buzzer Back EMF 30Vpp 100 ns Spike Wavelet Selfie

The voltage spike can be as scary high as 30Vpp, But the duration is small 100nS. If the human finger lightly taps/knocks the piezo disc, the mechanical energy transferred to the piezo disk should be of the same order of the 5V electromagnetic buzzer's little hammer hitting the bouncing steel spring bar. It is tedious to use my scope's one shot trigger to display my tapping of the disc. So I used the buzzer to display the repeatedly back EMF voltage spike. I did use my scope to zoom in the spike and found her a pretty little wavlet, so I took a selfie picture for her.

Warning to the OP:

(1) But if you are using a big hammer to hit a big disc which is part of a percussion musical instrument, then the spike might be as ridiculous high as 1000+ volts! and for pretty sure fry your ATTiny85.

(2) Me only a friendly electronics hobbyist. No guarantee no nothing won't melt down or blow up, or electrocute a cat.

back emf selfie

Appendix F - NTC Thermistor as In Rush Current Suppressor

NTC (Negative Temperature Coefficient) Thermistors temperature sensor/transducer/in rush current limiter - Electronics Tutorials


Inrush current suppressors and surge limiters are types of series connected thermistor whose resistance drops to a very low value as it is heated by the load current passing through it. At the initial turn-on, the thermistors cold resistance value (its base resistance) is fairly high controlling the initial inrush current to the load.

As a result of the load current, the thermistor heats up and reduces its resistance relatively slowly to the point were the power dissipated across it is sufficient to maintain its low resistance value with most of the applied voltage developed across the load.

Due to the thermal inertia of its mass, this heating effect takes a few seconds during which the load current increases gradually rather than instantaneously, so any high inrush current is restricted and the power it draws reduces accordingly. Because of this thermal action, inrush current suppression thermistors can therefore operate very hot in their low-resistive state. As such require a cool-down or recovery period once power is removed thus allowing the resistance of the NTC thermistor to recover sufficiently ready for the next time it is needed.

The speed of response of a current limiting thermistor is given by its time constant. That is, the time taken for its resistance to change by by 63% (i.e. 1 to 1/ε) of the total change. For example, suppose the ambient temperature changes from 0 to 100oC, then the 63% time constant would be the time taken for the thermistor to have a resistive value at 63oC.

NTC thermistors provide protection from undesirably high inrush currents, while their resistance remains negligibly low during continuous operation supplying power to the load. The advantage here is that they able to effectively handle much higher inrush currents than standard fixed current limiting resistors with the same power consumption.

  • 4
    \$\begingroup\$ Could you please, please try to post straightforward answers that simply make your point without all this division into less relevant appendicies and links? \$\endgroup\$ Commented Oct 21, 2020 at 1:58
  • 3
    \$\begingroup\$ Uh, \$m\Omega \ne M\Omega\$ \$\endgroup\$
    – tomnexus
    Commented Oct 21, 2020 at 2:23
  • 1
    \$\begingroup\$ @tomnexus, Many thank for pointing out my silly mistake. My apologies for any confusion caused. Cheers. \$\endgroup\$
    – tlfong01
    Commented Oct 21, 2020 at 2:36
  • 3
    \$\begingroup\$ I'm affraid you misunderstood the reason for NTC in that inrush limiting circuit. There is absolutely no point to have it like you suggested. You can put there simple resistor and you will get the same result: a low pass filter. \$\endgroup\$ Commented Oct 21, 2020 at 13:06
  • 1
    \$\begingroup\$ @tlfong01 question about the 1M resistor/zener circuit in practice. It was my understanding that electricity takes the path of least resistance. If you put in a 1M ohm resistor there and there is another option that the electricity flows to my ATTiny85 which I think has an impedence of 250ohms, won't the electricity try to bypass the 1Mohm resistor and try to go to ground through the ATTiny? \$\endgroup\$
    – mj_
    Commented Oct 21, 2020 at 15:41

Please post a circuit when asking questions. A parallel resistor with a proper value is what you need. The current isn't high. The first circuit is with Arduino. The second circuit is recommended.

enter image description here

The circuit shows a 1MR resistor.

More complex option:

enter image description here

And the best way, but you have to reduce the voltage to 5V or 3.3V, depending on your MCU. enter image description here

You can always use a standard sonar sensor, but they are expensive.

Sources: http://www.learningaboutelectronics.com/Articles/Piezo-knock-sensor-circuit.php http://www.robotoid.com/appnotes/sensors-piezo-disc-touch-bar.html https://www.homemade-circuits.com/simplest-piezo-driver-circuit-explained/ https://www.homemade-circuits.com/diy-contact-mic-circuit/

  • 1
    \$\begingroup\$ Parallel? No. Questions on Stack Exchange sites must have stand-alone value, they cannot rely on links for the entirety of any accurate content. \$\endgroup\$ Commented Oct 21, 2020 at 0:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.