Skip to content
OnlyProjects
B.Tech / B.E. · Biomedical EngineeringFor educational purposes only
Code included

Low-Cost Single-Lead ECG Front-End Trainer with Noise and Filtering Study

Record a real single-lead ECG on an AD8232 trainer, quantify mains, motion and muscle noise, and compare analogue and digital filter cures

Mapped to your syllabusVTU 2022 Scheme (OBE/CBCS) · BXX685 Major Project Phase-I · Semester 6

Overview

1 min read

ECG-Trainer is a build-and-learn instrument for the biomedical engineering lab: a low-cost single-lead electrocardiograph front end, plus the measurement study that makes it a project rather than a kit assembly. An AD8232 single-lead analogue front end on a breakout board picks up a lead-I ECG through three disposable gel electrodes worn by a team volunteer. An Arduino Uno samples the conditioned waveform at 500 Hz, writes raw samples to a microSD card and streams them over serial, so every recording is available afterwards for offline analysis.

The study is the heart of the bundle. Three artefacts dominate classroom ECG traces: baseline wander (respiration and electrode motion), 50 Hz powerline pickup (Indian mains couples capacitively into lead wires) and muscle (EMG) noise. The team provokes each artefact deliberately, quantifies signal-to-noise ratio in dB before and after treatment, and compares the AD8232's onboard analogue band-pass filtering against digital cures implemented in Python/SciPy and Scilab — a 0.5–40 Hz Butterworth band-pass and a 50 Hz IIR notch.

The rig is explicitly a teaching prototype, not a medical device: it claims no IEC 60601 compliance, never touches a patient connection beyond the team's own volunteers, and the report documents what a real product would need (patient isolation, leakage-current limits, defibrillation protection) as an awareness study. C firmware runs the Arduino (the VTU 2022 scheme teaches C and instrumentation labs), Python and Scilab handle analysis, and the oscilloscope and function generator already in the lab serve as references.

Relevant for
Karnataka
Level
Intermediate · 14 weeks · team of 4
Common at
Visvesvaraya Technological University, Anna University, Chennai, Jawaharlal Nehru Technological University Hyderabad
Updated
Nov 2026

Syllabus alignment

VTU · 2022 Scheme (OBE/CBCS)

BXX685 · Major Project Phase-I · Semester 6 · 2 credits · CIE 100

Subjects this project applies
  • C programming (Arduino Uno sampling and logging firmware)
  • Python (signal processing, filtering and plotting)
  • MATLAB / Scilab (Butterworth and notch filter design, spectrograms)
  • Simulink system modelling (analogue front-end gain and band-pass checks)
  • Electronics and instrumentation laboratory (oscilloscope, function generator, ADC interfacing)
How it is evaluated

Team: individual or group ≤ 4, single- or multi-disciplinary

report : presentation : Q&A = 50 : 25 : 25; same report marks for all batch-mates

Also fits: Anna University Regulation 2021, JNTUH R22.

What's in the box

11 parts · 5 free · 2 previewed · 4 unlock for ₹2,000

Problem & synopsis

6 min read

Problem statement

Biomedical engineering students learn ECG instrumentation from textbook figures because real trainers and patient simulators cost tens of thousands of rupees. As a result, they never experience the three artefacts that dominate real traces — baseline wander from respiration and motion, 50 Hz powerline pickup, and muscle noise — and never measure how well analogue front-end filtering and digital filtering actually work against them. Ready-made sensor kits are affordable, but assembling one and shelving it proves nothing measurable: there is no gain calibration, no quantified SNR before and after filtering, and no protocol that turns the hardware into defensible experimental evidence.

There is a need for a low-cost, well-characterised ECG front-end trainer with a written calibration and provocation protocol, an offline analysis pipeline that reports SNR and R-peak detection figures objectively, and an explicit prototype-not-product framing that teaches the safety obligations (patient isolation, leakage current, IEC 60601-1) a real instrument would carry — turning a ₹2,500 kit into a viva-defensible measurement study.

Synopsis

Abstract

