Supported devices

Bring your own band.
Keep your own data.

NOOP talks to the hardware you already own, straight over Bluetooth. No bridge box, no account, no Oura or WHOOP app sitting in the middle. WHOOP is the tested path, and the list is growing one honest step at a time.

WHOOP 4.0 fully supported WHOOP 5 & MG Oura Ring 3 · 4 · 5 Generic BLE straps All on‑device

The support matrix

What works, and how far it goes.

We would rather tell you exactly where each band stands than paint everything green. Here is the honest state of play.

Device Status Live heart rate Recovery, sleep & deeper How it connects
WHOOP 4.0The reference device Fully supported Yes Yes, end to end Local Bluetooth
WHOOP 5.0 & MGNewest generation Live now Yes Deeper metrics building Local Bluetooth
Oura Ring 3 · 4 · 5No Oura app needed Beta Yes Read locally, expanding Local Bluetooth
Generic BLE strapsPolar, Wahoo, Coospo, Garmin HRM and more Supported Yes, with R‑R Live session only Standard HR service
Xiaomi Smart Band 8 · 9 · 10Import the history you already own Import lane Imported history Steps, sleep, HR, stress, SpO₂ Offline file import
WHOOP 4.0The reference device
Fully supported
Live HR
Yes
Recovery & sleep
Yes, end to end
Connects
Local Bluetooth
WHOOP 5.0 & MGNewest generation
Live now
Live HR
Yes
Recovery & sleep
Building
Connects
Local Bluetooth
Oura Ring 3 · 4 · 5No Oura app needed
Beta
Live HR
Yes
Recovery & sleep
Read locally, expanding
Connects
Local Bluetooth
Generic BLE strapsPolar, Wahoo, Coospo, Garmin HRM
Supported
Live HR
Yes, with R‑R
Recovery & sleep
Live session only
Connects
Standard HR service
Xiaomi Smart Band 8 · 9 · 10Import history you own
Import lane
Live HR
Imported history
Recovery & sleep
Steps, sleep, HR, SpO₂
Connects
Offline file import

Every path above is local Bluetooth only, or an offline file you already hold. Nothing is uploaded, nothing needs an account, no vendor app sits in the middle. NOOP is an independent project and is not affiliated with WHOOP or Oura.

How the connection works

Local Bluetooth. Nothing in the middle.

NOOP pairs with your band the same way a heart-rate monitor pairs with a bike computer. The signals land on your phone or Mac, and that is where they stay.

📲

Straight off the band

NOOP reads your strap over Bluetooth Low Energy directly. There is no companion bridge, no vendor login screen and no middle service to go through.

🧮

Scored on your device

Heart rate, HRV and motion become Charge, Effort and Rest using on-device engines. The maths happens on the same device that holds the data.

No cloud, no account

There is no server to sign in to and nothing is ever uploaded, so there is nothing to breach. Your heart and your sleep stay on your device. Use NOOP fully offline, in flight mode if you like.

How NOOP speaks to a band

One-directional. On-device. Nothing uploaded.

A strap you own broadcasts over Bluetooth. NOOP reads those bytes, checks them, decodes them and stores them on your phone or Mac. The pipeline only ever flows one way, and it never reaches a server, because there is no server.

🔐
Bluetooth bytes NOOP reads a band you own over its local Bluetooth (BLE GATT) connection. Interoperability, not impersonation.
Decode & verify Frames are checksum-verified and reassembled, then decoded with a schema we wrote from open reverse engineering.
💾
On-device store Decoded rows land in a local SQLite database on your own device. GRDB on Mac and iPhone, Room on Android.
🧮
Local analytics Pure on-device maths turns heart rate, HRV and motion into your scores. No data-centre energy per reading.
Their cloud upload The step NOOP simply does not have. Nothing is ever sent off your device.

Read it left to right: Bluetooth in, your screen out, and not a single hop off your device in between. The struck-through step is the one a subscription app needs and NOOP never takes.

The protocol, plainly

A private band speaks a private language.

Each strap hides its real data behind its own Bluetooth service rather than a standard profile. That protocol was understood through open community reverse engineering, then re-verified on real hardware. Each generation does it a little differently.

WHOOP 4.0 · codename "Harvard"

A custom service and a double checksum

The 4.0 exposes a hidden Bluetooth service alongside the standard ones. NOOP triggers a quiet, no-PIN bond, then reads its data frames. Every frame is wrapped in a 0xAA envelope with a small header check and a full payload check, so a corrupt read is caught and dropped, never shown to you.

0xAA envelope · CRC8 header · CRC32 payload
WHOOP 5.0 & MG · codename "puffin"

A new transport, the same honest decode

The 5.0 and MG moved to a different Bluetooth service with an encrypted link and a different header check. NOOP brings the bond up first, then reads live heart rate today, with the deeper metrics being mapped against real straps rather than guessed. Same local, on-device, no-account model as the 4.0.

different service · CRC16-Modbus header check
  • The strap holds about 14 days of history on-device. NOOP re-offloads it locally, the same way the official app syncs, so your record fills in without a cloud round-trip.
  • For a generic chest belt or arm band, NOOP just reads the standard Bluetooth heart-rate service. An open standard, so it connects with no key and no login at all.
  • The pipeline is strictly one-directional and decode-only. NOOP reads what your band already records. It never writes anything to a vendor server and never touches one.

The privacy spine

Your heart and your sleep never leave your device.

No account. No cloud. No server, so there is nothing to breach. No tracking, no analytics, no ads. The most personal data there is, read straight off your band and kept on hardware you own.

