• I have been looking at the BangleJS2 HRM without much success for the last week or so (I was hoping to just add some filtering and error checking...) - so I thought I'd share where I have got to in case someone else has already tried my ideas and know it is not the problem.
    I am using the latest BangleJS2 firmware (2v19, commit cfbc4040d).
    I used a slightly modified version of the HRM data exporter app which records the sample time as well as the ppg reading in case the sample frequency was not what I was expecting.

    I was surprised that I could not see a heart rate signal from a simple visual examination of the data, so I did some processing to try to get rid of the baseline drift on the signal, but still can not really see anything that looks like my heart rate. The calculated heart rate from the bangleJS is nowhere near correct - it shows something like 90 bpm where my heart rate is probably more like 50 bpm when I am sitting still.
    I have done a little comparison to the signal from a PineTime HRM and the heart rate signal is obvious from that - you can see some graphs etc. on my bug tracker issue here.
    So I am really doubting whether the BangleJS2 HRM is actually working - one thing that is really noticeable is the LED brightness - the pine time is much, much brighter than BangleJS2 (Pinetime on the left, BangleJS on the right)

    I think that if I want to increase the LED brightness, I need to build my own firmware, so I think I'll look at that next, but thought I'd share where I have got to in case anyone else has a better idea?