Biopotential measurement is a core subject in biomedical engineering, yet most departments teach it from textbook figures because a commercial ECG trainer or simulator costs far more than a lab budget allows. This project builds a single-lead ECG front-end trainer for about ₹2,700: an AD8232 analogue front end with three gel electrodes feeds an Arduino Uno that logs 500 Hz raw samples to microSD and serial. The team then runs a controlled noise-and-filtering study on real traces — quantifying baseline wander, 50 Hz mains interference and muscle artefact by SNR in dB — and compares the AD8232's onboard analogue band-pass against digital Butterworth and notch filters in Python/SciPy. Ten volunteer recordings, a gain calibration and a written provocation protocol form the evidence base.

Introduction

The electrocardiogram is a millivolt-level signal (0.5–4 mV peak) buried in interference, which is why ECG instrumentation is the classic vehicle for teaching instrumentation amplifiers, common-mode rejection and filtering together. Indian classrooms add a practical twist: 50 Hz mains, fans and unshielded bench wiring make the powerline artefact visible on almost every unguarded trace, which makes the filtering study motivating rather than artificial.

Existing System

  • Textbook waveforms: safe, but students never see real artefacts or electrode-skin effects.
  • Commercial ECG patient simulators (₹40,000 and above): clean synthetic output, no real skin-electrode interface, out of budget.
  • Ready-made AD8232 kits assembled once and shelved: hardware exists but is rarely turned into a quantified experiment — no SNR numbers, no filter comparison, no protocol.
  • Limitations: no calibration evidence and no discussion of why such a rig must not be called a medical device.

Proposed System

  • A documented, reproducible front-end trainer: AD8232 breakout (instrumentation amplifier, right-leg drive, onboard 0.5–40 Hz band-pass), three-electrode lead-I placement, Arduino Uno sampling at 500 Hz with timestamped raw logging to SD.
  • A calibration step with the lab function generator: overall gain and frequency response measured with a 1 mV sine sweep, tabulated against the datasheet.
  • A provocation protocol: motion, 50 Hz pickup, muscle clench and electrode dry-out — each provoked by a written script.
  • A digital comparison: Butterworth band-pass, 50 Hz IIR notch and R-peak detection before and after filtering; SNR and detection sensitivity computed in Python and cross-checked in Scilab.
  • An honesty layer: consent-and-safety protocol, battery or USB-isolated power during recordings, and an IEC 60601-1 awareness section stating why the prototype is not a clinical device.

Feasibility Study

  • Technical: every block is testable with lab instruments; the AD8232 datasheet gives the transfer functions, SciPy/Scilab provide the filter designs, and the highest circuit voltage is 5 V DC.
  • Economic: the bill of materials is about ₹2,700 one-time, with consumable electrodes at ₹350 per pack of ten — cheaper than a week of simulator rental.
  • Operational: recordings take five minutes per volunteer under the written protocol and analysis runs on any laptop. The main risk — overclaiming clinical capability — is designed out: outputs are labelled teaching traces throughout.

Objectives

  1. 01Build a single-lead ECG trainer: AD8232 breakout, three gel electrodes, Arduino Uno sampling at 500 Hz, raw timestamped logging to microSD and serial.
  2. 02Calibrate the trainer with the lab function generator: measure overall gain and frequency response with a 1 mV sine sweep and tabulate against the AD8232 datasheet.
  3. 03Record lead-I ECG from ten team/class volunteers under a written consent, skin-prep and stop-if-irritation protocol, powered only from a laptop battery or USB isolator.
  4. 04Provoke and record the three artefacts deliberately: baseline wander (motion, respiration), 50 Hz pickup (lead routing near mains wiring) and muscle noise (forearm clench).
  5. 05Quantify each artefact as signal-to-noise ratio in dB before treatment, using Welch PSD estimates and R-peak-synchronised averaging.
  6. 06Compare the AD8232 analogue band-pass against digital cures (0.5–40 Hz Butterworth, 50 Hz IIR notch) by SNR improvement and R-peak detection sensitivity/specificity.
  7. 07Document an IEC 60601-1 awareness section stating the isolation, leakage-current and defibrillation-protection requirements that separate this prototype from a medical device.
  8. 08Package the trainer, protocol, firmware and analysis scripts so the next batch can reproduce every table in one lab session.

