Frequently Asked Questions

The questions that come up before someone buys the app, and the ones that come up on the first ride.

Pairing

My head unit cannot find the phone.

Keep the app on screen while the head unit searches. iOS hides an app's Bluetooth advertisement as soon as the app goes to the background, so a Garmin, an iPad or a laptop cannot discover the phone unless the app is in front of you. Once the head unit has connected, the link survives locking the phone.

It says advertising, but frames sent stays at zero.

Frames are only ever sent to something that has subscribed. Until a head unit connects there is nobody to send to, so the count stays at zero no matter how well the watch link is working. That is why the footer names the missing subscriber rather than only showing a zero.

Nothing works. How do I tell what is broken?

Set Heart Rate Source to Test Signal. That generates a heart rate on the phone itself, with no watch involved. If your head unit finds the broadcast then, Bluetooth is fine and the problem is the watch link. If it still finds nothing, check that Bluetooth is on and that the app has Bluetooth permission.

What can it pair with?

Anything that accepts a Bluetooth heart rate strap: MyWhoosh, Zwift, TrainerRoad, Rouvy, the Wahoo app, recent Garmin Edge units, and most gym equipment. The phone appears in the sensor list under whatever broadcast name you set.

Devices

Does it support ANT+?

No, and no app can. An iPhone has no ANT+ radio, so ANT+ cannot be transmitted from it in software. Devices that pair heart rate over ANT+ only, including the Garmin Forerunner 935, will never see this broadcast.

Do I need an Apple Watch?

For the watch as a source, yes. AirPods Pro 3 also report heart rate and work without a watch. Test Signal needs neither, and is there for checking a pairing problem rather than for training.

Can I use the watch and AirPods together?

Yes. With both selected the app reconciles them into a single value before broadcasting — a head unit is only ever sent one stream. Readings that agree are averaged; one that disagrees sharply with the other sensor is dropped rather than averaged in.

Which power meters does it read?

Any meter that speaks the standard Bluetooth Cycling Power profile — pedals, cranks, spiders, smart trainers — plus Cycling Speed and Cadence sensors and trainers reporting FTMS Indoor Bike Data.

Several can run at once, read as sources rather than as a list. A left and a right pedal are one pair and added together, because each measures one leg. A crank and a trainer stay separate: they measure the same effort further down the drivetrain. One source is marked PRIMARY and drives the calorie figure, the rest BACKUP. The app follows whichever reads highest — usually the one closest to your legs — unless you pick one. If a pedal drops out mid-effort the surviving side carries the pair instead of halving you.

Ridden and tested with a Wahoo KICKR CORE 2, PowerTap P1 pedals and a SRAM Red crank reporting together.

Will my ride be saved to Apple Health twice?

Not if you tell it not to. Saving to Health is a switch in Settings, and it is there for exactly this: if your cycling app already writes the ride back through Strava, turn it off and the same hour will not land twice. Power and cadence are never written to Health by this app.

What gear does the shifter start in?

Gear 15, which is where MyWhoosh opens, so the two agree from the first pedal stroke. Set the range to match the bike in the game, and tap the gear number at any point to put the app and the game back on the same one.

Where does the calorie number come from?

With a power meter it is measured work. The watts are integrated over the time the meter was reporting, then converted at a gross mechanical efficiency of 0.24.

Without a meter the app falls back to a published heart-rate regression and labels the figure an estimate. The resting share of the session is subtracted before the workout is written to Health, so it does not double-count against your rings.

Does it run on an iPad?

The app installs on iPad, but an iPad cannot pair an Apple Watch, so the watch source is not available there. The usual setup is the iPad running your training app and the iPhone doing the broadcasting.

Price and privacy

Is any of this uploaded anywhere?

No. There is no account, no analytics and no server — the detail is in the privacy policy.

Does it need an internet connection?

No. The app makes no internet requests at all. It works in a basement with the phone offline, as long as Bluetooth is on. The one exception is the virtual shifter, which is off unless you switch it on: it listens on your own Wi-Fi network so a cycling app on the same network can connect to it. Nothing leaves that network or reaches us.

Is there a subscription?

No. It is a one-time purchase, with no subscription, no advertising and no in-app purchase.

Is the source available?

Yes — the app is open source, under the MIT licence, at github.com/tankbottoms/HeartRateBroadcaster.

Something is still wrong.

Write to rooot+hrb@atsignhandle.xyz with the device, the head unit, and what the Settings screen's Broadcast section says. Those three answer most of it.