Review: Mi Band Fitness Monitor and Sleep Tracker (XMSH01HM)

Wearable technology is a currently a big growth market, captivating consumers with many options in the market ranging from highly advanced smartwatches which offload some tasks from your mobile phone, down to more single purpose fitness tracker accessories which aim to replace a pedometer.

Xiaomi, also known by the short name of just Mi, is an preeminent Chinese manufacturer of mobile phones and related accessories which has shown time-after-time that they can deliver quality products with robust design at very reasonable cost. This has been shown time-after-time in their phones, power-banks, and even their Bluetooth speakers.

They continue their diversification of their product portfolio by expanding into the wearables market with the Mi Band. This is an elegant, basic, low-cost fitness and sleep tracker built around Bluetooth Low-Energy connectivity from Dialog, a “military grade” accelerometer from Analog Devices Incorporated, a vibration motor, three LEDs and a battery, encased in a lightweight IP67-rated package with a 30-day battery life. Lets see if it lives up to the high standards set by the other products from Mi.

This review of the Mi Band is made possible by MobileZap, who have generously provided it under the Review Challenge. They currently sell the hard-to-get Mi Band for AU$41.49, amongst other fitness accessories which includes replacement coloured bands (yellow and blue at this stage) for the Mi Band and other more sophisticated smartwatches and fitness trackers.


20150525-1058-5289 20150525-1059-5290

Like many of the Mi products, the packaging is simple but elegant. The box is a nice two-part box in a natural cardboard finish, with the brand logo on the front, and a label indicating the products’ specification on the rear. As this product has only been launched in Asia, the text is almost entirely in Chinese.

Key specifications include a 41mAh battery, with a 25mA charging current (typical), 5v DC (USB) input and IP67 ingress protection rating. It utilizes Bluetooth 4.0 “low energy” connectivity, and claims compatibility with Android 4.4 or greater smartphones with Bluetooth 4.0 hardware, and iPhone 4S/5/5C/5S/6/6 Plus running iOS 7 or greater. You must have Bluetooth 4.0 Low-Energy support on your device to utilize this product!


As a sign of MobileZap’s diligent distribution system, they have their own stocking label, and the product came completely shrink-wrap sealed. The stocking label tells you just how fresh this product is – 18th May 2015.


20150525-1102-5295Lifting off the cover reveals the inside of the box is padded with foam to avoid any damage. On the other side, we see the fine-finished aluminimum face of the main “heart” of the watch, poking through the cardboard. The three LEDs light through adhesive-filled microscopic holes drilled through the aluminimum face, just barely visible in the full shot.

Flipping the cover up allows us to see the black polycarbonate rear of the unit and the two golden charging contacts. A thoughtful slit is put in the cardboard to help you “release” the body from the package. The body itself is the size of a small pebble, is incredibly light but also sturdy with no “give” when squeezed. Because of the sealed-nature of the device, I will not be performing a teardown of this one.

20150525-1102-5296The bottom part of the box contains the wrist-band for the watch, which is black in colour, the charging cable and user manual. Again, as the product is launched only in Asia, the user manual is completely in Chinese – however, it shouldn’t be that hard to get going, as the app does have an English interface available.


20150525-1104-5299Lets take a closer look at the product and accessories. The first thing is the charging cable, which is a custom cradle-dock style design. Because of the low current drawn by the device during charging, this cable does not have any intelligence. This is appropriate because a current up to 100mA can be drawn by non-identifying devices, and the Mi Band only draws 25mA when charging.

The cable itself has two springy pin contacts recessed into the body of the cable, and uses the “grooves” in the body to guide the body into the charger contacts.



When securely mated, the body of the watch “clicks” into place and the LEDs flash to indicate the charging status.


This arrangement means it is important not to lose this cable, as it’s unlikely you will have anything else that’s compatible, and it also means some level of inconvenience in having to remove the whole assembly from your wrist, and then remove the body of the watch to charge (about once every 30 days). We can see that this is one application where wireless charging would be of benefit, however, for the price, it is completely excusable.


The band itself is claimed to be made of Dow Corning TPSiV material, with low allergy potential and feels like a silicone rubber. The material is great for hygiene reasons, but because of the rubberized nature, it does not breathe and it can be uncomfortable if worn too tightly for too long.


The band is relatively thin, which reduces the weight and makes the tracker much less obtrusive to wear. The stretch of the material is well used, as it slides into the groove in the body of the watch to create an environmental seal. On the downside, fitting the body to the band does take a little care to do properly. The bands are replaceable, with spare bands of different colours available for your customization.


The clasp utilizes a single button-style design with a semi-captive button mechanism that won’t get lost. It is very easy to clip in, and feels secure. The end of the band also goes through a loop to keep the band from twisting. This is claimed to accommodate lengths of 157mm to 205mm, and fitted my hand with quite a bit of space to spare. However, it will not really fit around your ankle, if you wish to use it that way.