Scope

In scope

  • One single-lead (lead-I) channel, 0.5–40 Hz working band, 500 Hz sampling, recordings of 1–5 minutes per volunteer session.
  • Volunteers drawn from the project team and consenting classmates, with a written consent form, single-use gel electrodes and a stop-if-irritation rule.
  • Bench calibration against the lab function generator and oscilloscope; artefact provocation on the bench under the written protocol.
  • Offline analysis in Python/SciPy (cross-checked in Scilab): PSD/SNR metrics, Butterworth band-pass, 50 Hz notch, simplified R-peak detection.

Out of scope (v1)

  • Clinical use of any kind: no diagnosis, no monitoring claim, no comparison against a certified ECG machine's interpretation.
  • Multi-lead (3/12-lead) recording, stress-test protocols, and patients other than the volunteers described above.
  • Real-time filtering on the microcontroller — filtering is done offline so the study can compare parameter sets.
  • IEC 60601 type testing (isolation, leakage current, defibrillation withstand) — these are lab-level activities; the project documents them as an awareness study, not as compliance.

Methodology

The project follows the V-model, because a measurement instrument demands a matching verification stage for every design decision, and the volunteer-recording phase must be preceded by completed verification of the hardware.

PhaseWeeksActivitiesDeliverable
Literature & requirements1–2Study ECG instrumentation texts and 8–10 papers on artefact removal; draft the consent and safety protocol; freeze requirementsRequirements + protocol v1
Front-end design3–4Breadboard the AD8232 per datasheet, lead-I electrode layout, bench checks with a 1 mV sine; gain and band-pass measuredDesign document + calibration table v1
Firmware5–6500 Hz timer-driven ADC sampling, SD logging with timestamp header, serial streaming, heartbeat LED; watchdogWorking logger
Analysis pipeline7–8Python parser, plotting, Welch PSD, R-peak detector; Scilab cross-check scriptsAnalysis toolbox
Calibration & verification9Full gain/frequency sweep, SNR of quiet reference trace, negative tests (shorted electrodes)Calibration report
Recording campaign10–11Ten volunteers: rest trace + three provoked artefacts each, per the protocol; logbook signed per sessionTrace library + session log
Filtering study12Apply analogue-vs-digital comparison to every trace; SNR and detection metric tablesResults tables + figures
Documentation & viva prep13–14Report, PPT, demo rehearsal, IEC 60601-1 awareness section finalisedSubmission

Testing approach: unit checks (ADC sample rate verified against a known 50 Hz source; SD write integrity via CRC), instrument comparisons (function generator gain sweep vs datasheet), protocol tests (each provocation scripted with expected effect), and black-box test cases recorded as ID / input / expected / actual / result. Every volunteer session is logged with time, electrode batch and any incident, making the trace library auditable — the discipline examiners look for in a measurement project.

Architecture & tech stack

1 diagram · 5 technologies · 1 min read

  • C (Arduino Uno, Arduino framework)
  • Python (NumPy, SciPy, Matplotlib signal pipeline)
  • MATLAB / Scilab (filter design and spectrograms)
  • AD8232 AFE breakout with gel electrodes
  • Bench oscilloscope and function generator

The trainer is a linear biopotential chain followed by an offline analysis pipeline. Sensing: three disposable gel electrodes (right arm, left arm, right forearm for the drive/reference) connect through the AD8232 breakout's 3.5 mm jack. The AD8232 provides the instrumentation amplifier, a right-leg-drive output that cancels common-mode 50 Hz pickup, and an onboard two-pole band-pass (0.5 Hz high-pass, 40 Hz low-pass) with overall gain around 100–1100 depending on configuration — the calibration step measures the actual value. Acquisition: the Arduino Uno's 10-bit ADC samples A0 at exactly 500 Hz from a timer interrupt, appends samples to 1-second blocks and writes them to microSD with a timestamp header, while streaming the same blocks over USB serial for live display. Analysis: recordings are imported into Python, where PSDs, SNR figures, the digital filter set and R-peak detection run; Scilab scripts reproduce the same tables as a cross-check.

