Design of a Low-Cost ECG Machine - Electronic Engineering Guide
1. Introduction
Electrocardiography (ECG) is essential in diagnosing and monitoring heart conditions. This project focuses on designing a low-cost ECG machine using basic electronic components and microcontrollers to make cardiac diagnostics more accessible in resource-constrained environments.
2. Objectives
• To design a low-cost ECG system using easily available
components.
• To acquire and process ECG signals for visualization and analysis.
• To display ECG waveforms in real-time using serial or graphical interfaces.
3. Components Required
• Instrumentation Amplifier (e.g., AD620)
• Operational Amplifiers (e.g., LM741, TL072)
• Arduino Uno / ESP32 / STM32
• ECG Electrodes and Lead Wires
• Resistors, Capacitors, Breadboard
• LCD Display or Serial Monitor
• Power Supply (±9V for analog stage, 5V for microcontroller)
4. System Overview
The ECG machine consists of a three-stage system: signal acquisition from the human body, analog signal processing (amplification and filtering), and digital processing using a microcontroller. The processed signal can be displayed on a PC or LCD.
5. ECG Signal Acquisition
ECG electrodes are placed on the body to capture electrical activity of the heart. A standard 3-lead configuration can be used (RA, LA, and RL). The differential voltage is fed into the instrumentation amplifier for initial gain.
6. Amplification and Filtering
The AD620 amplifies the small ECG signal (in mV range). Post
amplification, filters are used:
• High-pass filter (0.5 Hz) to remove baseline wander
• Low-pass filter (100 Hz) to eliminate high-frequency noise
• Notch filter (50/60 Hz) to eliminate powerline interference
7. Microcontroller and Signal Processing
The output analog signal is fed to the ADC pin of the Arduino or ESP32. The microcontroller samples the signal at 200-500 Hz and sends the data to a PC via serial, or visualizes it directly on an LCD or OLED screen.
8. Display and Output Options
• Serial plotter (Arduino IDE) for waveform visualization
• OLED display for on-device waveform view
• Bluetooth/Wi-Fi modules for mobile app or PC interface
9. Software and Code Explanation
The Arduino reads analog signals and prints the values to
the serial port.
Example Code Snippet:
void setup() {
Serial.begin(115200);
}
void loop() {
int ecgValue = analogRead(A0);
Serial.println(ecgValue);
delay(2); // Approx. 500 Hz sampling
rate
}
10. Applications
• Primary healthcare centers in rural areas
• Portable health diagnostic kits
• Biomedical engineering education
• Personal heart monitoring systems
11. Challenges and Future Enhancements
• Noise reduction and artifact removal
• Signal accuracy comparable to medical-grade ECGs
• Battery-powered wearable ECG designs
• Real-time cloud connectivity for remote diagnosis
12. Conclusion
This project demonstrates a low-cost method for ECG signal acquisition and visualization. It provides a foundation for developing affordable biomedical diagnostic tools for broader healthcare access.