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 67Next »
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?

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

Hanaha2 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

marklaslett2 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!

Garnagar2 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)  Garnagar2 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.laureano2 months ago

Yes, pretty any diode will work.

andreagrandi3 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)  andreagrandi2 months ago

Here it is!

andreagrandi3 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)  andreagrandi2 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!

aliumujib4 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)  aliumujib2 months ago

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

NareshK13 months ago

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

MimiK13 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.

ciarak6 months ago

Hi this is a great project.

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


birdyberth (author)  ciarak5 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.

ctle6 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)  ctle5 months ago

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

chaitanya11235 months ago

hello.. I have planned to take this circuit up for my college project..and that requires me to design the same circuits PCB layout. Hence, Could you send me the list of exact components used as I will use Eagle software to design the PCB. Also is it okay if I use medical electrodes instead of making the same with household materials. Please contact me as soon as you can on to answer these questions and any further doubts? Merci!

French -

bonjour .. j'ai prévu de prendre ce circuit pour mon collège project..and qui me demande de concevoir la même disposition des circuits de PCB. Par conséquent, Pourriez-vous m'envoyer la liste des composants exacts utilisés comme je vais utiliser le logiciel Eagle concevoir le PCB. Aussi est-il correct si j'utilise des électrodes médicales au lieu de faire la même chose avec des produits ménagers. S'il vous plaît me contacter dès que vous le pouvez sur de répondre à ces questions et d'autres doutes? Merci!

fred_dot_u6 months ago

A great instructable and one for which I have been searching at length. I have an Arduino experimenters kit and probably can knock this out if I collect the parts.

Has anyone constructed this device in PCB form? It would be great to have a simple box with the electrodes and perhaps the O-scope leads extending, to enable easy connection and monitoring. The reliability of a circuit board design means no jumpers to pull out by accident, of course.

Is anyone here handy with circuit routing? Etching a board is a simple matter with a Radio Shack kit or just "stuff on hand" in a lot of cases.

I see that sparkfun has the DSO nano v3 for US$100.00. The site text says the only difference is a metal case rather than plastic.

youss77 months ago

hello dear

can we use Ad620 instead of Ina 128? can u send me the project in french version plz Merci!

monicute8 months ago


This is a really great project, I am planning to do it this weekend.

Is there a problem if I change the inamp (INA128) to the (INA118)?

Merci :)

birdyberth (author)  monicute8 months ago

Désolé, je suis un peu en retard si tu voulais une réponse pour la fin de semaine... :)

Honestly, I don't see the difference between these two, they have the same pinout and after a very quick look, pretty much the same specs. In fact, at the origin I've chosen this model a bit arbitrarily :) It should work fine.

Pendant que j'y pense, si tu veux la version française de mon code, écris-moi!

Merci beaucoup :D

Oui!Je voudrais voir la version française de ton code.

Could you please email me? [] :)

monicute monicute8 months ago

I am programming this on C language, when I finished could you help me to corroborate it is correct please?

can this thing of yours be used to observe and monitor a frogs heart rate, m doing a project on how potassium , calcium and sodium ions effect the heart rate and i need to know if this would work. Email me if you could. Thanks for this great project

birdyberth (author)  assassino desigen8 months ago

Yes, it's possible. You'll have to experiment with electrodes's location & fixation, and maybe with the gain of the circuit.

colossus208 months ago

Hi birdyberth, I have successfully managed to get together a working version of the circuit displayed above, I manage to get a somewhat constant signal with the LED and the speaker (I didnt bother ith the display) however when I try to get the signal with an oscilloscope at the point where you suggest I cant get a waveform and it sorts out the output signal.

Could it be that if the oscilloscope is connected to the mains voltage it produces the circuit to short out?

birdyberth (author)  colossus208 months ago

It's probably linked to the impedance of the oscilloscope, as I'm using high resistance values in my circuit. Try to add a very high resistance in series with your probe.

Yuly9 months ago

no importa si en lugar de usar el INA128 lo fabrico de esta manera? sin usar los over voltage protection.....

birdyberth (author)  Yuly8 months ago

If I understand your question, you want to make your own instrumentation amplifier? It's possible. The hint is to use high precision resistors. Good luck!

heriss699 months ago

Is it possible to convert this into a pacemaker? Like with a few added steps?

birdyberth (author)  heriss699 months ago

If I were you I wouldn't try that.

gada88810 months ago

is it possible for me to replace the Diode 1N3064 with 1N4001

birdyberth (author)  gada88810 months ago

Yes, it's possible. Pretty much any ordinary diode will do the job.

atolat10 months ago

Could you please explain the pulse counting logic?

birdyberth (author)  atolat10 months ago

It's an edge trigger, so it activates the counter only if the pin has just changed its state and if the pin is high.

tal satti10 months ago

nice project and thanks for sharing , i just wanted to ask u, is it possible to place the electrodes around the leg ? because i want to integrate the heart rate sensor to my project which is also placed at the ankle

1-40 of 67Next »