Close
0%
0%

Homemade ECG With Discrete Analog Front End

An ECG recorder built from discrete components, with FPGA-based digital filtering and Pan–Tompkins R-wave detection.

Similar projects worth following
104 views
0 followers
A single-channel biopotential recorder designed for educational use. The analog front end is built entirely from discrete components for amplification and initial filtering. On the digital side, a Tang Nano 9K FPGA (GW1NR-9) handles ADC acquisition, digital filtering — 0.67 Hz HPF, selectable 40/100/200 Hz LPF, and an optional 50 Hz notch — along with Pan–Tompkins R-wave detection and a DAC output for waveform debugging. An ESP32-S3 takes care of system control, the user interface, and data export in CSV and BDF formats. More details available on GitHub.

  • Analog front end built from discrete components — no monolithic ASIC, making it well-suited for teaching and demonstration
  • Equivalent input noise density of 18.8 nV/√Hz; 266 nV RMS over a 200 Hz bandwidth
  • Bandwidth 0.05–200 Hz; high-pass cutoff switchable between 0.05 Hz and 1.5 Hz; multiple digital filter modes available
  • Isolated power supply for common-mode interference rejection
  • Gain of 61.78 dB (×1228), Full-scale input of 2 mVpp
  • FPGA-based FIR/IIR filtering and Pan-Tompkins heart rate detection

hardware.zip

x-zip-compressed - 5.10 MB - 05/06/2026 at 15:33

Download

firmware.zip

x-zip-compressed - 34.05 MB - 05/06/2026 at 15:37

Download

LICENSE.md

markdown - 1.74 kB - 05/06/2026 at 15:39

Download

  • 1 × main board
  • 1 × AFE module
  • 1 × isolated power supply module
  • 1 × Tang Nano 9K development board

  • 1
    Step 1

    Go to the `hardware/` directory, order PCBs for each of the three subdirectories, and purchase and solder components according to the EasyEDA Pro projects.

  • 2
    Step 2

    Go to the `firmware/` directory and flash the FPGA and MCU firmware following the flashing guide.

  • 3
    Step 3

    Fabricate electrodes: wet electrodes are recommended for better contact impedance. See Section 3.3.3 — Practical Electrodes for details.

View all 6 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates