I am working on a university project at the moment. Creating a pulse oximeter by using a red and an infrared led to shine on a phototransistor coupled common emitter. The result is that when no finger is present = ~ 0V on the output When finger is present =~ 4.9V oscillating with +/-200mV.

This signal (the pulse) I need to amplify and offset as input to my ADC/Microcontroller. I have limited space to the circuitboard (40x40x30mm). Looking a calculations for RL or RC circuits result in physically large components which is not an option.

Question: How can I design a Highpass or Bandpass filter with common uni components in this reduced space? My primary goal is to remove the DC component for easier offset and amplification.

Question: Can I use electrolyte or tantal capacitors for this?

Edit: Signal is heartrate in the range of 2/3Hz to 5Hz. Edit: Since the microcontroller only accepts analog input in the range 0-5V I want to cut away the dc components before the op amp so I can use the 10 bit ADC fully

Best regards.

Edit: Eagle Design

Description: LED1 is the phototransistor, C1 and R6 form the highpass filter, R2 is voltage offset. Non-inverting Op amp with gain of (1+((R4+R5)/R7) = 150. C2 and R7 form a similar highpass filter.

What I was hoping for: Output of Phototransistor when fully illuminated ~ 2.5V due to the voltage divider of R2+R6. Output of phototransistor when finger is detected => 2.5 +/- AC signal of heartrate/pulse between 0.67 and 5Hz roughly.

Op amp's job = amplify the AC (~200mV peak to peak) to 2V peak to peak. Since the Op amp serves as input for the ADC/Atmega microcontroller, is impedance still an issue? And why is this not working as intended? Output has massive noise from 10Hz to 3kHz. and voltage when "no signal" is not sitting at 2.5V as hoped

Edit:I was able to find the components needed to create a highpass filter, even a ceramic capacitor since the electrolyte ones as I read had other issues.

Testing the parts separately (Sensor I/O), Highpass filter and amplification circuit worked, although together did not show the desired results.

Going to rework a simple solution which will result in less bandwidth of the ADC input.

  • 1
    \$\begingroup\$ If the C values you're getting for your filter are too high, surely you can just increase your R value and decrease the C value \$\endgroup\$
    – BeB00
    Commented May 23, 2017 at 19:09
  • \$\begingroup\$ If you tightly modulate the pulse to a very precise frequency (using software and/or hardware to achieve that), then you can select a frequency that is conveniently far from DC and would make a cheap passive high-pass/band-pass filter useful. You would also then use synchronized or coherent sampling. \$\endgroup\$
    – jonk
    Commented May 23, 2017 at 19:13
  • \$\begingroup\$ What is the approximate frequency of the signal that you are trying to recover? Is it the pulse rate or are the LEDs AC modulated? \$\endgroup\$
    – Glenn W9IQ
    Commented May 23, 2017 at 19:17
  • \$\begingroup\$ @BeB00 I must have been miscalculating. Last night I tried with a 330uF cap, 32Mohm res and couldn't get any output due to the big resistor. \$\endgroup\$ Commented May 23, 2017 at 19:25
  • \$\begingroup\$ @GlennW9IQ The Leds are modulated by the microcontroller. Pulse in hz, so from ~ 2/3 Hz to 5Hz. \$\endgroup\$ Commented May 23, 2017 at 19:25

1 Answer 1


The cutoff frequency of a high pass RC circuit is given as ω = 1/(R*C) where ω is the angular frequency. This formula will yield the -3 dB point (20*Log10(VOUT/VIN)). The roll-off will be about 20 dB / decade.

When creating a high pass filter involving an A/D converter, the input impedance of the A/D can serve as the resistive portion of the filter. So for example, if you set your cut off frequency at 0.2 Hertz and you have a 10k ohm input impedance for your A/D converter, the required value for the series capacitor would be ~80 μF.

  • \$\begingroup\$ Thanks for your answer. I had not thought about the internal impendance. Will take that into consideration. \$\endgroup\$ Commented May 24, 2017 at 3:01
  • \$\begingroup\$ Interesting concept... \$\endgroup\$
    – MadHatter
    Commented May 24, 2017 at 19:44
  • \$\begingroup\$ This is fine in theory, but you'll rarely have an input impedance that low for an A/D converter, because usually you want a very high input impedance, so they design them high - for example, the input impedance of the atmega adc is on the order of 100's of Mega Ohms. Even if you can find one with a wierdly low input impedance, you shouldn't rely on that as typically the input impedance is not tightly controlled or specced. \$\endgroup\$
    – BeB00
    Commented May 24, 2017 at 22:29
  • \$\begingroup\$ You can, however, just use a 10k resistor, which is a much better idea \$\endgroup\$
    – BeB00
    Commented May 24, 2017 at 22:30
  • \$\begingroup\$ @BeB00 if the A/D impedance is higher than 10k, this is not a problem - just plug it into the formula. The input impedance is a tighter tolerance than most large value caps... \$\endgroup\$
    – Glenn W9IQ
    Commented May 24, 2017 at 22:39

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.