Instructables
loading
loading
Picture of Electrocardiograph & Heart Rate Monitor
20130803173545(1).jpg
This instructable shows you how to make an electrocardiograph and a heart rate monitor. It is intended to be a fun science project only. Of course, it should not serve as a medical purpose.

PLEASE NOTE : To avoid any risk of electric shock, only use battery alimentation. Electrodes are theorically isolated from the circuit by the instrumentation amplifier, but play safe. I'm not responsible for any accident that may happen. 

This is a simple design that fits on a single breadboard. You are free to experiment and to custom it for your needs.

Since it's my first Instructable and also since English is my second langage, don't hesitate to contact me if you find an error or if you want some clarifications about a section or another. I will be happy to edit my project for the better!
 
Remove these adsRemove these ads by Signing Up

Step 1: List of Materials

Picture of List of Materials
DSC00422.JPG
- (1) Instrumentation amplifier INA128
- (1) Operational amplifier 741
- (1) Arduino Uno
- (1) 16x2 characters Liquid crystal display
- (1) Voltage regulator 7805
- (1) 8 ohms mini speaker
- (1) Brigth LED (I use a 10 mm one)
- (1) Diode 1N3064
- (2) 9V Batteries with connectors
-  Breadboard
-  Jump wires
Resistors :
- (2) 100 ohms, 1/4W
- (1) 470 ohms, 1/4W
- (1) 1 kiloohms, 1/4W
- (2) 10 kiloohms, 1/4W
- (2) 100 kiloohms, 1/4W
- (1) 1 Megaohms, 1/4W
Capacitors :
- (1) 10 nF
- (1) 47 nF

For the electrodes :
- About one meter of speaker wire
- Antistatic wrist strap
- Medical tape
- Aluminum paper
- (2) metallic paper clips
- Shower gel (a substitute for electrocardiogram gel)

Optional but recommended:
-Oscilloscope, for the electrocardiography part of the device
1-40 of 97Next »
SiR3yesterday

Merci birdyberth pour cet tuto, svp est ce que je peux changer l'INA128 par l'AD620?

DusanPaun5 days ago

I dont have an oscilloscope, can I use a programs that simulate oscilloscope on mine PC and still have a real time communication between them two?

ck79sg24 days ago

Hi, I would like to know, what is the purpose of using another OpAmp 741?

Also, can I use OpAmp INA126 instead of using INA128?

birdyberth (author)  ck79sg15 days ago

Hi, you can use the INA126 instead, just adjust the gain resistor to have something similar to my values. The 741 is used as a simple comparator to find the peak of the heartbeat and output a near 5V pulse to the arduino wich acts like a frequency meter.

Hi, I have few enquiries:

(1) I've assembled the circuit, instead of using a oscilloscope to view the waveform, I have connected a digital-millimeter at the filter area. Now, when I remove(disconnect) the digital-millimeter, the LCD Screen will show <30bps, LED stopped blinking and speaker sounding a 'dead' pulse. My friend create another identical circuit and encountered same issue as mine. The only components that we uses different from yours is the diode (1N4001). I read your earlier post, diode should not post any problem.

(2) I've to convert my Arduino codes to Atmel Studio because I'm using a Atmel Development Board, do u have any codes that can run in Atmel Studio? Or do you have any website/guides that can help me?

SiR39 days ago

Bonjour birdyberth merci pour cet tuto,

j'ai une question pour la masse de circuit: est ce que toutes les masses du circuit sont reliées à l'électrode de référence ou seulement la masse de l'amplificateur qui reliée à l'electrode??

sathya128512 days ago

Hi i am using ATMEGA-164A can you please explain how to use it?

lovebes13 days ago

On the V- lead at the INA128, Do I just add the GND lead of the 9V battery to it? I don't have a voltage regulator..

please can you send for us the programmation of the arduino= stp donnez nous la programmation de l'arduino

birdyberth (author)  kawtherch.chrigui15 days ago

You can find it in step 3. Or in the attached file.

Merci pour ce tutoriel birdyberth, svp pouvez vous me donner plus d'information sur les électrodes utilisées???

Pourquoi tu as choisi ces amplificateurs ??

est-il possible d'utiliser des électrodes prêts ???

birdyberth (author)  Marwa.Abderrahmene15 days ago

