Fork me on GitHub

Project Notes

#121 Peak Detector

OpAmp-based peak detector


w2aew has a nice, clear video on youtube explaining peak detector circuits.


See LEAP#120 Simple Peak Detector for an example of the simplest diode-RC based peak detector.

This project adds an OpAmp (LM741) to eliminate the diode-forward voltage issue. The 741 is not the best choice for this since I’m running it with a single supply, but as long as the input signal is above ~VCC/2 it works well enough to demonstrate the improvement over the basic diode-RC detector.

As with the basic circuit, the RC pair is responsible for holding the peak for a period governed by the RC time constant (𝛕).

Time to fully discharge is approximately 5𝛕, or in this case, about 5 seconds. Appropriate values for the RC network depend on the signal frequency being sampled (higher frequencies will be better served by a shorter time constant).

Feedback from the output node to the inverting OpAmp input will force the OpAmp to eliminate the diode voltage drop in the output (as best it can).

Here’s a sample trace recorded using LEAP#090 PlotNValues (a simple Processing sketch)

  • upper trace is the output of the peak detector
  • lower trace is the signal input (a variable “triangle” wave in this test)

processing trace



The Schematic

The Build

Credits and References

About LEAP#121 OpAmpRC
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.