The band also has some styling detail, which you would expect to find on high quality goods, including this mark inside the band.


20150531-1256-6304The fitness band completely assembled was measured in at 14 grams (some error likely due to the cheap scales I used), which is tiny compared to the 55 grams my “regular” cheap watch weighs.

As a result, it’s unlikely to annoy you while being worn. This is important, as to have a good sleep tracking result relies on it also being worn during sleep.


I’ve got to say it doesn’t look bad when worn either, although as I am used to wearing a watch from time to time, sometimes I find myself staring at my wrist and then remembering that this fitness tracker band doesn’t tell me the time. Oops!

Installing the Mi Fit Application

mi-fit-google-play-storeThe fastest way to start installing the software is to try searching for Mi Fit or Mi Band within your app store and trying to install from there. If you can’t find it there, you might have better luck scanning their QR code, which links to

As I hadn’t upgraded my mobile gear in a while, finding a Bluetooth 4.0 “low energy” capable device with the right OS was not the easiest. It relegated me to my Nexus 7 2012 tablet (running CyanogenMod 11 to enable Bluetooth low-energy support, which the hardware is capable of but not certified to do so in stock builds) and my iPad 3rd Generation tablet running iOS 8.3. It’s important to note that both devices are tablets, and the fitness band applications seem to be geared towards phone usage.

On Android, the application is distributed through the Google Play Store. Unfortunately, visiting the link with my tablet resulted in an error that “Your device isn’t compatible with this version.” Ultimately, I downloaded the application using a phone that didn’t have any Bluetooth 4.0 hardware but was “deemed” compatible, and then used root access to copy the .apk out of /data/app and copy that to my tablet and execute the install with installation of non-market apps enabled. Unfortunately, doing this results in no automatic-updates from the Google Play store. I suppose you could also modify your build.prop to get access to it by spoofing another device. This issue should be less of an issue with most Android phones.

mi-fit-permissions-1 mi-fit-permissions-2 mi-fit-permissions-3 mi-fit-installing mi-fit-installed

The app requires very many permissions, although the need for all of them is questionable. Installation was straightforward and successful barring the issue with getting access via Google Play Store.

Installation on iOS involved searching for Mi Fit in the App Store. On an iPad, you will need to filter for “iPhone Only” apps to be able to see it. Installation was as simple as installing any other app.

Setting Up Mi Fit

Under Android 4.4.4 (CyanogenMod 11) with Nexus 7 (2012)

To get started on setting up Mi Fit, you must first launch the app and agree to the terms of service and privacy policy and decide if you want to participate in a User Experience Improvement Program. The terms of service and privacy policy is well worth reading as it is extensive, and involves prohibitions, e.g. “You may not reproduce, copy, distribute, sell, download or display any part of Mi Band in any medium without our prior written consent.” For the purposes of this review, I contacted Xiaomi and was granted permission to use screenshots to illustrate this review.


Once you have agreed, the next step is to sign in with a Mi Account. For most users, they would not already have such an account and will have to create one.

firststart2-signin  firststart3-miaccsignin

Creating an account requires a mobile phone number (entered without the leading zero for Australia) that can receive a confirmation code by SMS and the completion of a CAPTCHA. You are given 60 seconds to receive and enter in the verification code.

firststart4-miacccrea firststart5-miaccverif

Once the account has been created, you will need to grant the application permission to use your account.

firststart6-miacccrea firststart7-miaccper

Now, the application will finish the sign-in and then begin the process of setting up your user profile.


The colourful user profile set-up will ask you questions including name, gender, birthday (age), goal, height, and weight to configure appropriate values to estimate distance based on number of steps, and calories burnt. Then, it will attempt to search for and pair with the band, which you should hold very close to the phone/tablet. When found, the band will flash blue and vibrate, and touching on the metal front of the watch will complete the pairing process.


With most application updates comes firmware updates which update the software running on the fitness tracker band itself. When such an update is available, the update will be performed automatically, and takes only about one minute. No action, aside from holding the band close to the phone or tablet, is necessary.


Now, we are ready to use the software.

Under iOS 8.3 with iPad 3rd Generation

ios-startios-signinI had unpaired the band from my Android device in preparation to try it with iOS. The application itself looks virtually identical to the Android version, which is a nice touch.

Instead of creating a new account, I chose to sign in with the account I had already made.

ios-pairing ios-band-already-pairedIn order to get started, you have to choose devices to pair. If you haven’t un-paired your Mi Band from your previous device, you might receive an error similar to the one I’ve got. Apparently, you can “revive” a missing Mi Band by trying pairing when on the charger.
ios-no-paired ios-crashSadly, on the iPad, the pairing doesn’t really go smoothly with the app force-closing to the launcher, and then a re-launch of the app claiming either no and detected, or finding a band with the wrong battery level, claiming there is an update for the band, and then again force closing.

