I want my piezos to have a center voltage at 2.5V for a 0-5V ADC input on Atmega328, so it can sense force in both ways - one way would be >2.5V and the other will be <2.5V.

Will this circuit work? Or any improvments?


  • \$\begingroup\$ It probably won't work as the voltage buffer will just eat all the charge of the piezos, or are those resistors meant to be 1M\$\Omega\$? (as in megaohm, in LTSpice M/m is used as milli and meg is for mega and the circuit looks very LTSpiceish) \$\endgroup\$
    – Arsenal
    Sep 2, 2015 at 15:10

2 Answers 2


Slight improvement (less power consumption and fewer parts):


simulate this circuit – Schematic created using CircuitLab

U1 has to be very low input bias current, of course. You might want to add some series resistors to the non-inverting inputs in case the piezo voltage exceeds 2.5V.

  • \$\begingroup\$ Thank you for the ciruit. This way I can use 4 opamps for 4 piezos. I have TL084, and it says low imput bias current in datasheet. Btw, if I only have +5v powering the opamp, the outputs would never exceed 5v? \$\endgroup\$ Sep 2, 2015 at 15:48
  • \$\begingroup\$ TL084 is a poor choice for this- something with rail-to-rail input and output would be better. Also that is recommended to run from a single 5V supply. For example, the inexpensive MCP6L04. I recommend the series resistor to keep the op-amp protection networks from conducting too much current, but the output should not exceed the supply voltages even under some abuse at the inputs. \$\endgroup\$ Sep 2, 2015 at 16:07
  • \$\begingroup\$ Sorry for the noob question, but how (and how much R) do I add the series resistors? And is there any suitable opamp in DIP packaging? Thank you. \$\endgroup\$ Sep 2, 2015 at 16:20
  • \$\begingroup\$ Enough but not too much. ;-) Maybe 10K. Check out MCP6004. \$\endgroup\$ Sep 2, 2015 at 16:24

If the resistors R3 and R4 are 1MΩ( in LTspice; 1m = 1 milli Ω , 1M = 1 mega Ω ) your circuit will work. For some additional improvements, you can take a look at the frequency response of your circuit. To do that you will need to change your model a little bit and consider some additional capacitances. Take a lot here for a very intuitive guide. Hope it helps!

  • \$\begingroup\$ In LTspice: 1m = 1M = 1 milli, the latest version will automatically convert 1M to 1m to be less confusing. 1meg = 1Meg = 1 Mega. (I just tried because you made me distrust myself) \$\endgroup\$
    – Arsenal
    Sep 2, 2015 at 15:39
  • \$\begingroup\$ oh yes I mean 1 mega ohm. But as I type in 1M, it automaticly change to 1m after I hit the ok button, how exactly I enter 1M? And I will be using this sensor for manual squeezes so it would be mostly VERY slow AC signals. Thank you for the link, I will have a look at it! \$\endgroup\$ Sep 2, 2015 at 15:43
  • \$\begingroup\$ haha it seems you are right, I just tried. @Arsenal \$\endgroup\$ Sep 2, 2015 at 15:50

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.