Creating a "fake heart" ecg-output Signal

Hello all,

I am an Biomedical Engineering student and for a small project I am tasked to build a "fake heart", so we can test the performance of small student made ecg devices.

The completed "fake heart" should have 3 pins with changing voltages, so that a standard ecg-device can interpret it as the 3 Einthoven leads.

Now the question: Can I use an arduino to output the potential between the 3 pins? and if yes, what is important to begin with?

thanks in advance!


With just an arduino this could be tricky. The reason is that the arduino does not have a true analog output.
It uses a PWM signal to simulate a analog output (have a look at this).

So it really depends on how realistic this output has to be. The link i provided also shows a simple circuit that would help make it more “analog”.

You can also use a digital potentiometer controlled by an arduino to make a signal. The trick here is defining how “realistic” your signal should be. The more realistic you try and make it the faster and more accurate your hardware should be (if you are satisfied with just a delta pulse it is easy, if you want high frequency and small voltage variations it is hard).

Hope that gives some idea for feasibility.

Thanks for the quick answer.

I looked at the Link you send me and it sounds reasonable. I can understand the problem now. However, I am not sure how "smooth" my signal has to be, since im not sure how sensible the ecg-device is in analyzing the signal. Do you have an idea which kind of device, other than arduino, would be better suited for such a task? Whenever I search on google I find devices from National Instruments or texas Instruments, but they cost a lot of money :(

For an Arduino based solution, you could use the Arduino to drive a 4-channel 8-bit DAC chip such as tlc5620. Thus would give the Arduino 4 true analog outputs. You would still need to figure out how to sample & store the waveforms on the Arduino and then some user interface to allow them to be selected and played back.

Another solution would be a laptop with surround sound (4+ channels). This may be easier because audio sampling software packages would enable you to create & edit and build up a library of waveforms.

Either solution is going to require expert level of knowledge. Do you have any friends/colleagues in the Electronic Engineering or Computer Science departments? A good cross-departmental project!

Using a sound system would be smart yeah.

It might be easier to just get the students to test it on themselves, since that would ensure it is as real as possible. (we had to do this in my bachelor and was a good experience).

The ECG signal is low voltage high impedance one. Arduino is surely not able to simulate it alone. Also I think making a passive R(L)C filter of PWM to simulate ECG will be tricky. Doable solution should be to make the ECG waveform with any output impedance and than buffer the signal with an op-amp and apply passives to it's output to get realistic impedance.