Introduction: DIY ECG + Arduino + LabView

Picture of DIY ECG + Arduino + LabView

Hello everyone! this is my very first project that i wish to share with you... (it's not the best one, but the results were really amazing!) before we begin, i recommend you to have some basic skills in analog circuits and LabView, or join someone who already know both things.

The analog stage consists only of Opamp substages like filters or amplifiers, and the Digital one consists in a simple analog read operation in LabView using an Arduino UNO board with a basic GUI showing the heart frequency and the signal coming out from the electrodes.

If you're ready to go, let's get started!

Step 1: Making the Electrode Wires

Picture of Making the Electrode Wires

We need 3m of RCA cable, i recommend this cable because it's hehaviour is similar to a coaxial cable due to the outer conductors, they give more stability to the signal coming out from the electrodes. We're going to use only the inner conductors.

Weld 3 size 3 snap buttons to each inner conductor. Then weld the other ends to a 3 channel audio jack.

Remember to isolate every bare wires.

The electrodes that i used are shown in the picture. The're exclusively for ECG/EMG

Step 2: First Analog Stage (Instrumental Amplifier)

Picture of First Analog Stage (Instrumental Amplifier)

1.- in the schematic, E1 and E2 are the electrodes (both are connected to the chest, the third one is connected to GND and it is usually placed onto the heel). The opamps that i used are TL081, which i noticed, were more stable than 741.

You can see the resulting signal in the scope

Step 3: Second Analog Stage (60 Hz Notch Filter)

Picture of Second Analog Stage (60 Hz Notch Filter)

The notch filter is very important in the circuit, because it cleans up the frequency coming out from the AC voltage source.

Step 4: 3rd Analog Stage (low Pass Filter)

Picture of 3rd Analog Stage (low Pass Filter)

Add another filter in case of lower frequencies are detected like the movement of the electrodes

Step 5: 4th Analog Stage (inverting Summing Amplifier)

Picture of 4th Analog Stage (inverting Summing Amplifier)

This stage is very usefull because i detected that small dc components (but greater than the electrode signals) are altering the output signal of the instrumental amplifier, so we need an offset stage to compensate it.

Step 6: 5th Analog Stage (Inverting Amplifier)

Picture of 5th Analog Stage (Inverting Amplifier)

Finally, the last stage of the ECG, the inverting amplifier will magnify enormously the small signal of the last stage, making it easier to see.

Step 7: Breadboard/pcb Design

Picture of Breadboard/pcb Design

Sadly i didn't have enough time to make a fancy pcb design. i took out the components of the breadboard and placed it just like that onto a perforated breadboard-like plate. The circuit works with a separated dc voltage source (+-9V)

Connect the output signal of the ECG to the A0 Arduino pin. Connect the adruino GND to the circuit's GND.

Try to drill holes in the box for the opamp voltage sources, the audio jack, the pot and the usb cable.

Step 8: LabView Stage

Picture of LabView Stage

Try to copy the following LV block diagram (for Arduino UNO i used LYNX to communicate the board with my laptop)

The final result is surprisingly great!

You can download the VI here =)


PacoC22 (author)2017-11-22

Hola disculpa, tengo los electrodos y unos cables para conectar a cada uno, cómo es que se conectan a la primera etapa que corresponde al amplificador de instrumentación? Agradezco tu respuesta

PacoC22 (author)PacoC222017-11-22

Además, en qué parte se tienen que conectar los electrodos para obtener una señal óptima?

BeatrízV8 (author)2017-01-21

Tenía una consulta, en la parte del filtro notch, los capacitores son de 10 micro o 10 nano? Es que no logro diferenciar muy bien, muchas gracias de nuevo:)!

BrunoV18 (author)BeatrízV82017-01-21


BeatrízV8 (author)2017-01-18

Realmente me ha gustado tu proyecto, cómo podría hacer la simulación en algún programa como proteus? Te agradecería mucho tu colaboración, por cualquier cosa mi correo es

BrunoV18 (author)BeatrízV82017-01-18

Hola Beatriz

Muchas gracias por tu comentario =D.

Durante el desarrollo del proyecto, en un principio pensaba hacer una simulación del circuito con el programa que uso habitualmente (Multisim). Pero recuerda que la señal del corazón es muy particular y no es posible obtener una "fuente de ecg" en el programa.

Estuve revisando foros... y por ahí encontré una simulación de un ecg (para Multisim) simbolizado como una fuente de voltaje, la cual puedes procesarla como fuera, ya sea amplificarla, filtrarla o atenuarla.

Pero te recuerdo que una señal analógica viene con ruido, así que probablemente los resultados que te de la simulación podrían ser diferentes a los reales en cuanto al procesado de la señal.

Te recomiendo que implementes el circuito paso a paso, por eso los puse por etapas. Una vez tengas el amplificador instrumental, pasas al filtrado, etc...

BeatrízV8 (author)BrunoV182017-01-19

Te agradezco muchísimo! Ahora por la tarde iré a comprar los elementos para montarlos y hacer pruebas, espero poder contar con tu asesoramiento más adelante y de nuevo te agradezco:), seguí así.


eyican (author)2016-12-23

hi, can I use this labview interface for EMG? Sorry,I am asking like this question because I am not good at labview:(

BrunoV18 (author)eyican2016-12-24

Sure! this LV interface is just a common signal visualizer supporting voltages coming out from the Arduino UNO (0- 5V), you can visualize whatever you wish with the LabView file =)

MatheusB11 (author)2016-11-29

Hello sir, please help! i cant find those cables here in Brazil. Maybe the name that is called here is different, could you send me the site where you buy it? (sorry my bad english)

BrunoV18 (author)MatheusB112016-11-30

here in Mexico we call it "cable de bocina" (speaker cable), but try to get any cable with metallic shield. =)

Jose ManuelB16 (author)2016-11-16

Excelente trabajo!!! quiero hacer ese proyecto, me podrias enviar el .pdf? Gracias

BrunoV18 (author)Jose ManuelB162016-11-18

Hola, la verdad no sé cómo obtener un pdf... la página me pide ser ususario premium :(

Jose ManuelB16 (author)BrunoV182016-11-19

Jeje me too, Could you give me your email please? I have some questions about the circuit :D

BrunoV18 (author)Jose ManuelB162016-11-19

sanjanamaladhker (author)2016-09-11

can u plz mail me pdf of this project?

I can download the pdf of the project for you, you can leave me your e-mail and i send it to you

Sadly i don't have any diagram (if your asking for any pdf circuit diagram) .. that's why i uploaded pictures of every stage

KhairulS7 (author)2016-08-16

hi. how about the coding, do u use it?

BrunoV18 (author)KhairulS72016-08-17


Sorry for the late response. The coding was made entirely in LabView. You can see the block diagram in the last image. Today i uploaded the VI file for anyone so they can take a look.

The Arduino board doesn't require any code to run. Just plug it in your computer and follow the LINX wizard, select your board and you're ready to go!

DIY Hacks and How Tos (author)2016-07-17

Awesome. I love it when people make their own lab equipment and sensors.

Thank you so much!!

About This Instructable




More by BrunoV18:DIY ECG + Arduino + LabView
Add instructable to: