Picture of Electrocardiograph & Heart Rate Monitor
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
- (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 87Next »

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?

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 ???

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: thank you

How to connect my laptop instead of
birdyberth (author)  prithviraj.jain.941 month 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

maybe you should try this

AnirudhJ1 month ago

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

birdyberth (author)  AnirudhJ1 month 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:

ramcica1231 month 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)  MatheusdeFariass1 month 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.meyad1 month ago

Hi, you can open it with any basic text editor or with, of course, the arduino IDE which you can find here :

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)  Hanaha1 month 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)  marklaslett1 month 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.

Garnagar4 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)  Garnagar4 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.laureano4 months ago

Yes, pretty any diode will work.

andreagrandi5 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)  andreagrandi4 months ago

Here it is!

andreagrandi5 months ago

Hi and thanks for this amazing tutorial :)

I will build this as soon as possible, I just would like to avoid buying an Oscilloscope and I was thinking about sending the values to the serial port so I can read them from my computer and maybe with a pretty simple Python application I could draw a graph instead of having it drawed by the oscilloscope. Do yoou think it's possible or not? In case is possible where do I read the values from? Thank you so much!

birdyberth (author)  andreagrandi4 months ago

Yes it's possible. For example, you can use the arduino's ADC to digitize the signal and send the data through the serial port, then use an application to display it. In this case, you will need to add an offset voltage to the signal to keep it between 0-5V. Good luck!

aliumujib6 months ago
hi, I'd like to make an electrocardiogram using a heart rate scanner (the types that read heart rate from finger tips) how do I go about it? could you help modify your project for that? my email is , whatsapp +2347045095095
birdyberth (author)  aliumujib4 months ago

Hi, it's called an oximeter and it's based on a completely different measure :

NareshK15 months ago

I couldn't download the coding. Can you please email

MimiK15 months ago

Thanks for the great tutorial! What is the output? (Trying to figure out the gain) Also do you know the specs of the filters? I am looking to adapt the system for use on small animals and need to figure out exactly what needs to be adapted, or if the system will work as you've designed it.

ciarak8 months ago

Hi this is a great project.

I was wondering how I would add more electrodes if I wanted to.


birdyberth (author)  ciarak7 months ago


You could make a duplicate of the circuit for each electrode you want to add. You could use the same reference electrode by connecting all the negative inputs of the instrumentation amplifier together to one electrode, and the positive inputs would be the probing electrodes.

ctle8 months ago

hi there,

great project, i was wondering where you were able to pick up the supplies from? my local store did not carry some of the components such as the amplifier INA128

birdyberth (author)  ctle7 months ago

Hi, I got the INA128 on the internet, I think it was on ebay.

1-40 of 87Next »