Most recent activity
Thank you for all the information Gordon. As of my original post I have now found that having the watch sitting at a specific spot on my wrist yields better results. This is not ideal for the end-user as they would have to take the time to find the best spot etc. instead of it working "out-of-the-box". I'm not sure how the process works with other smart watches but as long as I know that is something to keep in mind I'm happy.
While I have you here, can I just ask another possibly dumb question - is it normal for the sensor to be affected by movement? Whenever I move my arm etc. the signal jumps up & down in response. I'm just curious because this would make it hard to make precise measurements during any exercise, no? I'm aware of the huge market of wearable fitness trackers etc. so I'm sure that problem has to be solved, I'm just not sure if the heart sensors in other devices aren't affected by movement at all?
Please look at the following video
for a demonstration of the problem. I'm obviously shaking the watch to the extreme but I just wanted to showcase that the BPM measurement is affected by movement as well. I have watched some videos on how optical heart sensors work and it doesn't seem to make sense that it would be affected by movement so any information would be much appreciated.
Also thank you for the tip about masking off the two sides of the sensor - hopefully I won't be needing to do that.
Depends a lot on where / how you wear it, do you move, etc. Like I got the best heart rate signal when I put one of my fingers on top of the hearth rate sensor at a specific way/direction. Not wearing on my wrist...
You are absolutely correct - after placing the watch on my finger the readings went off the charts. Unfortunately that's not applicable for my use-case as the watch needs to be worn on the wrist.
Hi - in that last photo you posted - the one that says 67 - it looks like you're starting to get a really good reading.
I think the problem you might be hitting is that the sensor takes 10-20 seconds to calibrate itself, so if you move the Bangle, it can take a while before the change you made takes effect.
It does get a good reading every now and then but it will just drop to the same levels as shown in the pictures after a couple of seconds. If not else, the readings are inconsistent.
Also, the heart rate monitor app actually uses a different algorithm to the 'internal' heart rate monitor (because it's attempting to show you real-time values). You should find that in all the cases you show, the internal heart rate monitor (that you'd see used on something like the heart rate widget at https://banglejs.com/apps/#widhrm or any other app that uses heart rate) would be able to get a valid heart rate value for you since it works by finding repeating patterns rather than by detecting peaks.
The problem is that I'm trying to implement my own algorithm for detecting R-peaks in the ECG signal, more specifically the Pan Tompkins algorithm. My current implementation seems to work fine with data pulled from PhysioNet but I'm having trouble getting consistent results with the data from my Bangle. My current working theory for why that is is the small difference between the amplitude of noise and R-peaks on Bangle's ECG.
Considering the fact that the signal is much better when placing the sensor on the finger, is there a way to increase the "power"(?) of the sensor?
I'm having trouble getting a clear ECG signal from my Bangle. I am using the Heart Rate Monitor app as a reference and what I'm seeing is very low heartbeat peaks compared to the noise. I have watched the following video on the official Espruino channel and the difference is night and day: https://www.youtube.com/watch?v=09hw8nJrWq8
I'm attaching a couple of photos taken of how the signal looks on my watch. I have tried tightening the wristband, flipping the watch so the ECG sensor sits on the other side of my wrist, etc. but had no luck getting the signal to become clearer. I have also checked my settings but couldn't find anything that could affect the ECG.
Is this a defective ECG unit or am I missing something obvious?
Any help would be much appreciated!
I'm trying to figure out if there's a way to access information about the current "screen" that the Bangle is on. I would like my widget to listen to a button press only when the Bangle is on its default screen/clock face (and NOT when I'm in the Launcher or in a different App) and I'm having trouble accessing that information.
Is that currently possible at all? I've looked through the Espruino/Banglejs API reference documentation but I might be using the wrong keywords when looking for a solution. If that is currently not possible, could you please point me in the direction of the source code where I could implement this functionality?
Any help would be much appreciated!
Thank you for that explanation Gordon. If I understand correctly the problem lies in the analog domain due to the self-calibration of the input signal - this means we're not getting raw data but a signal that has already been tinkered with in the analog domain, correct? And I'm assuming that because of the data not being raw, the filters you would normally apply to filter out the movement won't work with Bangle?
I'll play around some more to figure out what would work best for my use case but just understaning all of the above helps a lot so thank you!