CH
ChrisDavi3s/ArduinoAD8232ECG
An open source arduino heart rate monitor based on the AD8232 with a graphical interface written in python.
ArduinoAD8232ECG
A python frontend for an arduino AD8232 based ECG. Noise reduction and baseline correction are included to produce plots such as this:
Table of Contents
Introduction
- Electode Placement:
- A quick tour:
- Select the COM port the arduino is using. Look in device manager under ports.
- This will start/stop monitoring the selected port. This does not record anything. You should see data in (4) if connected correctly.
- Starts recording of data. When stop is clicked a prompt will come up to save the data as an excel file. This data has been processed. Try not to record for years I have zero idea how well this copes with large data sets.
- Live graph of incoming raw unfiltered data. Yes it looks choppy but is only intended to be a viewfinder and not the final data.
- Close the program and kill any serial connection.
Installation
The arduino side
- Flash the .ino to your arduino. Ensure that all the data pins are correct.
These three lines will need changing depending on which pins you decide to use. See wiring diagram below.
This image is stolen (under licence conditions) from the brilliant rescource at https://learn.sparkfun.com/tutorials/ad8232-heart-rate-monitor-hookup-guide/all
I would highly reccomend checking this out if you are doing a similar project.
pinMode(10, INPUT); // Setup for leads off detection LO +
pinMode(11, INPUT); // Setup for leads off detection LO -
Serial.println(analogRead(A0));The python side
- Anaconda navigator was installed for my setup. Run the .py however you want, in my case I ran it in visual code.
- A few pakages might need installing. todo I will clean up the code to try to remove unused dependencies.
Contributing
I'm new to git - this is very likely wrong.
Step 1
-
Option 1
- ๐ด Fork this repo!
-
Option 2
- ๐ฏ Clone this repo to your local machine using
https://github.com/ChrisDavi3s/ArduinoAD8232ECG.git
- ๐ฏ Clone this repo to your local machine using
Step 2
- HACK AWAY! ๐จ๐จ๐จ
Step 3
- ๐ Create a new pull request using
https://github.com/joanaz/HireDot2/compare/.
FAQ
-
How do I do specifically so and so?
- No problem! Just do this
(WIP)
Support
To come.
Will actually try to comment some of my code sorry!
Donations (Optional)
- Buy me a coffee if you ever meet me.
License and other important things
- This is not for medical use. I have made this for fun and any results should not be relied on. If in doubt please seek professional medical advice (ie not mine). No responsibility will be accepted for any harm that is caused by use of this code as per the licence agreement.
On this page
Languages
Python81.9%C++18.1%
Contributors
GNU General Public License v3.0
Created September 6, 2020
Updated December 26, 2025

