Heart Rate Monitoring with Amazfit Smart Band

Hello,

I’ve been testing out the Amazfit Smart Band 5, and so far, the step count and RSSI data have been received. However, I’ve encountered a slight issue with receiving the “Activity heart rate” data.
I’ve attempted to collect data using the nRF Connect App and the data collected between the app and my OpenMQTTGateway are nearly identical.

I was wondering if anyone has experience with activity heart rate monitoring. If you do, I would greatly appreciate any insights or suggestions you might have.

Setting in Zepp App

  1. “Discoverable mode” turned on
  2. “Activity heart rate sharing” turned on

Undecoded Msg (from OpenMQTTGateway)
{“id”:“F5:92:5F:7F:B0:91”,“mac_type”:0,“adv_type”:2,“name”:“Amazfit Band 5”,“manufacturerdata”:“570102ffffffffffffffffffffffffffffffff02f5925f7fb091”,“rssi”:-43,“servicedata”:“00000000”,“servicedatauuid”:“0xfee0”}

Decoded Data (from decoder)
{“id”:“F5:92:5F:7F:B0:91”,“mac_type”:0,“adv_type”:2,“name”:“Amazfit Band 5”,“manufacturerdata”:“570102ffffffffffffffffffffffffffffffff02f5925f7fb091”,“rssi”:-43,“servicedata”:“00000000”,“servicedatauuid”:“0xfee0”,“brand”:“Xiaomi/Amazfit”,“model”:“Mi Band/Smart Watch”,“model_id”:“MB/SW”,“type”:“BODY”,“acts”:true,“track”:true,“steps”:0,“device”:“Xiaomi/Amazfit Tracker”,“mac”:“F5:92:5F:7F:B0:91”}

Data from nRF Connect App

Hi @gitacc

While I don’t have any personal experience with the Amazfit Smart Band 5, you correctly set

“Activity heart rate sharing” turned on

but the manufacturerdata you are receiving is still not showing any activity heart rate data, which would be
“570102ffffffffffffffffffffffffffffffff02f5925f7fb091”
being something different than ff.

Have you actually started an activity on your Amazfit Smart Band 5? As this is really only the heart rate when doing an activity workout and not the general heart rate at all times.

Hello DigiH,

Thank you for your response.

I’ve noticed that the heart rate data on the Amazfit Smart Band 5 keeps updating consistently, even when I’m not actively working out. Also, this data syncs with the Zepp App. It seems like the Amazfit Smart Band 5 continuously measures heart rate throughout the day.

That is correct, but only the activity heart rate is being shared thought the BLE advertising broadcast data, as indicated in the Zepp life setting as “Activity heart rate sharing” whereas the normal all day heart rate is not being shared like that.

If you start an activity on the Amazfit Smart Band 5 I’m sure you will see the activity heart rate getting published by OpemMQTTGateway .

I assume this was originally implemented to allow for workout equipment to read the activity heart rate, when on a treadmill with a display or similar for a workout.

Just wanted to share an update. I discovered that the Amazfit Smart Band does send heart rate data when I initiate workout monitoring directly on the band itself.

Starting Workout Monitoring on band

  • Swipe up to the workout menu on the watch face page and select a sport type

On another note, I noticed that the smart band occasionally sends some data that appears to be different from usual.

Usual Decoded Data
{‘id’: ‘F5:92:5F:7F:B0:91’, ‘mac_type’: 0, ‘adv_type’: 2, ‘name’: ‘Amazfit Band 5’, ‘manufacturerdata’: ‘570102020153ffffffffffffffffffffffffff02f5925f7fb091’, ‘rssi’: -54, ‘servicedata’: ‘54000000’, ‘servicedatauuid’: ‘0xfee0’, ‘brand’: ‘Xiaomi/Amazfit’, ‘model’: ‘Mi Band/Smart Watch’, ‘model_id’: ‘MB/SW’, ‘type’: ‘BODY’, ‘acts’: True, ‘track’: True, ‘steps’: 84, ‘act_bpm’: 83, ‘device’: ‘Xiaomi/Amazfit Tracker’, ‘mac’: ‘F5:92:5F:7F:B0:91’}

Unusual Decoded Data
{‘id’: ‘F5:92:5F:7F:B0:91’, ‘mac_type’: 0, ‘adv_type’: 2, ‘manufacturerdata’: ‘570102020151ffffffffffffffffffffffffff02f5925f7fb091’, ‘rssi’: -51, ‘brand’: ‘Xiaomi/Amazfit’, ‘model’: ‘Mi Band/Smart Watch’, ‘model_id’: ‘MB/SW’, ‘type’: ‘BODY’, ‘acts’: True, ‘track’: True, ‘act_bpm’: 81, ‘device’: ‘Xiaomi/Amazfit Tracker’, ‘mac’: ‘F5:92:5F:7F:B0:91’}

That is what I meant in my previous message with

If you start an activity on the Amazfit Smart Band 5 I’m sure you will see the activity heart rate getting published by OpemMQTTGateway .

Or are you saying that it is constantly sending the heart rate then, even if no activity has been started on the Mi band?

Both broadcasts are usual really, one with manufacturerdata and servicedata, with the first containing
any possible activity heart rate, and the latter the step count. As this dual-data requires active scanning, it only gets published with the intervalacts interval.

While the manufacturerdata only published messages also get published with every passive scan as well, defined by interval, and only contain decoded data if and when an activity is running on the Mi Band - as in your case with ‘act_bpm’: 81 - I suppose that was more of a test than an actual activity workout :wink:

Or are you saying that it is constantly sending the heart rate then, even if no activity has been started on the Mi band?

I just started Workout Monitoring on Amazfit band. It continued to measure and send heart rate data even when I wasn’t actively working out.

I also observed that once I start workout monitoring on my Amazfit band and then take it off, it sends a heart rate reading of zero.

That really is an interesting observation, as it allows you to monitor your heart rate throughout the day, and not just during activities.

With it apparently still being called workout monitoring even on the Mi band itself I am wondering if this might be a current firmware bug for the Mi Band 6, or if this is intentional.

If anyone else with a Mi Band or Amazfit band or watch could verify this. Unfortunately my old Mi Band 4 is so worn out now that the touch screen isn’t working any longer, so no on device settings possible for me here.