As a result, I was not able to get Mi Band working under iOS with an iPad 3rd generation. However, it should work when used with the intended iPhone 4S and above. Unfortunately, I don’t have one myself, so that’s where my testing with iOS will end.

Features of Mi Band used with Mi Fit

app-version-latestTesting of the band was accomplished using Mi Fit versions 1.4.614 and 1.4.923.




steps-goalThe main interface of the app revolves around the main step-counts page.

The top segment shows the steps, distances and calories, and a circular bar graph representing steps to the target. The lower half of the screen consists of a blank portion, which can be pulled downward and released to force an immediate synchronization of the data from the fitness band.

Underneath that is a summary of events (e.g. work-out and run events), as detected by the software, and a welcome tutorial.

steps-logYou can slide up to scroll the list of events and summaries, when it gets too long.

The tutorial provides some very simple tips about interpreting your fitness band, but is hardly complete.

learn-more-1 learn-more-2 learn-more-3

For example, one of the thing that isn’t detailed with the tutorial images is the method by which you can make your Mi Band show your progress on the LEDs.

The Mi Band responds to gestures – if you keep your arm by your side, then lift and rotate it towards you like you are looking at a watch, then the band will light-up and show you your progress towards your target.

Unfortunately, this gesture based system is very sensitive to the speed at which you lift and rotate your arm, and it takes some practice to get it right. It also doesn’t seem to work well when on the move, and not at all if you are lying down.

The LED lights are vague for feedback, only allowing you to gauge whether you’ve completed  <33%, 34-66%, 67-99% or>=100% of your target. The LEDs are also slightly dim, likely as a power saving measure, and as a result when actually outside in sunlight, are difficult to see. This is no problems when checking your progress indoors, however, does diminish the usefulness of the LEDs. It probably makes much better sense to check your progress on the app itself, as it is much more detailed.

sleep-summarydetailed-sleep-dataIf you swipe the blue segment of the screen towards the right, you change over to the sleep display which displays the collected data summary for last night. It shows your total sleep time which is based on automatic detection of your sleep time, and the amount in deep sleep.

Tapping on the numbers detailed-steps-datasummary-steps-datain the centre of of the blue segment brings up the detailed data graphs which allow you to read more detailed summaries and “swipe” your finger across periods to show different stages of sleep at different times. Similarly, if you do this for the steps screen, you will get a very similar display of your step activity, broken down into 10-minute intervals. Aggregate summaries are also available by clicking in the top-left corner (graph symbol) on the main screen, which allows you to zoom in and out on aggregate statistics.

While in any of these screens, you can click on the top right corner button to visit the sharing screen, which is different depending on which mode you are in. Sharing is configured to work with numerous platforms, and also has some interesting statistics and awkward motivational statements.

share-feature share-feature-2 share-feature-3

More important, is the button labelled “…” in the top right corner of the main screen, which allows you to access configuration details.


my-band-infoIn settings, you can see the battery status of your band. While I haven’t completed a full discharge of the band, based upon the battery statistics, it seems that I can expect about 40 days of operation out of it.

Battery life will strongly depend on how often LEDs and the vibration motor is activated.


colour-choicesConfiguration options includes a “find band” feature which flashes the light and buzzes the vibration motor when the option is selected.

The colour of the LEDs can be changed band-locationthrough a limited range of colours.

The band location can be configured for Left, Right hand or Neck.

incoming-call-configIncoming call notifications can be enabled to have the band vibrate after a certain amount of time when a call is not answered. This requires the application to continually run in the background to function correctly. The selection of time has a very small font, which may be a rendering issue on a tablet device.

Other preferences in regards to how the app behaves can be toggled.

The unpair feature allows you to un-bind the fitness tracker with your device and your account, which allows the fitness tracker to be connected with a new device or account.

Finally, there is the firmware version listing for diagnostic purposes, and clicking on it reveals the device name and MAC address.

The alarms menu allows you to configure the alarms on the device, of which three are available.


alarms-detailThe alarms have some intelligent configurability, which allows for things such as repeat alarms, and early bird alarm which allows for it to gently “wake” you by vibrating 30 minutes ahead of time.

The vibration of the alarm can be stopped by touching the metal front of the device, although it seems that sometimes it needs several touches to register. In the case it doesn’t register, the alarm will automatically go off in another 10 minutes.

The alarm will automatically be cancelled once the band detects you have gotten out of bed, although, if you’re using the alarm and are sitting down, it could take several attempts to cancel an alarm.

The services menu allows you to join the device to Wechat and Google Fit accounts for data sharing.


accounts-wechat-support accounts-googlefitThe WeChat add process is fairly clearly detailed, as is the Google Fit account process, however, you do need to have the Google Fit app installed on the same device for sharing to actually work.

