A sensor outputs a dc voltage varying between precisely 1.00 volt and a max of 1.10 volt. The receiver operates between 0.00 volt and 0.10 volt.

How can I level shift the 1.00 to 1.10 dc voltage to 0.00 to 0.10 volts?


2 Answers 2


The simple building block answer is to use a diff amp. People seem to forget sometimes that the classic diff amp is really a diff amp and level shifter:

This example is unity-gain, so its equation is:

  OUT = (DIFF+ - DIFF-) + OFS

It takes the difference between the two DIFF inputs, adds that to the offset input, and outputs the result. Since the gain is 1, the DIFF+ and OFS inputs are equivalent in this case.

Your sensor output is really relative to 1.0 V. Therefore, in the above circuit, feed a 1.0 V reference into DIFF-, the sensor signal into DIFF+, and tie OFS to ground (0 V). The result will be the sensor signal shifted to the 0 to 100 mV range.

I didn't show the power supply connections to the opamp, but of course those need to cover the voltage range and meet the requirements of the opamp. The MCP606 shown as example above requires at least 2.5 V. It can work with signals down to its negative supply. You could power it, for example, from a handy 3.3 V or 5 V supply.

For the absolute best performance at output levels close to ground, give it a little negative supply. That can be easy to make from a small charge pump, for example.


If the receiver have power supply higher than 1.1v, use OP AMP as differential amplifier! http://www.electronics-tutorials.ws/opamp/opamp_5.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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