Well, it's been a while, but I finally found out how to get a stable and clean signal. The use of 2 filters is necessary. Once called the Butterworth Filter, we set the frequencies to filter out "high" frequencies. The, the other one is called Chebyshev Filter and is used to filter out the low frequencies. You feed one filter's output into the input of the other (series). As for a good heartbeat counter, if the blip isn't being passed on its own via the shield, one way would be to tap into the onboard LED that's on the shield, add a resistor and send that right to a different analog pin. I was going to say digital, but the LED may not just be on or off. It can blink at different brilliance levels, indicating the strength of the beat, which could be useful in the code.
Sparkfun did not invent anything, all these ECG modules manufactured in Asia at low cost are only realizations of Analog Device application diagrams of the AD8232. See data sheet on pages 21 and following, especially on pages 24 and 25. Actually your ECG is not good, there is a significant noise that seems single frequency (50/60 Hz?). It is not only the quality of the electrodes to be checked but also their placement and the contact quality skin/electrode. The adjustment of the CMR must be controlled. There are modules coming from Asia whose components (R or C in particular) are not at the right values. ECG Modules with a 7Hz to 24Hz band cut filter should suppress this parasitic frequency. The software also must introduce a numerical noise.
I can't find the code right now, but I remember a couple of years ago, I found some code that produced a more realistic wave form than we're seeing here. Other than just showing beats, this, unfortunately, doesn't show a proper ECG type wave that is "readable" to determine heart health. I ordered one of these, but for some reason, I can't find the dang thing now. LOL
Very interesting! I have a crazy Project - up to now more for fun and not too useful but this could be changed. In an experiement I am using an HB100 doppler radar, 2 amplifiers and an ESP8266 as a rain sensor. Up to now the analysis is very crude evaluating if there is an Change at all. So birds leads to false positive. falling raindrops produce a doppler frequency of less than 200Hz. Analyzing the frequency and the Amplitude it should be possible to avoid the false positives, and to determine if it is rain, hail, snow and how strong it is. What do you think, would it be possible to implement a FFT in the ESP32?
Jusf 4 info: The arduinoFFT github.com/kosme/arduinoFFT works out of the box with the ESP32. just change A0 to your GPIO like 35 and it works. I tested with 2048 Inputs sampled with 2kHz. Calculation incl Hamming Windowing, and peak search is faster than 70ms. But the peak frequency is 2.5% off.
@@s.husain6125 hello sir, i already use firebase to store the bpm data, but i got a problem, why the bpm is not accurate while i send it to firebase? but when i did not use the firebase code (just use the code that already shown in the video) the result is quite accurate? please help..
You probably have bad connection between your skin and electrodes because of how much 50hz noise there is. That or this amplifiers cmrr is pretty horrid.
Arnþór Gíslason I use very bad leads, because the proper one are still in the mail, got only the module and electrodes yesterday, but don't want to wait. The electrodes for $0.23 delivered (if you order 50) are eventual not medical grade but enough for some tests. This more a proposal for a real product.
Well, it's been a while, but I finally found out how to get a stable and clean signal.
The use of 2 filters is necessary.
Once called the Butterworth Filter, we set the frequencies to filter out "high" frequencies.
The, the other one is called Chebyshev Filter and is used to filter out the low frequencies.
You feed one filter's output into the input of the other (series).
As for a good heartbeat counter, if the blip isn't being passed on its own via the shield, one way would be to tap into the onboard LED that's on the shield, add a resistor and send that right to a different analog pin. I was going to say digital, but the LED may not just be on or off. It can blink at different brilliance levels, indicating the strength of the beat, which could be useful in the code.
Can I get code or help?
I sugest you use only battery - for safety and minimize electrical noise.
thank you from Cairo
Sparkfun did not invent anything, all these ECG modules manufactured in Asia at low cost are only realizations of Analog Device application diagrams of the AD8232. See data sheet on pages 21 and following, especially on pages 24 and 25.
Actually your ECG is not good, there is a significant noise that seems single frequency (50/60 Hz?). It is not only the quality of the electrodes to be checked but also their placement and the contact quality skin/electrode. The adjustment of the CMR must be controlled. There are modules coming from Asia whose components (R or C in particular) are not at the right values. ECG Modules with a 7Hz to 24Hz band cut filter should suppress this parasitic frequency. The software also must introduce a numerical noise.
I can't find the code right now, but I remember a couple of years ago, I found some code that produced a more realistic wave form than we're seeing here.
Other than just showing beats, this, unfortunately, doesn't show a proper ECG type wave that is "readable" to determine heart health.
I ordered one of these, but for some reason, I can't find the dang thing now. LOL
what if i am getting empty serial plotter?
Very interesting!
I have a crazy Project - up to now more for fun and not too useful but this could be changed.
In an experiement I am using an HB100 doppler radar, 2 amplifiers and an ESP8266 as a rain sensor.
Up to now the analysis is very crude evaluating if there is an Change at all. So birds leads to false positive.
falling raindrops produce a doppler frequency of less than 200Hz.
Analyzing the frequency and the Amplitude it should be possible to avoid the false positives, and to determine if it is rain, hail, snow and how strong it is.
What do you think, would it be possible to implement a FFT in the ESP32?
klassich D Hi, there is a very nice example for FFT here github.com/cnlohr/colorchord this should be fast enough for the esp32?
Jusf 4 info: The arduinoFFT github.com/kosme/arduinoFFT works out of the box with the ESP32. just change A0 to your GPIO like 35 and it works.
I tested with 2048 Inputs sampled with 2kHz. Calculation incl Hamming Windowing, and peak search is faster than 70ms.
But the peak frequency is 2.5% off.
i found it useful, can you please extend support and share code to store data on the cloud
Use firbase to store data to Cloud
@@s.husain6125 hello sir, i already use firebase to store the bpm data, but i got a problem, why the bpm is not accurate while i send it to firebase? but when i did not use the firebase code (just use the code that already shown in the video) the result is quite accurate? please help..
You probably have bad connection between your skin and electrodes because of how much 50hz noise there is. That or this amplifiers cmrr is pretty horrid.
Arnþór Gíslason I use very bad leads, because the proper one are still in the mail, got only the module and electrodes yesterday, but don't want to wait. The electrodes for $0.23 delivered (if you order 50) are eventual not medical grade but enough for some tests. This more a proposal for a real product.
pcbreflux good stuff thank you for sharing