Finally, the user profile menu allows you to configure your profile, including changing the display units used. You can also find information about the version of the app in this menu.


units-menuIt is good to know that the band has its own internal intelligence, and steps are counted without requiring your smartphone or tablet to be nearby. It stores a log of steps and time internally, which is synchronized with your phone/tablet via Bluetooth low-energy and forwarded on/stored in the cloud with your Mi account. Similarly, the alarms are “programmed” onto the band, so it will alert you regardless of the status of the device it is linked to. This also serves to preserve your device battery life, as it doesn’t require your device to intervene much. Indeed, I did not see any negative impact in the battery life of my tablet.

Compared with some other smart-wearable devices, this device itself is less sophisticated, with no display screens for time or numerical steps representation. It also does not have presets for characterising movements other than steps, nor a “sedentary break” alarm feature.

It is important to realize that counting steps is quite approximate, and is not an exact science, with certain motions of the arms potentially mis-recognized as steps, and in other cases, when walking and carrying things or holding on to handrails, it can under-report steps. Distance is based on stride length which is calculated from your height, but a calibration procedure is not provided.

It still represents a useful way to compare and monitor your activity (or inactivity) levels over time to ensure you keep your exercise up, and set greater targets for yourself over time.

Unfortunately, as I am not testing with an Android 5.0 device, I could not check whether the smart proximity unlocking feature was working. I did test the IP67 rating of the device by taking two hot showers with it on my wrist, to no ill effect, so that was good.

One surprise I got was after I had paired my band and left it charging, Mi Band even helpfully reminds you with a notification when your band is charged and implores you to wear it. It’s a very nice touch, even when you are not actively running the app!


Interestingly, a debug log of almost all the actions taken by the software, including communication with their cloud servers, is detailed in mili_log.txt stored in the user’s home folder. The details recorded are extensive, and could be potentially dangerous and compromise the safety of user’s accounts (as they seem to also have details on the security token values established with the remove server, and JSON queries submitted/returned from the server). Even if it is not dangerous, it does consume space on your device, and could probably be deleted with no harm.



The Mi Band seems to align closely in the ethos of Xiaomi, to make affordable, elegant, robust and simple products that appeal to a majority of users. In the case of the Mi Band, it is not as feature rich as some of the other fitness trackers, but is very proficient at doing what it does – namely, tracking steps and sleep patterns. Its performance was virtually flawless with Android 4.4.4, and although I did have issues with iOS, this may be due to using a tablet rather than a phone device. Some features could not be tested as they required the use of Android 5.0, for proximity unlock. For its affordable price and limited on-board sensors, it is unreasonable to expect much more.

Unfortunately, it doesn’t yet seem that the data is plotted or made available in the most convenient way for your own analysis. You can choose to synchronize your data with Google Fit, but getting raw data for your own analysis seems to be unavailable. Reverse engineering of most of the band’s communication protocol has been achieved by several users already and the official software itself undergoes regular updates and improvements, with places for you to leave feedback if you should so wish.

The cloud nature of having to register an account with another “service” and giving your phone number may lead to privacy concerns amongst some users, as well as the Bluetooth low-energy signals which can be used to track users at short distances (a problem not specific to the Mi Band). Furthermore, the recording of a debug log file in the home folder may also serve to compromise privacy and security of your Mi account. If the service stops operating, unfortunately, you may find yourself with an unusable device.

Despite all of the criticisms, I think this device still has broad appeal, especially due to the low price, long battery life, simple elegant aesthetics and simple uncomplicated operation. At the moment, it seems stock might be an issue, so buying from resellers at a slight premium is an expectation.

About lui_gough

I'm a bit of a nut for electronics, computing, photography, radio, satellite and other technical hobbies. Click for more about me!
This entry was posted in Electronics, Tablet and tagged , , , , , , , , . Bookmark the permalink.

2 Responses to Review: Mi Band Fitness Monitor and Sleep Tracker (XMSH01HM)

  1. Pingback: Uncovered: Fake Xiaomi (Mi) Fitness Tracker & Replacement Bands | Gough's Tech Zone

  2. lui_gough says:

    A few updates on the performance of the band after having used it on a daily basis for the past (nearly) five months – the band itself is not durable enough as the silicone material becomes brittle after time, resulting in a loose buckle and peeling silicone around the unit itself causing the unit to fall out from the silicone band easily. Buying a replacement band appears to be a necessary expense. Further software updates have improved functionality although occasional data inconsistency can be seen. Battery life seems to rapidly diminish, and now, my unit requires charging every 20-21 days instead of the 30-40 days when the unit was new. This may be due to increasing internal resistance of the cells, as charge times seem to take somewhat longer as well.

    – Gough

Error: Comment is Missing!