Oui, c'est possible d'utiliser des électrodes commerciales. L'un des buts de cet instructable était de montrer qu'il est possible d'obtenir d'excellents résultats avec des électrodes faits à la main avec des matériaux pouvant s'obtenir facilement. J'ai choisi ces amplificateurs un peu pour la même raison, parce qu'ils sont vraiment pas chers et se trouvent facilement. Vous pouvez essayer d'autres amplificateurs qui ont à peu près les mêmes caractéristiques si vous ne trouvez pas ceux-là, ça ne devrait pas poser de problème.

can i get a pcb layout of this project plz

This is a great project and i prefer make for graduation project.I have resarched it for a long time.I really need more details. Suddenly, researching this site is open. I am very happy. :) Please more detail about this project. :) my email: ee.mrvozden@gmail.com thank you

How to connect my laptop instead of
Oscillioscope
birdyberth (author)  prithviraj.jain.942 months ago

With a USB oscilloscope? You need an analog acquistion module.

What is that analog acquisition module?
Can I connect to my laptop using USB and then interpret the graph through a software.

maybe you should try this

https://processing.org/download/?processing

maybe you should try this
https://processing.org/download/?processing

AnirudhJ2 months ago

could we tweak this a bit to use led and photo detector to detect heart rate?

birdyberth (author)  AnirudhJ2 months ago

No, because the thing you are talking uses a completely different phenomenon. It's called an oximeter.

I want to apply this application to the fetal heartbeat, what is the change needed please and what type electrode used???

Here is a project which works with this: http://www.instructables.com/id/Homebrew-Arduino-Pulse-Monitor-Visualize-Your-Hear/?ALLSTEPS

ramcica1232 months ago

I want to apply this application to the fetal heartbeat, what is the change needed please and what type electrode used???

hello, I'm having problems with the input signal, the display is running very fast, appearing unknown characters, I used a 7905 instead of 7805 to have the negative voltage (5V) when I put the oscilloscope only shows noise, would have problems calculation using ina129? if so need to change the resistors?
birdyberth (author)  MatheusdeFariass2 months ago

Hi, try to change the gain resistor of the ina129 (R1). A lower gain makes it easier to see the signal although it will be noisier and less amplified.

Hello birdyberth

Possible give me the code in Word file , or the program name who to opens the code.

Send Connector software.

Thank you alot...

birdyberth (author)  abdulnasser.meyad2 months ago

Hi, you can open it with any basic text editor or with, of course, the arduino IDE which you can find here : http://arduino.cc/en/Main/Software

Hanaha4 months ago

is there a possibility to use your circuit with arduino but only to plug into computer and there draw a ecg in matlab for example ? without display and speaker and other stuff... just body > circuit > arduino > matlab

birdyberth (author)  Hanaha2 months ago

Yes, but you will need to change the circuit and the code. Start with the intrumentation amplifier, and make a circuit to feed the signal into the arduino's ADC, then code the arduino to transmit the data to a virtual com port and finally code a matlab script that plots the ecg. Good luck!

marklaslett4 months ago

This is a great project. Thanks. I am having trouble with reading the circuit diagram. I have a uA741CP and the pin assignments don't seem to match up. What appears to be pin 4 on your diagram reads V+ is Vcc- on the uA741CP data sheet diagram. What appears to be V- on your diagram is Vcc+ on the datasheet. Can you please help me ensure I make the correct connections. Thanks!

birdyberth (author)  marklaslett2 months ago

Hi! Pin 4 on my diagram is Vcc- and pin 7 is Vcc+. Use basic logic and if unsure, check the voltages with a multimeter before putting the chip.

Garnagar5 months ago

Hi, really great project!

I was wondering if it is possible to read anlog signal from electrodes by just pluging input cable into analog input on Arduino or I need to make more changes? Thank you very much (and sorry for noob qestion).

birdyberth (author)  Garnagar5 months ago

You need to make a few changes because the arduino's ADC works in the 0-5V range, and the output signal of my circuit is in the -0,5 to 0,5 V range. Use an amplifier with a gain of 5, then add an offset voltage of 2,5V to the output with a voltage divider and a large capacitor.

I can replace the other Diode 1N3064?? because I can not find it

birdyberth (author)  roberth.laureano5 months ago

Yes, pretty any diode will work.

andreagrandi6 months ago

p.s: could you publish the source file for the Fritzing project? I'm trying to re-create it from scratch, but for example I can't find some parts like the INA128 etc... thank you so much :)

birdyberth (author)  andreagrandi5 months ago

Here it is!

1-40 of 97Next »