flowchart TD
  V["Volunteer (lead-I, 3 gel electrodes)"] -->|"microvolt-level ECG"| AFE["AD8232 AFE breakout: instrumentation amp, right-leg drive, 0.5-40 Hz band-pass"]
  AFE -->|"analog output, gain ~100-1100"| ADC["Arduino Uno ADC A0, timer-sampled at 500 Hz"]
  ADC --> SD["microSD: raw timestamped blocks"]
  ADC -->|"USB serial, battery-powered laptop"| LIVE["Live trace display"]
  SD --> PY["Python pipeline: PSD, SNR, R-peak detection"]
  PY --> DIG["Digital filters: 0.5-40 Hz Butterworth + 50 Hz IIR notch"]
  PY --> REP["Results: SNR tables, spectrograms, detection metrics"]
  FG["Function generator: 1 mV sine sweep"] -->|"calibration input"| AFE
  SCOPE["Bench oscilloscope"] -->|"waveform verification"| AFE

The calibration branch (function generator into the electrode jack, oscilloscope on the output) keeps the study quantitative: gain and cut-off frequencies are measured, not assumed. The analysis pipeline keeps raw data untouched and writes filtered copies alongside, so every figure in the report can be regenerated from the original trace with one script — the property that makes the comparison defensible in the viva.

Modules

5 modules

  1. Module 01

    Analogue Front End & Volunteer Protocol (Member A)

    Owns the AD8232 wiring, electrode lead construction and the consent/safety protocol: single-use electrodes, skin prep, battery-only power, stop rules. Also owns bench calibration — the 1 mV sine gain sweep and band-pass measurement against the datasheet — and the calibration tables in the report.

  2. Module 02

    Acquisition Firmware (Member B)

    Writes the timer-interrupt sampling loop at a verified 500 Hz, the SD block writer with timestamp header and CRC check, serial streaming and the live-plot handshake, plus the heartbeat LED and watchdog. Delivers a unit-test note proving the sample rate against a known source.

  3. Module 03

    Digital Signal Processing (Member C)

    Builds the Python/SciPy pipeline: file parser, Welch PSD, SNR estimator, 0.5–40 Hz Butterworth band-pass, 50 Hz IIR notch (with zero-phase filtfilt option) and the simplified R-peak detector; mirrors the same filters in Scilab/MATLAB so the numbers can be cross-checked.

  4. Module 04

    Experiment Design & Reporting (Member D)

    Designs the provocation protocol and the recording campaign, runs the ten-volunteer sessions with the logbook, computes the comparison tables (SNR before/after, detection sensitivity/specificity), produces the report figures, and writes the IEC 60601-1 awareness section.

  5. Module 05

    Integration & Rehearsal (shared)

    All four members run at least two volunteer sessions end-to-end, rehearse the live demo (record, upload, filter, plot within five minutes), and cross-review each other's test tables so every member can answer on any module in the viva.

Slides

12 slides · titles free · bullets, notes and the .pptx unlock

  1. Slide 1

    Low-Cost Single-Lead ECG Front-End Trainer with Noise and Filtering Study

  2. Slide 2

    Motivation

  3. Slide 3

    Problem Statement

  4. Slide 4

    Existing vs Proposed

  5. Slide 5

    Objectives

  6. Slide 6

    Safety & Ethics First

  7. Slide 7

    Sensing Principle

  8. Slide 8

    System Architecture

  9. Slide 9

    Filter Study Design

  10. Slide 10

    Results

  11. Slide 11

    Individual Contributions

  12. Slide 12

    Conclusion & Future Scope

Bullets, speaker notes and the .pptx · ₹2,000

The titles above are the real outline. The rest is what you present from.

Unlock for ₹2,000

Viva questions & answers