0accounts to create. NOOP works the moment you open it.
0cloud servers. There is no NOOP backend at all.
1direction only. Bytes flow in, never out.
100%on your device, fully offline if you like.

NOOP is an independent, open project and is not affiliated with WHOOP or Oura. Not a medical device. Decoded values are approximate, local estimates. Protocol details understood through open community reverse engineering and re-verified on hardware you own.

The NOOP settings screen, where you pair and manage your band locally over Bluetooth with no account to sign in to.

You hold the keys

Pairing lives on your device, not ours.

Connecting a band is a setting on your own phone or Mac. You choose what to pair, what to read and what to keep. There is no profile in a vendor cloud and no sign-in wall before you can see your own numbers.

  • Pair, rename and forget a band entirely on your device
  • Switch between a WHOOP, an Oura ring or a chest belt without a second login
  • Export your history to a file you own, whenever you want it
  • Works fully offline, so flight mode changes nothing
See the app
88CHARGE

One app for the band on your wrist.

Whether you wear a WHOOP, slide on an Oura ring, or strap a chest belt across for a hard session, it all reads into one calm app that you own outright. No second account, no second subscription.

Device by device

The detail behind each band.

Exactly what you get today, and what is still being built. We mark the gaps as plainly as the wins.

WHOOP 4.0

Fully supported

The reference device, tested end to end

This is the path everything else is measured against. NOOP reads the 4.0 over local Bluetooth and computes the full set of scores from its raw signals, on your device.

  • Live heart rate, HRV and motion, read straight off the strap
  • Charge, Effort and Rest computed locally from your own baseline
  • Sleep staging, resting heart rate, stress and fitness age
  • Works fully offline, no WHOOP account anywhere in sight

WHOOP 5.0 & MG

Live now

Newest generation, deepening

The 5.0 and MG connect and stream live heart rate today. The richer derived metrics are being built out as we verify each one against real hardware rather than guessing.

  • Live heart rate over Bluetooth, working today
  • Deeper recovery and sleep metrics in progress
  • Same local, on-device, no-account model as the 4.0
  • An un-clocked strap stores nothing to read, so set it up first

Oura Ring 3 · 4 · 5

Beta

Read locally, no Oura app

NOOP speaks to the ring directly over Bluetooth, with no Oura account and no cloud sync. It is early and labelled beta, and capability varies by generation, but it already pulls real signals onto your device.

  • Pairs and reads locally over Bluetooth, the Oura app not required
  • Gen 3, 4 and 5 supported, with capability expanding per generation
  • Beta and hardware-pending, so treat it as a work in progress
  • No Oura subscription, no account, nothing leaves your device

Generic BLE heart-rate straps

Supported

Polar, Wahoo, Coospo, Garmin HRM and more

Any strap that broadcasts the standard Bluetooth heart-rate service works for live sessions. NOOP reads beat-to-beat heart rate and R-R intervals, the raw material for HRV, with no vendor app at all.

  • Live heart rate and R-R over the standard HR service
  • Great for chest belts and arm bands during a workout
  • Live session data, not all-day recovery or sleep
  • Open standard, so it just connects, no key and no login

One app, every band

The same calm app, whatever you wear.

A WHOOP, an Oura ring or a chest belt all feed the one place. Your day, your scores and the maths behind them, read straight off the band and shown on a screen you own.

The NOOP Today screen with Charge, Effort and Rest rings under a dusk sky, plus stress, fitness age, HRV and resting heart rate cards.
The NOOP feature menu listing Coach, Workouts, Health, Lab Book, Stress, Breathe, Intervals and Compare.
A NOOP score breakdown, showing exactly what fed into the number.
NOOP Today screen on a dusk background.
NOOP rest and recovery day view.
NOOP Charge score breakdown.
NOOP settings, where you pair and manage your band on device.

Real screens from NOOP. The same app reads a WHOOP, an Oura ring and a generic Bluetooth strap, all locally.

A bright, calm studio with soft natural light.

Import lane

Already have history? Bring it in.

Some bands are easier to read after the fact than live. NOOP can import the history you already own, completely offline. For the Xiaomi Smart Band, it reads the data the Mi Fitness app has already saved on your phone, no Xiaomi account and no Bluetooth pairing needed.

Stepsdistance and calories
Sleepreal per-epoch stages
HRresting, stress, SpO₂
See the app

On the roadmap, said plainly

What is researched but not built yet.

  • Polar deep streams. Reading ECG, PPG and PPI from a Polar H10 or Verity Sense over their measurement-data service is verified on paper but not shipped. It is an alpha lane that needs the hardware in hand.
  • Garmin and Amazfit. Sleep, HRV and Body Battery style metrics are researched, not built. These are deep reverse engineering jobs we will only do device in hand, and we will re-derive everything cleanly rather than copy anyone's code.
  • Fitbit and Google. An off-by-default import against the Google Health API is researched but not yet built. It would always be opt-in.
  • WHOOP comes first. Every new band is an easy-first expansion that must never regress the WHOOP experience. If a lane stops being tractable, we defer it rather than ship something half-working.
  • Never shipped blind. We do not claim a device works until we have verified it against real hardware. A status here means what it says.

Got a band you would like NOOP to read, or a question about how it talks to yours? Drop a line to thenoopapp@gmail.com or open an issue on GitHub.

Get NOOP

Point it at your band and go.

Free on Mac, Android and iPhone. No store account, no card, no catch.