Some weeks ago I started to design an ecg-amplifier consisting of an INA326 instrumentation amplifier, a 2.5V voltage reference which represents the base voltage at which all measured signals of the amplifier circuit is related to and some buffers and high gain operational amplifiers. Instrumentation amplifiers stand out due to excellent high input resistance, mostly more than 1GΩ and a very high common mode rejection ratio. The last feature is important for suppression of common mode voltages of the human body, because humans are very good antennas for 50Hz line voltage. This signal must also be suppressed by an additional bandstop filter in an ecg-amplifier circuit. The whole amplification circuit has got a gain of 1000.
In the following picture you see the build up circuit. The instrument cables are quite improvisational but they are working just fine. Rather than the cables without aluminum foil. On the two pictures on the right you see the measurement and logging circuit on the upper board and the ecg-amplifier on the lower one. The data logging is done by an Atmega16 and a AD7680 16-bit analog to digital converter.
Now the results! I took a test series after some sport-exercise shown in the pictures below. I read in the data with Matlab over virtual COM port and plottet the 16bit values which were converted to the corresponding voltage values. On the left hand there is the original timesignal with its spectrum beneath and on the right hand is the same signal digitally filtered plus spectrum. I haven’t discovered where the peak in the unfiltered spectrum at about 22kHz comes from. It is not the ADCs sampling rate because the fft() function in Matlab just plots the spectrum up to Fs/2. In this case Fs is the ADCs sampling rate. In the filtered spectrum there is nearly just the 1/f-noise in the graph.
I also did a small peak-find-function in Matlab which detects and lists all peaks over a defined threshold. After executing this funktion Matlab calculates the heartbeat-rate with those listed peak values and marks the peaks in the graph.
One pulse zoomed in:
Conclusion. The hole circuit is very compact and cheap. Both boards are 5x5cm² and can be mounted 5mm above each other. It needs only a single supply of 5V and can be completely driven by an USB port which is also used to read out the data by a Matlab script or other programs over the serial interace.
The ecg-amplifier board can also be driven by a power supply between 5V and 26V which is the maximum input voltage of the LM2940 low dropout regulator. The ecg-signal can be measured with an oscilloscope at the bnc connector which is also on this board.





