-
Notifications
You must be signed in to change notification settings - Fork 739
Strap Support and Pairing
NOOP works with WHOOP 4.0 and WHOOP 5.0 / MG straps. Each generation has a different level of maturity and pairing behavior.
| Strap | Status | Notes |
|---|---|---|
| WHOOP 4.0 | ✅ Fully supported | Tested and production-ready. Live heart rate, Charge, Effort, Rest, and complete history offload all work end-to-end. |
| WHOOP 5.0 / MG | 🧪 Partially supported | Live heart rate confirmed working on real hardware. Effort computes from heart rate (same engine as 4.0) but builds slowly because 5/MG live HR is sparse — it can sit at 0 without sustained connected wear. Charge and Rest are still being reverse-engineered from the offload. An opt-in Settings → Experimental toggle lets 5/MG owners help map the protocol. |
WHOOP straps hold a single encrypted Bluetooth bond at a time. Your strap is normally bonded to the official WHOOP app on your phone — and because of this exclusive bond, NOOP cannot simply scan for and connect to the strap if it's still bonded elsewhere.
If the strap remains bonded to the official WHOOP app:
- NOOP's pairing will be refused.
- The strap log shows
"Encryption is insufficient"or"bond refused". - Live heart rate still streams (it rides the standard Bluetooth heart-rate profile and works without a bond), but nothing deeper works — no buzz, no alarms, no history offload, no two-way comms.
Follow these steps in order. They are the same on macOS, Android, and iOS.
-
Close the official WHOOP app completely on your phone.
- Fully quit it (don't just leave it in the background).
- Alternatively, turn that phone's Bluetooth off entirely.
- This frees the strap from its existing bond.
-
Put the strap into pairing mode.
- On a WHOOP 5.0 / MG, tap the band repeatedly (firm taps directly on the sensor).
- Keep tapping until the LEDs flash blue. This signals the strap is ready to bond.
- (On WHOOP 4.0, pairing mode is automatic; you do not need to tap.)
-
In NOOP, open the Live screen and connect.
- Tap Scan & Connect (or Re-scan if already searching).
- Choose "WHOOP 5.0 / MG" from the device picker if prompted.
- NOOP will scan for the strap and attempt to bond.
-
Success looks like this:
- The strap log shows
"CLIENT_HELLO acked — link established"(on 5.0/MG). - The connection status changes to Bonded (green pill).
- You hear / feel a haptic buzz (the strap confirms the bond).
- The strap log shows
-
If pairing is refused:
- The strap log shows
"bond refused"or"Encryption is insufficient". - The strap is still bonded to another device (most likely the WHOOP app on your phone).
- Go back to step 1: ensure the WHOOP app is completely closed and Bluetooth is off on that phone.
- Wait 10–15 seconds, then retry the tap-to-pairing step and NOOP scan.
- The strap log shows
Because the strap holds only one encrypted bond:
- Do not leave the strap connected to both your phone and your Mac (or other device) at the same time.
- Live heart rate will still show on all connected devices (that's the unencrypted standard profile), but the real encrypted bond is only with one host.
- If you see live HR on NOOP but haptics, buzz, alarms, double-tap, or history offload do not work, that is the tell: the strap is streaming the standard HR profile from the phone but is bonded to a different device.
- Free the strap from everything else first. Close the WHOOP app, turn off that phone's Bluetooth, and re-pair NOOP.
The 5.0 / MG can report steps, which NOOP derives from the strap's motion. The raw count tends to read high: arm movement that isn't walking (gesturing, driving, cooking) gets counted. NOOP has a step calibration setting (in Settings) — set a calibration factor so your daily total matches a count you trust (your phone's health app, a measured walk), and NOOP scales the raw strap steps by that factor from then on. Dial it down if the strap reads high, up if it reads low. See Troubleshooting for the walkthrough.
During a history offload you may briefly see "Sync interrupted — strap went quiet." This is normally transient — a momentary Bluetooth gap or pause in the strap's stream, not lost data. NOOP retries automatically and resumes where it left off, and it usually self-heals within seconds (hardened in response to issue #158). Keep the strap close and worn; only re-scan from Live if it stays stuck for several minutes. Full details in Troubleshooting.
Bonding NOOP to the strap will bond it away from the official WHOOP app. If you later use the official app again:
- The WHOOP app will need to re-pair with the strap (it will prompt for pairing the first time you open it).
- The strap will again hold a bond with the official app, and NOOP's bond will be lost.
- This is by design — the strap cannot hold two bonds simultaneously. You can only use one app at a time for encrypted operations.
WHOOP 4.0 does not require you to tap the strap into pairing mode. Instead:
- Close or Bluetooth-disable the official WHOOP app on your phone (same as 5.0).
-
In NOOP, open Live and tap Scan & Connect.
- The strap will appear in the scan results.
- Bonding happens automatically with the first command exchange (a confirmed write of
GET_BATTERY_LEVEL).
-
You'll see
BLE_BONDEDevent in the strap log — this confirms the bond is complete.
NOOP always shows you the current state:
- Disconnected (red dot) — strap not found or connection lost.
- Connecting (amber dot) — found and in the bond/handshake phase.
- Bonded (green dot) — paired and streaming. Haptics and history offload work.
The connection status pill is pinned to the sidebar (macOS) or the Live screen header (Android/iOS) so you always know the state.
Once the strap is connected, NOOP reads its battery level over Bluetooth and shows it on the Today / Control Center screen (alongside the Charge ring and key-metric tiles). This is the strap's battery — not your Mac's or phone's. When the strap disconnects, the last known level stays on screen until it reconnects and reports a fresh reading.
A low strap battery can cause pairing to fail or history to stop banking, so it's worth keeping an eye on — charge to 100% before a long sync (see Troubleshooting).
| Feature | Disconnected | Bonded (encrypted) |
|---|---|---|
| Live heart rate | ✖ | ✅ (always on once bonded) |
| HRV (R-R intervals) | ✖ | ✅ |
| Haptic buzz / double-tap | ✖ | ✅ |
| Alarms | ✖ | ✅ |
| History offload (Charge, Effort, Rest) | ✖ | ✅ on 4.0; Effort works from HR on 5.0/MG (data-limited), Charge/Rest still in progress on 5.0/MG |
| Live streams (live HR via standard profile) | ✅ |
Once a strap is bonded and history offloads, NOOP turns the data into its three daily scores, all on one 0–100 scale: you wake with a Charge (how recovered and ready you are), spend it through the day as Effort (cardiovascular and movement load), and rebuild it overnight with Rest (last night's sleep quality). These are NOOP's own approximations from published methods, not WHOOP's scores.
-
Check the strap log (Live screen, scroll down). Look for error messages like
"bond refused","unknown error", or"Encryption is insufficient". -
Make absolutely sure the official WHOOP app is closed and Bluetooth is off on your phone. Even backgrounded, the app can hold the bond.
-
Charge the strap to at least 50% battery. A low-battery strap may refuse pairing.
-
Move closer to your Mac or Android device during scanning. BLE range is ~10 meters, but strength matters; poor signal can fail a bond attempt.
-
Restart the strap if all else fails:
- Let the battery fully drain (or power-cycle it per the manufacturer's instructions).
- Charge fully and retry pairing.
-
Report the exact strap log output if you open an issue. Include:
- The strap generation (4.0 or 5.0/MG).
- Whether the official WHOOP app is truly closed.
- The error line from the strap log.
NOOP is independent and unofficial. It reads your own device and your own data over Bluetooth. "WHOOP" is used only to identify the hardware. Privacy and Security.
See also: How NOOP Works, Installation, Privacy and Security
NOOP is an independent, unofficial, non-commercial interoperability project — not affiliated with, endorsed by, or sponsored by WHOOP, Inc. "WHOOP" is a trademark of WHOOP, Inc., used nominatively. Works only with a device you own; not a medical device; every metric is an approximation, not medical advice. · Disclaimer · Privacy and Security · Donations · Releases
Get started
Help & how-to
- Install & update on iPhone
- Sync to Apple Health & Health Connect
- WHOOP 5 & MG support
- Fixing no data / blank scores
- Steps on a WHOOP 4
- When will my scores show up?
v5 — Raw-signal features
- Haptic Biofeedback
- Insights: What Moves You
- Skin Temperature
- Your Data, Fused
- Lab Book
- Rhythm (experimental)
Tutorials
- Tracking a Workout
- Recovery, Strain & Readiness
- Automations
- Breathe & Intervals
- Importing History
- AI Coach
- Widget & Notifications
- Reading Your Sleep
- Explore & Compare
Reference
Project