Try it yourself
Try Freeband with your own band
Freeband isn't on the App Store yet; it's a public beta on TestFlight. Setting it up takes about 10 minutes.
You need
- An iPhone with iOS 17 or later
- A Xiaomi Smart Band 10 or 10 Pro
- Mi Fitness, once, to pair the band
-
1. Pair the band with Mi Fitness, once
If the band is already set up in Mi Fitness on this iPhone, skip this step. Otherwise pair it in Mi Fitness and let it sync once. This is the only time you need Mi Fitness: Xiaomi's server creates the band's key during pairing.
-
2. Check that the key folder is there
Open the Files app and go to On My iPhone. You should see a
Mi Fitnessfolder. Freeband reads the key from it later. -
3. Install Freeband from TestFlight
Freeband is a public beta on TestFlight, Apple's app for testing apps before they reach the App Store. Open the link below on your iPhone, install TestFlight if it asks, then tap Install.
The public TestFlight link opens once Apple has reviewed the first build. Until then you can build Freeband from source, below.
-
4. Read the key
In Freeband tap Get started, then Choose folder, and go to Browse → On My iPhone → Mi Fitness → Open. Freeband finds the key there and keeps it in the iPhone's Keychain. It's never sent anywhere.
-
5. Connect
Close Mi Fitness from the app switcher, keep the band on your wrist close to the phone and tap Connect. You should see the battery and today's steps.
-
6. Keep Mi Fitness out of the way
Turn off Mi Fitness's background refresh (Settings → General → Background App Refresh), or offload the app (Settings → General → iPhone Storage → Mi Fitness → Offload App). Offloading keeps its folder, and the key with it. Otherwise Mi Fitness fetches the band's files first, and the band deletes them.
-
7. Sync and give it a few nights
Freeband syncs when you open it, if the last sync is more than 15 minutes old, and when you pull down on Today. Sleep, Recovery and Strain need a few nights to learn your normal; until then they say they're calibrating.
Build it from source instead
For developers: a Mac with Xcode 27 and a free Apple ID. These steps replace step 3; the rest stay the same.
-
Get the code
On a Mac with Xcode 27, clone the repository and install XcodeGen, which generates the Xcode project.
git clone https://github.com/cobanov/freeband cd freeband/ios brew install xcodegen -
Sign it as yourself
In
ios/project.yml, put your own team ID and an app identifier of your own. A free Apple ID is enough; an app signed with one runs for 7 days, then you build it again.# ios/project.yml DEVELOPMENT_TEAM: ABCDE12345 # your team ID PRODUCT_BUNDLE_IDENTIFIER: com.yourname.freeband # any identifier of your own -
Generate the project and install it
Connect your iPhone and turn on Developer Mode (Settings → Privacy & Security). In Xcode, pick the iPhone as the run destination and press Run (⌘R). The first time, trust your developer certificate in Settings → General → VPN & Device Management.
xcodegen generate open Freeband.xcodeproj
Optional: web access
The hub on this site is invite-only, so turning on Web access in the app needs an invite code. You can also run your own hub from hub/ in the repository (Cloudflare Workers and D1); its README walks through it.
Stuck?
Open an issue on GitHub. Freeband's Diagnostics screen (Band → Freeband settings → Diagnostics) has a log and a report you can attach; check them for anything personal first.