3 of 17 answered free · 14 unlock

Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.

  1. 01Concept

    Why does the AD8232 need three electrodes and what does the third one do?

    Lead-I needs a sensing pair on the right and left arm, but the third electrode on the right forearm drives the right-leg-drive output: it senses the common-mode 50 Hz appearing on the body and feeds an inverted copy back, cancelling it at the instrumentation amplifier's input. Without it, common-mode pickup saturates the gain stage and no trace is visible at all.

  2. 02Concept

    What is the amplitude and frequency range of the ECG you are trying to record?

    A surface lead-I ECG is typically 0.5 to 4 mV peak, with diagnostic content from about 0.05 Hz to 100 Hz; the QRS complex carries most of its energy between roughly 10 and 25 Hz. Our trainer works in the 0.5–40 Hz monitoring band, which keeps R peaks clean while attenuating the slow baseline drift and the higher-frequency muscle noise.

  3. 03Concept

    Why is 50 Hz interference so dominant in your recordings and what causes it?

    India's mains frequency is 50 Hz, and the body couples to bench wiring, fans and tube lights capacitively through its surface area, so the body acts like an antenna at exactly 50 Hz. The interference enters differentially through lead-wire imbalance and common-mode through the body, which is why we combine twisted leads, right-leg drive and a 50 Hz notch rather than relying on one fix.

+14 more questions, with answers

Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.

Source code & how to run

8 steps · complete source code · unlocks with the project

Unlocks with the project · ₹2,000

8 steps · source code zip

Prerequisites, install, seed data and tests, written for demo day. Plus the complete source.

Unlock for ₹2,000

READMEFIRST

249 words · unlocks with the project

What to change before it goes anywhere near a submission. Skipping it is how the demo fails live.

Unlocks with the project · ₹2,000

249 words · ~1 min read

The checklist of things to rename, re-seed and re-think so the project reads as yours.

Unlock for ₹2,000

Instructions

334 words · unlocks with the project

How to study it, adapt it and walk your examiner through it, step by step.

Unlocks with the project · ₹2,000

334 words · ~2 min read

Report structure, formatting rules and the submission checklist your department will grade.

Unlock for ₹2,000

References

7 sources

  1. Analog Devices — AD8232 Datasheet (single-lead heart rate monitor front end)
  2. SparkFun — AD8232 Heart Rate Monitor Hookup Guide (wiring and electrode placement)
  3. PhysioNet — MIT-BIH Arrhythmia Database (reference ECG recordings and annotations)
  4. SciPy v1.x Reference Guide (signal.Butterworth, iirnotch, welch PSD)
  5. Arduino Documentation (Uno ADC, timers, SD library)
  6. IEC 60601-1:2005+AMD1:2012, Medical electrical equipment — Part 1: General requirements for basic safety and essential performance (cited as awareness standard; full text via BIS/IEC)
  7. John G. Webster (ed.), Medical Instrumentation: Application and Design, 4th ed., Wiley

Cite this bundle

OnlyProjects. (2026). Low-Cost Single-Lead ECG Front-End Trainer with Noise and Filtering Study: B.Tech / B.E. Biomedical Engineering project bundle [Educational resource]. https://onlyprojects.online/projects/btech-biomed-ecg-front-end-trainer-noise-filtering-study

Future scope

1 min read

  • Two-channel comparison board: run lead-I and modified lead-II simultaneously to study axis effects, still on the same teaching protocol.
  • On-device filtering port: move the Butterworth and notch into fixed-point C on the Uno or an ESP32 and compare real-time vs offline results.
  • Open reference traces: integrate PhysioNet MIT-BIH excerpts as replay signals through a DAC so the trainer can also test its pipeline without a volunteer.
  • Quantified artefact atlas: grow the trace library across batches and publish an SNR atlas by provocation type and electrode batch.
  • Safety-engineering extension: add a full patient-isolation front end (isolated DC-DC + digital isolator) and measure leakage current against the IEC 60601-1 limits as a documented educational exercise under faculty supervision.

Keep browsing

Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.

B.Tech / B.E.Code included

Aerospace / Aeronautical

Low-Speed Open-Circuit Wind Tunnel with Force Balance for Aerofoil Lift-Drag Measurement

Build a subsonic test tunnel on a student budget, then trace lift and drag on a 3D-printed NACA 0012 against theory

  • C / Arduino Uno (industry-standard extra) — HX711 load-cell and serial logging firmware
  • Python (NumPy, Matplotlib) — calibration, force coefficients and plots
  • MATLAB / Scilab — thin-airfoil theory overlay and regression
  • +4

intermediate14 wk4 students