In this project, I designed and built a Heartbeat sensor circuit as part of a microelectronics course. The goal was to detect a human pulse using an infrared sensor, condition the signal with analog circuitry, and convert it into a clean digital output that can be used to blink an LED for example.
The entire circuit was designed, simulated, and built on a breadboard, with each stage tested individually before being integrated. This project was my first hands-on experience with analog signal conditioning, filtering, and actually detecting a real world phenomena like my pulse.
Sensor Design
The optical sensor consisted of an infrared LED emitter and an IR photodetector mounted side by side. When a finger was placed over the sensor, changes in blood volume changed the way the IR would reflect, producing a small current signal at the photodetector.
I assembled the sensor on a small piece of stripboard to create a compact probe that could easily connect to the rest of the circuit.
Transimpedance Amplifier
The photodetector current was converted to a voltage using a transimpedance amplifier built around an MCP601 op-amp. An adjustable 5 MΩ feedback resistor allowed the gain to be tuned to avoid saturation while still amplifying the pulse signal.
A feedback capacitor added low-pass filtering around 12 Hz, reducing high-frequency noise. This stage produced the first clearly visible pulse waveform during testing.
Signal Amplification and Filtering
A second non-inverting amplifier stage provided additional gain and filtering. A virtual ground enabled single-supply operation, while a combination of high-pass and low-pass filters formed a bandpass filter centered around typical heart rate frequencies.
This stage significantly cleaned up the signal and removed a lot of the drift and noise that was there previously.
Comparator and Pulse Generation
To digitize the signal, I added a comparator with hysteresis, which produced a stable square wave and prevented false triggering due to noise.
The comparator output was then passed through a differentiator and monostable pulse generator, creating short, consistent pulses that drove an LED to indicate each detected heartbeat.
Results
The completed circuit reliably detected heartbeats and produced a clean, repeatable digital output. Testing confirmed stable operation across different finger placements and signal amplitudes.
This project gave me the insights into how to actually design gain staging, filters, and hysteresis when working with low-amplitude signals.
Conclusion
Through this project, I built a complete analog front-end for PPG signal processing, from sensor design to digital pulse generation. It really was my first intro to op-amp circuits and filtering outside of classroom theory, and actually mirrored how physiological signals like heart beats are processed in real electronic systems.