Android HxM Tips

Included here are some tips that may help if you are having problems getting data from your HxM heart monitor to your Android phone or tablet. We’ll add more information here as we get feedback and tips from users. If you have an issue and a solution that isn’t mentioned below, please email us and we’ll add the information here. You can also check our forums.

The HxM supports the Android platform only!

Introduction

First a quick description of Bluetooth: the HxM is a Bluetooth slave device. It transmits its data when it powers on. It doesn’t wait for any command to do so. The Bluetooth master device (the Android phone or tablet, or PC) is responsible for establishing the connection, and maintaining it. If the HxM goes out of range of the master device and comes back in again, it’s the master which has to handle this, and reconnect automatically. The HxM will keep transmitting regardless.

Bluetooth devices need to be paired. This supplies the master with the MAC address of the device, so it knows which device to connect to if it detects more than one. This pairing process may be independent of your app. Here’s how it’s done on a Nexus One. You can even do this before any app is installed. You have to be wearing the device so it powers on first:


1) Select Settings

2) Select Wireless & Networks

3) Select Bluetooth


4) Select your HxM######

5) Enter PIN (1234)

6) Your HxM is paired.

Paired but not connected‘ is the default state. You won’t be connected until you start an app, select your HxM from a list displayed (if it provides that option), and the application has connected the phone to your HxM.

I don’t know if my HxM is working or not

First step: is it charged? When the HxM is correctly in its cradle – the brass pins on the cradle match the contacts on the device – the LEDs should look like this:



Charging


Charged

The HxM isn’t shipped fully charged, so you should see a red LED initially. One tip – to prolong battery lifetime, just charge for an hour to 90%. It should last for about 25 hours, but if you recharge after ~12 hours (when it’s down to 50%) for an hour again, you’ll get more cycles out of the battery. It should still be good for 80% of its original battery capacity after 300 charge cycles. It’s not replaceable, sorry.

Check that none of the pins in the cradle has stuck in the depressed position and isn’t making contact to charge the HxM.

The HxM powers on automatically when it’s worn, if there’s enough conductivity – which means a good circuit between your skin, the strap, and the HxM itself. You may need to wet the sensor pads and your skin with water, and squeeze it in – the water may just run off, particularly with a brand new strap.

Is the Bluetooth in your phone turned on? Try switching it off, then on again, if there’s no data. That has worked for some people.

Still no data? Can you try another application to confirm this? Are you certain the app you are using actually supports the HxM? Its documentation or website will say so. Some users have reported that one app will work on their phone, but not another. At Zephyr we can’t explain why this is, but it has happened for a couple of people. Do you have a friend’s phone you can test your HxM with? Again, we’ve been told the device will work on one particular phone, but not another, even though they both have Android 2.0 or later.

Have you contacted the developer of the application for their advice? The developer is likely to have more experience with a range of phones than Zephyr has. We use Google phones for our own testing.

Do you have a Windows PC with Bluetooth? If so, you can download the software developer kit from here, HxM SDK. This has a utility, HxM Data Packet Logger, that displays HxM data on your PC, if it has Bluetooth. That way you can eliminate both the phone and the app from the equation to see if either of those is causing the problem. One catch – you need to be able to figure out which COM Port the data is coming through, as it has to be manually selected on the utility. If you can find the Bluetooth connection properties in Windows, then it should be displayed there.

The battery doesn’t last very long

Are you storing the device on its strap? If so, and there’s any residual moisture in the strap or the environment, then it may be staying powered on after you have taken the strap off. Store the device off the strap. If you’re using a PC or laptop to charge it, check the PC isn’t going into hibernation during charging.

The connection keeps dropping out

Do you have a lot of software running on your phone? We had one user who discovered his email application was devouring phone resource. He replaced his default app with a more efficient one and that solved the problem. The processor was being overloaded and it disconnected the Bluetooth. A second has reported the same – his phone would lock up if he received an email while the heart rate app was running. Closing email solved the problem.

I get an abnormally high heart rate

The most likely cause of this is a noisy signal. One giveaway is if the device works ok when you’re static, but gives a too-high heart rate when you’re moving. Have you moistened the sensor pads on the strap with water? Is there any chance they are drying out while you’re still wearing the strap? If you’re active enough, then perspiration will increase the skin’s conductivity and keep the sensor pads moist.

You can also try an ECG gel. Use one that’s water based, so you can easily wash it out of the strap.

Try adjusting the location of the strap a little. We’ve also recently heard from a customer who was getting HR spikes & dropouts when they ran, who found they got good results when they moved the device around 3½ inches to the left, placing the right-most sensor pad almost center chest. Try various locations, though keep the strap high up under the pectorals.

Here’s an ECG trace transmitted using a (deliberately) dry strap with a Zephyr ISM BioHarness (the HxM can’t transmit ECG):


The signal on the right is very noisy, caused by deliberately moving the strap against the skin. The extra noise spikes can cause the detection algorithms to over-read heart rate.

If we repeat the same exercise with wet sensor pads:


You can see the overall noise level is less, and there is negligible effect when moving the strap.

My heart rate is displaying much lower than it should be

The cause of this is most likely the same issue as above. Some aspect of your running mechanics (arm action, heavy footfalls, etc) is causing a regular noise spike which is masking your ECG spike, and the HxM is actually picking up your running cadence, rather than your ECG. Are you wearing the strap tightly enough? It should be a snug fit, but not uncomfortable, and as high up beneath the pectorals (but not over them) as possible. Wetting the sensor pads should be the first thing you try to fix this. For both this and the high HR issue, some users may have a lower-than-average ECG signal strength. This isn’t any indication of ill health, of lack of fitness, any more than your height is. This may contribute to the noise-masking issue, as a smaller ECG spike is easier to mask.

Try adjusting the location of the strap a little.

My HxM reads 240bpm when I’m not wearing it

This is normal. The device detection algorithms will process whatever signal it can detect. If you’re not wearing it and there’s no ECG, then the inherent low-level signal noise in the ECG circuit gets processed instead – this generates a high-frequency ‘apparent’ heart rate. 240bpm is the maximum value the HR algorithm can generate. You may get a similar high reading if the strap sensor pads aren’t moist enough (use a little water initially) and you move around, generating higher levels of noise which can mask the ECG signal itself.

I’ve tried everything you’ve suggested but my HxM still doesn’t work as I expected

It could be you actually have a faulty device, strap, or cradle. If that’s the case, we’ll happily replace them under warranty. Contact Support for details. It will help if you explain what the problem is, what phone and application you are using, and what you tried of the above, to figure out what the problem is.