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. 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. 2. Check that the key folder is there

    Open the Files app and go to On My iPhone. You should see a Mi Fitness folder. Freeband reads the key from it later.

  3. 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. 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. 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. 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. 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.

  1. 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
  2. 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
  3. 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.