I found a video on youtube where the author amplified a heartbeat and his cat purring (link).

We were able to replicate the circuit with some changes, but I made a mistake and got 8 ohm, 0.25 W speakers, and only found out now that the circuit is not designed to drive those.

Here's what I did:

  1. I used +/- 6 V battery packs.

  2. There is a 1k resistor in series with the microphone. After the capacitor that filters out the DC, I get 0.7 V for very loud singing right into the microphone, yet no detectable voltage for low amplitude sounds. And forget about the speaker, I don't even see a noticeable voltage from the output of the op amp unless the noise is loud. My microphone is from Jameco, claiming 50-16000 Hz response. I'd be open to getting a better microphone if that's a problem.

  3. Not realizing at first that the 10k pot was because he was using earbuds, I replaced the pot by a resistor, dropping from 150 to 75 to 50 ohms. At 50 ohms you can start to hear some sound out of the speaker, but not much, and nothing for faint sounds.

The circuit as it stands is (with poor fidelity) replicating audio from the microphone to the speaker, but it isn't sensitive at all to the heartbeat.

Is there a reasonable way to redesign the circuit so we can drive a speaker with an LM324? What if I just want to read the waveform on the A/D of the Arduino? The amplifier is extremely sensitive to rubbing the surface or blowing on the microphone, yet it seems to have quite poor sensitivity to the heartbeat. I'm mystified at how his works. I realize he is using earbuds, but shouldn't I at least be able to see a heartbeat on the scope?

Another related question is that he has a highpass filter on the front end, and I would have thought that a heartbeat is pretty low-frequency as well as low amplitude. Yet in his video the heartbeat is quite loud and impressive.

Apologies on the schematic, I don't know how to enter a microphone into Orcad so I just substituted a resistor.

heartbeat amplifier

  • \$\begingroup\$ A generic microphone, in IEEE nomenclature, looks like this: kpsec.freeuk.com/symbols/mic.gif. However, since there are many electrical approaches to making a "microphone", that symbol is often not particularly useful without context. I know that wasn't really the core issue of this question, TL;DR. ;-) \$\endgroup\$ Commented Dec 23, 2012 at 2:06
  • \$\begingroup\$ the real question would be how I enter it in Orcad. The only components that come up when you type their names are resistor and capacitor, otherwise they choose some lovely acronym to make it hard to use! \$\endgroup\$
    – Dov
    Commented Dec 23, 2012 at 4:51
  • \$\begingroup\$ Some questions: 1. What was your actual supply voltage? Scehmatic says 9, question says 6. 2. Where is your microphone datasheet? 3. What are you actually using to listen right now? You mention poor fidelity and not being able to use your 8 ohm speakers. \$\endgroup\$
    – Matt Young
    Commented Dec 23, 2012 at 5:18
  • \$\begingroup\$ Original schematic says 9v, but I'm using 6v. The datasheet is: jameco.com/Jameco/Products/ProdDS/1950948.pdf We listened through the 8 ohm speaker in series with 50 ohms at last count, but we also looked at the output with the oscilloscope. With just heartbeat, nothing is detected. \$\endgroup\$
    – Dov
    Commented Dec 23, 2012 at 5:21
  • 2
    \$\begingroup\$ @Olin, not very constructive. If you don't want to help, don't. I'm trying to learn. And I have learned a lot, though you have contributed nothing. How am I supposed to duplicate the circuit when I don't have the specs of the components? \$\endgroup\$
    – Dov
    Commented Dec 24, 2012 at 3:22

2 Answers 2


There are a few problems with your current circuit.

  1. The heartbeat signal is lower than the frequency response of your microphone.

  2. As everyone else has said, you need to lower the critical frequency of the high pass filter on the input. If it was me, I would replace it all together with an equal component Sallen-Key High Pass filter simply because the input signal is going to be small. The extra op amp is already in the package.

  3. While maybe a non-issue, +/- 6V rails is pushing the head requirements of the 324.

  4. There is no way you're going to drive an 8 ohm speaker with a general purpose op amp. It just can't source the current. With the 50 ohm resistor in series, you're dropping most of the voltage across the resistor. You'll need something like an LM386 to drive the speaker. I've only used this particular part with a 12V supply, and don't guarantee it will work with split 6V supplies. Notice that the gain is adjustable.

  • \$\begingroup\$ +1 See... I knew someone would look at the datasheets... I just didn't have the time. Nicely done! \$\endgroup\$ Commented Dec 25, 2012 at 8:59
  • \$\begingroup\$ Love the specific recommendations. Not sure I know enough to call this the answer yet but it's at least close. Will close shortly if I don't get other answers. \$\endgroup\$
    – Dov
    Commented Dec 29, 2012 at 2:48
  • \$\begingroup\$ Actually, you gave great specifics on the amp, the voltage, and the microphone, but can you identify a microphone that is similarly cheap and does work with low frequencies? I didn't see any at Jameco, but I will look again. \$\endgroup\$
    – Dov
    Commented Dec 29, 2012 at 2:50
  • \$\begingroup\$ Found this on Jameco, 20Hz to 1200Hz. Is it ok? jameco.com/webapp/wcs/stores/servlet/… \$\endgroup\$
    – Dov
    Commented Dec 29, 2012 at 3:20
  • \$\begingroup\$ Maybe, but there is still a lot of information under 20Hz. There is no data sheet, so I would be curious as to the roll off rate of the microphone itself. \$\endgroup\$
    – Matt Young
    Commented Dec 29, 2012 at 23:59

