Rectifying a very low voltage signal turns out to be very hard. (for me) I've tried this a few different ways without good results. I'm looking for a reasonable simple solution that performs well enough.

The most direct question I can ask is, "How do I rectify a low-voltage signal so that it can be then amplified when my power supply is only 4V and I'm trying to keep the solution simple, efficient, and needing of few components." It's a specific situation.


I'm trying to create a toy that uses the signal from a bluetooth stereo module to drive a VU meter and a DC motor. I'm trying to use a 4V lithium battery (not sure if it's li-poly or not) as the power source to keep the project compact and light. I want the design to remain small and contain as few components as needed. The signal can range from tens of milivolts to hundreds of milivolts at low volumes or up to around 1.5V at high volumes.

I'm trying to amplify that range of signals to close to 3 or 4 volts, then use a cascade of diode voltage drops to segregate the levels and display a bar graph, like in this example.

My device only needs 4 about volume levels. The VU display is an LED aray. Additionally, each progressive level of volume on the bar graph drives the DC motor faster. Because the signal is music and oscilates quickly, I think 4 levels is close enough to analog output to the motor - basically a 2 bit ADC driving 4 transistors (or Darlington pairs if needed) that drive the motor. I may use a capacitor to smooth out the input to the motor. The motor is rated for 3V and draws about 300mA when given that voltage. If each transistor switch delivers 75mA to the motor, that should be about right. (Though I may have the first switch deliver more amps because 75mA won't actually move the motor.) Also, with that much current, perhaps a small capacitor won't actually help the motor.

I want the device to have a pot to control gain on the input amplifier, the LED array to display output so you know when the amplification is about right, a capacitor and another pot as an adjustable low-pass filter, and a bonus would be a pot to set the minimum voltage that will drive the thing to move at all. And I want the device to be able to accept a wide range of input amplitudes.


  1. I tried using the op-amp as an ideal diode. If that worked, I could amplify that signal to the range I need. Unfortunately, because the negative rail is ground on the op-amp, the negative half of the waveform drives the non-inverting input below ground and the output goes nuts. It's not a useful output signal with an input signal at a low milivolt range.

  2. I tried this design without any luck.

    The op-amp chip I'm using is a LMC660 CMOS quad op amp. It doesn't like this design, but I don't have a working osciloscope to see exactly what is wrong with it. The output is offset several hundred milivolts above ground, not really linear, and still needs an input of at least 150 mv to produce meaningful output. In my testing the chip will produce output within 5mV of the negative supply and .8V of the positive supply.

  3. I used a different op amp with a 9V split rail configuration and got results I liked. This was enough headroom to amplify the full waveform and then rectify that, but the 9V battery is not an acceptable solution.

Possible Solution

What if I bias the input signal by one diode voltage drop, then rectify that signal. That should get me reliable half-wave rectification, right? Is this the most reasonable approach? How do I get that 0.7V reference voltage? I think I can throw a diode into the feedback loop of an opamp and use the output to get my 0.7V.

I keep failing in this when the implementation details (and physics) gets in the way. That 4V battery might be 3V when it's discharged. If my op amp is only getting within 0.8V of the positive rail, then my output signal is now only 2V. If I'm using diode drops to separate the volume levels, I'm only going to be able to fit two into that range. I have to actually test the op-Amp working at 3V and the theory that the battery might get that low.

Other Approaches

Opto-coupler - I tried to get this done quick and dirty orginally. I rectified the signal with an LED with a pot for attenuation and a pot/capacitor combo for adjustable low-pass filter. I taped a photoresistor to the LED, used that as one half of a voltage divider to drive a darlington pair to drive the motor. I tried a variation on that where I used a pot as an adjustable voltage divider and fed those two voltages to a comparitor to toggle the motor on and off. This basically worked but only if the volume was set high enough (very high) to overcome the voltage drop on the LED. Also the 1-bit response on the motor was a let-down. Also, the response on the photoresistor/LED combo as I had it configured was not even close to linear. Also, it was laggy. The photoresistor seemed to take time to respond.

Difference Amplifier

An article suggests using a difference amplifier to get low-power precision rectification with single supply. I don't want to add another component if I can avoid it, and I don't really want to track one of these down just to prototype it. I found the article "More Value from Your Absolute Value Circuit—Difference Amplifier Enables Low-Power, High-Performance Absolute Value Circuit"

Pulse Width Modulation

I'm not sure yet whether I'm going to get the near linear response to signal amplitude I'm hoping for on the motor with the approach I'm suggesting. I was thinking if I can get a rectified output waveform scaled to 3 or 4 volts, and create a sawtooth wave at the same amplitude, I cold use a comparitor on the two waveforms and get pretty good PWM out of it. But I still need a rectified signal.

I looked at this entry on StackExchange, but it suggests using a split-rail or dual-supply, but with my op-amp and voltage levels, the best I could do is a signal that is 2-3V peak to peak, which will rectify to a 1V signal, then maybe(?) I could remove the bias and amplify that signal back up to the range I'm looking for. I would have two biased op-amps delivering a biased rectified signal to another stage of the op amp... I tried to prototype this yesterday without good results.

  • 1
    \$\begingroup\$ This question is too long for me. Can you summarize ? \$\endgroup\$
    – Andy aka
    Apr 14, 2014 at 22:03
  • \$\begingroup\$ How do I rectify a low-voltage signal so that it can be then amplified when my power supply is only 4V and I'm trying to keep the solution simple, efficient, and needing of few components. Edit I don't think split-supply is an option for my application. \$\endgroup\$ Apr 14, 2014 at 22:05
  • \$\begingroup\$ maybe get hold of a rail-to-rail opamp. Not cheap but AD8608 springs to mind. There will be cheaper devices. \$\endgroup\$
    – Andy aka
    Apr 14, 2014 at 22:09
  • \$\begingroup\$ I'm using the LMC660. It is a rail-to-rail op amp. You still can't drive the input below the negative supply and get a reasonable result. Using a split rail creates other problems. ti.com.cn/cn/lit/ds/symlink/lmc660.pdf \$\endgroup\$ Apr 14, 2014 at 22:13
  • 1
    \$\begingroup\$ @MichaelMcHenry Here's an article on Single-Supply Precision Rectifier. Just my $0.02 worth. \$\endgroup\$ Apr 15, 2014 at 1:27

1 Answer 1


I know analog guys don't like to hear this, but a small microcontroller could easily meet all of your requirements. It would be easy to modify its operational parameters even after the hardware is built, and it would have by far the lowest overall parts count.

A built-in ADC could digitize the audio (as well as the voltages from your control knobs), individual outputs could drive the LEDs, and a single PWM output could drive your motor (with suitable output buffers, of course).

  • \$\begingroup\$ Yes, I am looking for an analog solution. I know the problem can be solved with a microcontroller. Another solution would be to bypass the need for a bluetooth speakper module altogether and build my own that has the VU and motor controller built in. For now, I'm going to keep looking for the analog solution. Thank you. \$\endgroup\$ Apr 14, 2014 at 22:36

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.