Ok, without digging into the electrical issues, here are some basic pointers about the bio-acoustics in play here.

Heartbeat Spectrum

Here are a few spectrograms taken from this excellent paper:

"Spectral Analysis of Acoustic Vibrations on the Surface of the Human Body"

E. V. Bukhman, S. G. Gershman, V. D. Svet, and G. N. Yakovenko Andreev
Acoustics Institute, Russian Academy of Sciences

enter image description here

Most of the interesting acoustic information in a heartbeat is at the low end of the spectrum. That is why the stethoscope membrane, a physician places on your chest is huge (~25mm) and is cavity-backed (see figure).

enter image description here

Why your design may work, but not work...

Blowing or tapping the microphone port gives it an impulse -- a burst of violently moving air (rapid pressure change). This is akin to dropping your keys on the ground (the sound you hear).

That signal is very wideband (contains some energy at almost every frequency). As a result, the output sound is loud because you are getting the best possible gain for the frequencies that the amplifier/configuration likes.

The frequencies that it doesn't (the low ones) are relatively ignored. The heartbeat does not contain "all" frequencies and your amplifier may be less effective against low frequency signals.

Improving the design

To improve your low-frequency gain (sensitivity):

  1. You should increase the value of C1 and R3

  2. You should decrease the output resistance into LS1

A quick note about your comment on the YouTuber's "high-pass" filter.

That term is, of course, relative. He doesn't actually want to high-pass the signal. It is a prudent necessity to isolate the audio signal from the microphone (which has a DC offset) from the input to the amplifier (which cannot tolerate a DC offset -- it will amplify it costing you headroom and elastic distortion!).

I suspect that your big problem is that your "high-pass" filter's (C1, R3) corner frequency is too high. A better way to think of the goal is "DC blocking". That is, you want all the frequencies to get through except 0.

Good luck!

...there are some awesome audio engineers here. I'm sure someone else will be more than happy to dig into your datasheets or recommend an alternative amplifier component.

Sounds like a fun project. I hope you post some recordings online once you get this working. Cheers.

  • \$\begingroup\$ The thing that gets me is that afrotechmods gets sound out of this thing. Check out the video! I don't see how it works. \$\endgroup\$
    – Dov
    Commented Dec 23, 2012 at 4:56
  • \$\begingroup\$ Not really, if you listen carefully to the video, notice he says you should "turn up your subwoofer". The low frequency capture isn't stellar. Also, his microphone element is probably very different from yours. Elements vary widely and make the biggest difference in the signal quality and have the biggest influence on the associated circuitry (obviously). That's why microphones can reach into the thousands of dollars at the high end. \$\endgroup\$ Commented Dec 23, 2012 at 6:52
  • \$\begingroup\$ The input crossover frequency is \$\dfrac{1}{2\pi RC} = \dfrac{1}{2×\pi×100\cdot10^3\Omega×0.1\cdot10^{-6}\text{F}} = 16\text{Hz}\$. As @DrFriedParts states, increase these values. I'd say make \$\dfrac{1}{2\pi RC}\$ about 10kHz if you want to capture regular audio (like your singing). \$\endgroup\$
    – jippie
    Commented Dec 23, 2012 at 11:09
  • \$\begingroup\$ Should I start a new question? I want to make a heartbeat amplifier. He just used a cheap desktop microphone, but I have no idea what the frequency response was. Is there a simple, workable solution that I can handle? What frequency response would I need on a microphone? Should I really up the crossover frequency if I want a heartbeat? I don't want to sing into the thing. \$\endgroup\$
    – Dov
    Commented Dec 24, 2012 at 3:29
  • \$\begingroup\$ I think the point here is: (1) your amplifier looks fine; it just needs some tuning; play around with R3 and C1, (2) use the biggest looking microphone element you've got lying around the house. In a pinch, you could use an old pair of headphones, backwards (use on of the ear speakers as a dynamic mic element). You need a lot of low frequency pick up and gain to hear heartbeats. \$\endgroup\$ Commented Dec 24, 2012 at 6:31

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.