If you want a equal loudness for your Music library the go to solution and the de-facto standard is ReplayGain. If you are using a music streaming service, the provider is typically taking care of that for you – but maybe you want to migrate towards your own streaming solution.
ReplayGain analyses your audio files and stores their deviation from the baseline loudness as a tag. A compatible audio player can then read the tag and correct the playback volume so all you tracks have the same loudness.
Of course things get messy once you look at details like what the baseline loudness should be and how to determine loudness in the first place. Therefore we set the baseline once and for all as 89db and consider even tracks of the same album individually. If you disagree, feel free to branch off reading up the details now.
The next issue is that ReplayGain was born in a time where mp3 was synonymous to digital music, hence the algorithm was first implemented as the mp3gain CLI tool. Nowadays you also need aacgain and vorbisgain to cover all your formats, which is cumbersome to automate.
The larger issue with ReplayGain is that it defines loudness of a track by its peak volume. While a sane choice in theory, in practice the music and advertising industries raced to increase the perceived loudness without raising the peak volume. As broadcasters also used peak volume normalization, one could blow your eardrum with that very special advertisement. Therefore the EBU R 128 was proposed which at its core is RMS based, meaning it is considering the average volume of the track.
Remember that ReplayGain merely adds a correction value to the tracks? This allows us to compute that correction value based on the R128 algorithm for a better normalization, which is exactly what the <a href="https://github.com/desbma/r128gain">r128gain</a> tool does. Being written in modern day, r128gain also processes all possible audio files by hooking into ffmpeg as a filter.
So, without further ado, this is the command to normalize your Music library:
# pip3 install r128gain
r128gain -p -r Music/
This will preserve "-p" the file timestamps and recursively "-r" process all files in the given directory.
Trouble shooting
Note that if you previously used mp3gain, your files might contain non-standard lower-case replaygain_* tags, while r128gain will only write REPLAYGAIN_* tags. To avoid confusing players with different values, you should remove the non-standard tags. This can be automated with eyeD3
In this post I want to note some quirks one needs to consider when updating the BIOS of a Gigabyte Mainboard while using Linux.
But first I want to appreciate the support that Gigabyte/ AMD provide. I still get BIOS updates in 2021 for the mid-range B350 chipset originally released in 2017. Also, the ability to update from within Linux was just added to the BIOS along the way. So Kudos for that!
Preparing the update
The easiest way to update the BIOS is doing so from within the UEFI using the Gigabyte Q-Flash utility. I dont recall when exactly it was added, but going through the changelog, it should have been at revision F30.
Having Q-Flash available, you can just download the BIOS update and copy the BIOS image (e.g. AB350NGW.51d in my case) to /bin/efi, which is the EFI partition readable by the BIOS. Next, just reboot into the BIOS and point the Q-Flash utility to that file.
Post-update quirks
Unfortunately, the BIOS update overwrites some important settings. Most notably your Machine Owner Keys (MOK) that are required for Secure Boot are lost.
So after update, change the following settings
CSM Support: disabled
Secure Boot: enabled
Secure Boot Mode: standard
After this you have to re-enroll your MOK again. The easiest way is to re-install the nvidia-dkms-XXX package which triggers the process.
Upon reboot you will be greeted by the EFI menu, where you should select “Enroll MOK” and and enter the code that you chose previously.
You can verify that everything went right by rebooting and running
mokutil --sb-state
Also, if you want to Docker or any kind of Virtualisation, you have to re-enable AMD Secure Virtual Machine (SVM), which is inconveniently buried under
M.I.T > Advanced Frequency Settings > Advanced CPU Settings > SVM Mode: enabled
This post will be for those of you that care about privacy – i.e. if you want that information about you is exclusively under your control. In that context not only Google is to blame, but actually most of the cloud services we know and use today.
Still Google will serve us as a nice placeholder as it is the market-leader when it comes to providing free services in exchange for your user-profile that Google in turn uses to sell target advertising. Even if you are fine with that, Google is also infamous for killing services – which might hit the one you rely on eventually.
As the world is moving mobile-first, a prerequisite for replacing a service is that we can easily integrate the replacement with an Android device. Some might wonder why I chose Android here, given that it is made by Google. See, the problem is not who makes a service/ device, but who controls it. And with Android the main leverage for Google is bundling its services. If you take them away, the device itself is fully under your control – in contrast to Apple/ iOS.
At the heart of our efforts will be Nextcloud. This started as an open-source alternative to Dropbox/ Google Drive, but is nowadays grown into a platform for a plethora of different services. The main selling-point is that you can just install Nextcloud on your own machine – ensuring that your data stays private. The software being Open-Source also means that it is not under control of a single corporation – in fact Nextcloud was forked from its predecessor Owncloud after a corporation tried to put the screws on its users.
Note, that if you are serious about this, you will need to invest around 500€ to get a machine for hosting that is decently fail-safe. If you rather want to be cheap, you can also just use a RaspberryPi to get away with less than half of that amount. For inspiration, you can take a look on the built I use or on the list of commercial nextcloud device providers.
Files & Photos
By using the Nextcloud Android App, you can directly replace Google Drive/ Dropbox as this is the core functionality of Nextcloud.
Additionally, the App allows you to automatically back-up your Photos/ Videos and free the local storage so you can stop using Google Photos too.
Contacts & Calendar
Nextcloud also supports Contacts and Calendar out of the box. To integrate them with into your Android Device there is the DAVx5 app. This app will function as an additional data provider, so you can just continue using the stock Google Contacts and Calendar apps. Those will, however, stop sending any data to Google.
This is especially useful, if you run a small-business and must ensure that your customer data is private according to the CCPA/ GDPR.
Nextcloud News
An often overlooked part of your privacy is Google News (also part of Google Now). Each time you view an article there, Google can mine your interests and political views – similar to what Facebook does. And by now you should know where these things can lead.
Another drawback here is that the Google Algorithm will create a bubble for you by only showing content coherent with your current world-view. I still prefer to manually choose the news sources – to create that bubble myself.
To do that, one usual subscribes some Web-feeds using a Feed aggregator like the Feedly service – similar to what Google Reader used to offer, before being killed by Google.
Most of you are probably just stream music via Spotify/ Youtube Music, but keep in mind that these services merely rent the songs and as such they can arbitrarily disappear from your library.
Therefore, I like to have my own copy of the song. Unfortunately it is very inconvenient to juggle mp3s around for getting the music to various devices.
Google Play Music used to offer best of both worlds for me, where you could upload your own music files and manage your playlists in one place. Additionally, you could make the music available offline by pinning individual playlists on your device. Unfortunately, that concept did not allow Google to arbitrarily inject ads into my music stream and therefore the service got killed as well.
Nextcloud Music to the rescue! This app picks up your music library via Nextcloud files and allows to stream that via the Browser or the Subsonic API. This is where the DSub Android Player takes over. As with Play Music, you can either stream the library or pin individual songs/ playlists for offline use. Note: untick the “Authorization Basic headers” box when setting-up Nextcloud Music.
Other
If you clicked on the links above, you probably noticed the F-Droid alternative app store for Android. Getting your apps there ensures that you are using verified packages and open-source software. You can easily use it alongside with the Play Store. If that is too inconvenient for you, all of the above apps are also available via the Play Store.
Finally, there is the web-browser. If you do not log in with your Google Account, using Chrome is mostly safe. However, I suggest switching to Firefox. See the my original article on that topic for details. In short; the main reason is the availability of extensions. Those allow you to block ads on the mobile web too and use Youtube in the backround.
Header Image: Digital Chains by stanjourdan (CC-BY-SA-2.0)
The Lego 42043 “Arocs” is regarded as the best technic set to date by many. It has motorized functions controlled via a gearbox, features a pneumatic arm and also uses an actuator. Furthermore, all axles have a suspension and it features two-axle steering. So no matter what functionality you are interested in, this set probably has it.
Showcase of the functions
Unfortunately, the set went out of production in 2017. So if you want to experience the build today, you have to search for a used set in good conditions. As the model is quite popular, chances are high that you will have to pay more than the original cost.
the gearbox in full glory
Fortunately, Mould King released its own version of the “Arocs” which keeps the set alive today. Instead of being a verbatim copy of the set like the Models by Lepin/ King (which are also hard to come by nowadays), Mould King did modify the set in several ways, which we will look at in the following.
Note, that the set is still a copy of the 42043 set, which was designed by Markus Kossmann (see the original license plate). But if you want to literally pay him tribute by buying one of his sets, you will have to get the Liebherr 42100, which is the only one still available today.
Color Scheme
The most obvious change that Mould King did is using a different color scheme. While it feels strange at first if you are used to the original Arocs looks, it is actually quite accurate.
The gray cabin is indeed more common than the white one. It makes sense as this is an off-road vehicle traveling over dust and dirt. But also the orange loading area exists in reality – even though one still can argue that it looks off there as well.
When we get over this difference, we can turn to some details that are strictly improvements. The first thing to note here is the all yellow-black pneumatic arm. Mould King uses a yellow gear-rack here, which makes the pneumatic elements neatly blend-in. Furthermore, all pneumatic hoses are black. Although this requires more attention while building, the result looks much better than the red-gray-yellow soup of the original. Next, the bottom part is now mostly black. The useless yellow bricks are gone and we get black axle-pin connectors instead of original red ones. They overdid it a little here though, by making the wheel-stoppers black as well.
Full remote control
In contrast to the original model, the Mould King version also adds motorized driving to the set. The drive is handled by a single L-Motor, while the steering is handled by a servo motor.
Both motors included in the set support proportional controls, but unfortunately the included battery-box does not handle proportional steering. I used one spare battery box from the excavator instead.
even the wheel-stoppers are blackmetal universal-joint for the drive-tainonly 4 cylinders, but motorized
As a nice touch they include a metal universal-joint for the drive-train. This is needed to handle the torque if you decide to hit reverse while the 2.4 kg heavy set is moving forward. The rest of the parts will still ache in pain though.
Due to motorization, the wheels no longer drive the pistons below the cabin. Here, Mould King went totally over the top and included a separate M-Motor to do that. To make room for it, they had to reduce the pistons from 6 in the original to 4. Note, that you can just skip the motor at Step 170 and use it elsewhere as it is not needed otherwise.
Remaining differences
As this is not a licensed set, there are no Mercedes brandings anywhere. If you are in dire need for some, you can get the shield with the printed logo off the new Zetros set for about 5€.
Furthermore there are no small panels in the front of the cabin – for whatever reasons.
Interested in getting the set? Support this Site by using the following affiliate Link:
Due to the larger depth of the battery box compared to the original, you cannot fully close the cabin. The beams that hold the seats will get in the way. This results in a increased gap at the front radiator region.
Fortunately, this is fairly easy to fix at Step 228: Only use the Axle-Pin connectors for the L-shaped battery holder to give it some play and place the pin in the middle on the other side. This will move the battery-box by one stud and allows the cabin to fully close.
The set is based on the MOC-68495 by JurgenKrooshoop, but unfortunately there is no cooperation this time. Therefore, the thing is yellow instead of the red-white scheme used by the MOC, which I would have preferred.
The MOC creator even rage-quit Rebrickable, when he found out about this set. But don’t worry, he is doing fine and has returned meanwhile. In my opinion he overreacted, as everybody is standing on the shoulders of a giant, namely Lego 8043 as we will discuss below.
A quick function test with the new 6-Channel Remote
Unfortunately MouldKing did not replace the blue technic pins as they did with the Forklift. However, they did include 2 carbon axles. Those are used to connect the actuator pair that lifts the arm. Technically they are not needed though, as the arm is not that heavy.
While having a similar part count to the Forklift, the Excavator is easier to build. Part of this is that 84 of the parts are used for the tracks, but another part is that this is:
The final form of Lego 8043
This is actually the 4th iteration of a (at the time of writing) 10 year old Lego set:
It was born in 2010 as the Lego 8043, which is likely modeled after the real-life JCB JS330. The original model used 1123 parts.
The MOC creator JurgenKrooshoop, then created the “Ultimate 8043” version, which notably already featured a more powerful XL-Motor, an improved drive-train and simultaneous control of all power functions. This bumped the part count to about 1300.
In 2015 he then released another update as MOC-68495. This morphed the appearance into a Link Belt 250X3, replacing the yellow parts with the native red-white color scheme. Here, he generally added casing to the model and slightly increased its size which raised the part count to 1929.
Mould King then copied the MOC in 2020, but felt like returning to the original yellow color scheme. They also removed the LED lights and ported the model their own power-functions. This reduced the part count to 1830.
With the last changes, some even think that the Mould King version is a clone of the original Lego set. We can probably conclude here, that all excavators look the same if you take away the color.
But still, when building the Mould King Model, one can tell its Lego 8043 origins – the construction of the tracks and drivetrain and the way the motors are placed will give it away.
So if you skipped the 8043 back then and want to get the building experience today, I would say you get it here – and some nice improvements on top too.
This brings us back to the missing cooperation between the MOC creator and MouldKing. As I see it, Lego did the heavy lifting with this particular model. However, both JurgenKrooshoop and MouldKing have their fair share in that we can enjoy this great model today. So if you want to support the MOC creator as well, you can pay him for his instructions.
Manual Errata
Step 292: The Light should face front
Interested in getting the set? Support this Site by using the following affiliate Link:
With the 17013 Crane, MouldKing officially released their new 6 channel power module and new joystick controller. Especially the latter is notable as it allows smooth and precise controls instead of the binary 0% or 100% throttle with the standard remote or the fiddly touch-pad of your phone.
As the excavator comes with exactly 6 Motors, I additionally got the new power module and used that instead of the two 4-Channels modules that come by default. This allows you to control all functions simultaneously with a single remote with joysticks. Take your time to appreciate this.
Unfortunately, there is no nice set that bundles the new power module. It is currently only included with the crane mentioned above, which is pricy and has mixed reviews. So meanwhile, you will have to get the power module separately for about 20€, because it is totally worth it.
Changes for 6-Channel Battery Box
These are the minor changes you have to do to fit the slightly larger power module inside the excavator.
Modified rear assemblyMy Power Module configuration
Steps 393 – 399: Skip
Step 404: Use the 4 spare 3×1 beams instead
Step 405: Only use two Axle-Double-Pin connectors here and make them face outwards. If you have some spare 2×1 technic beams you should use those of course.
I got myself the MouldKing 13106 Forklift, which is based on the MOC 3681 by KevinMoo and wanted to share my impressions with you.
First of all, MouldKing actually improved the set by exclusively using back technic pins instead of the blue ones like in the MOC. Also they are officially cooperating with the MOC designer – so he is likely getting some share of the sales.
The set comes with “New PowerModule 4.0″, which means it supports proportional output. If you use the new joystick controller (like I do in the video) or use the app, you can have smooth controls of the motors and not just binary 0% or 100% throttle as with the standard remote.
As you can see, I actually put on some of the stickers. Some purists never do anything like this, because they argue that after some time the stickers start peeling off and look used. This is certainly a good point if you are building a sports-car – with a Forklift however, I would argue broken stickers add to the looks.
Compared to the original MOC, Mould King removed the lights, but added a pallet similar to the one found in the Lego 42079 Forklift.
Interested in getting the set? Support this Site by using the following affiliate Link:
Generally, I prefer the Mould King manual to the original by Kevin Moo as I like renderings more than photographs. However, its nice to have the original at hand if something looks fishy. While building, I noticed the following:
Step 34: Cable-management is almost completely skipped in the manual. I laid all cables through the opening behind the threads. This keeps them out of the way later. The fiddle through the cables of the motors, that you add at steps 52 & 55.
Step 100: The battery-box position is wrong. It will collide with the bar you added at step 96. To make it fit, just rotate the battery-box by 180°.
Also, the direction of motor A has to be reversed. Press and hold left-shoulder, up and down for 3 seconds for this.
Step 111: The arms that you added in steps 89/ 90 should be oriented upwards to hold the footstep.
Step 143: Use a black bush instead of the 2-pin-axle beam, so things look symmetrical. This is a leftover from the original MOC, which squashed the IR receiver in there.
Step 156: Attach the levers to the front console at step 173 instead of attaching them to the seat here. After all they are supposed to control the fork and not the backrest.
Step 214: I suggest using gray 2-axles at step 230 instead of the suggested whites. This way the front facing axes will be all gray. For this just use white 2-axles here. Those wont be visible at all anyway.
Step 277: When adding the fork to the lift-arm, make sure that it has as much play as possible. Otherwise the fork will get stuck when moved all the way up.
Interior with fixes at step 143 & step 156
Step 278: Do not fix the threads yet. Wait until the end so you can correctly measure the lowest position of the fork (which gives you the length of the threads).
Step 286: Make sure that the 3-pin pops out towards the 8-axle. This will make joining things at step 288 much easier.
Lets say, you want to reduce the water carbonate hardness because you got a shiny coffee machine and descaling that is a time-consuming mess.
If you dont happen to run a coffee-shop, using a water-jug is totally sufficient for this. Unfortunately, while the jug itself is quite cheap, the filters you need will cost you an arm and a leg – similar to how the printer-ink business works.
The setup
Here, we want to look at the different filter options and compare their performance. The contenders are
As said initially, the primary goal of using these filters is to reduce the water carbonate – any other changes, like pH mythology, will not be considered.
Also, you are not using the filter only once, so I repeat the measuring over the course of 37 days. Why 37? Well, most filters are specified for 30 days of usage – but I want to see how much cushion we got there.
So – without further ado – the results:
Results
Name
Ø PPM reduction
Ø absolute PPM
Brita Classic
31%
206
PearlCo Classic
24%
218
PearlCo Protect+
32%
191
As motivated above, the difference in absolute PPM can be explained by environmental variation – after all the measurements took place over the course of more than 3 months.
However, we see that the pricing difference is indeed reflected by filtering performance. By paying ~20% more, you get a ~30% higher PPM reduction.
The only thing missing, is the time-series to see beyond 30 days:
As you can see, the filtering performance is continuously declining after a peak at about 10-15 days of use.
This question often pops up, when you need a random direction vector to place things in 3D or you want to do a particle simulation.
We recall that a 3D unit-sphere (and hence a direction) is parametrized only by two variables; elevation \theta \in [0; \pi] and azimuth \varphi \in [0; 2\,\pi] which can be converted to Cartesian coordinates as
\begin{aligned} x &= \sin\theta \, \cos\varphi \\ y &= \sin\theta \, \sin\varphi \\ z &= \cos\theta \end{aligned}
If one takes the easy way and uniformly samples this parametrization in numpy like
One (i.e. you as you are reading this) ends with something like this:
uniform: spherical coordinatesbiased: 3D projection to Cartesian coordinates
While the 2D surface of polar coordinates uniformly sampled (left), we observe a bias of sampling density towards the poles when projecting to the Cartesian coordinates (right). The issue is that the cos mapping of the elevation has an uneven step size in Cartesian space, as you can easily verify: cos^{'}(x) = sin(x).
The solution is to simply sample the elevation in the Cartesian space instead of the spherical space – i.e. sampling z \in [-1; 1]. From that we can get back to our elevation as \theta = \arccos z:
z = 1 - np.random.rand() * 2 # convert rand() range 0..1 to -1..1
theta = np.arccos(z)
As desired, this compensates the spherical coordinates such that we end up with uniform sampling in the Cartesian space:
compensated spherical coordinatesuniform: 3D Cartesian coordinates
Custom opening angle
If you want to further restrict the opening angle instead of sampling the full sphere you can also easily extend the above. Here, you must re-map the cos values from [1; -1] to [0; 2] as
cart_range = -np.cos(angle) + 1 # maximal range in cartesian coords
z = 1 - np.random.rand() * cart_range
theta = np.arccos(z)
Optimized computation
If you do not actually need the parameters \theta, \varphi, you can spare some trigonometric functions by using \sin \theta = \sqrt { 1 - z^2} as
With Google cutting its unlimited storage and ending the Play Music service, I decided to use my own Nextcloud more seriously. In part because Google forced all its competitors out of the market, but mostly because I want to be independent of any cloudy services.
The main drawback of my existing Nextcloud setup, that I have written about here, was missing redundancy; the nice thing about putting your stuff in the cloud is that you do not notice if one of the storage devices fails – Google will take care of providing you with a backup copy of your data.
Unfortunately, the Intel NUC based build I used, while offering great power efficiency did not support adding a second HDD to create a fail-safe RAID1 setup. Therefore I had to upgrade.
As I still wanted to keep things power-efficient in a small form-factor, my choice fell on the ASRock DeskMini series. Here, I went with the AMD Variant (A300) in order to avoid paying the toll of spectre mitigations with Intel (resulting in just 80% of baseline performance).
backside of the A300 mainboardSize comparison between the A300 and a Gigabyte BRIX
The photos above show you the size difference, which is considerable – yet necessary to cram two 2.5″ SATA drives next to each other. Here, keep in mind that while the NUC devices have their CPU soldered on, we are getting the standardized STX form-factor with the A300, which means you can replace and upgrade the mainboard and the CPU as you wish, while with a NUC you are basically stuck with what you bought initially.
The full config of the build is as follows and totals at about 270€
ASRock DeskMini A300
AMD Athlon 3000G
8GB Crucial DDR4-2666 RAM
WD Red SA500 NAS 500GB
Crucial MX500 500GB
Note, that I deliberately chose SSDs from different vendors to reduce the risk of simultaneous failure. Also, while the 3000G is not the fastest AMD CPU, it is sufficient to host nextcloud and is still a nice upgrade from the Intel Celeron I used previously. Furthermore, its 35W TDP nicely fits the constrained cooling options. Note, that you can limit for Ryzen 3/5 CPUs to 35W in the BIOS as well, so there is not need to get their GE variants. However, for a private server you probably do not need that CPU power anyway, so just go with the Athlon 3000G for half the price.
Unfortunately, the A300 system is not designed for passive cooling and comes with a quite annoying CPU fan. To me the fan coming with the Athlon 3000G was less annoying, so I used that instead. Anyway, you should set the fan RPM to 0% below 50° C in the BIOS, which results in 800 RPM and is unhearable while keeping the CPU reasonably cool.
Power Consumption
As the machine will run 24/7, power consumption is an important factor.
The 35W TDP gives us a upper limit of what the system will consume on persistent load – however the more interesting measure is the idle consuption as thats the state the system will be most of the time.
While you can obviously push the system towards 35W by with multiple simultaneous users, the 7.3 W idle consumption is quite nice. Keep in mind, that the A300 was measured with two SATA drives operating as RAID1. If you only use one you can subtract 1W – at which point it is only 1.5 W away from the considerably weaker NUC system.
You might now wonder, whether the load or the idle measure is closer to the typical consumption. For this I measured the consumption for 30 days, which totaled at 5.23 kWh – or 7.2 Watts.
Currently, the average price for 1 kWh is 0.32€, so the running the server costs about 1.67€/ Month. For comparison, Google One with 200 GB will set you off 2.99 €/ Month.
Power optimizations
To reach that 7.3 W idle, you need to tune some settings though. The most important one and luckily the easiest to fix is using a recent kernel. If you are on Ubuntu 18.04, update to 20.04 or install the hwe kernel (5.4.0) – it saves you 4 Watts (11.3 to 7.3).
For saving about 0.5 watts, you can downgrade the network interface from 1Gbit to 100Mbit by executing
ethtool -s enp2s0 speed 100 duplex full autoneg on
Additionally, you can use Intels powertop to tune your system settings for power saving as
Xiaomi has recently released the new Mi Band 5. Since I have owned the each band starting with the Mi Band 2, I think it is time to look back and see where the Mi Band has gone in the recent years.
Actually, the Mi Band story started ahead of the Apple Watch in 2014 with the Mi Band 1, which was a pure fitness-tracking device without a display and even without a heart-beat sensor. This made the device not very appealing to me – even thought it already offered sleep monitoring.
It also already had that interchangeable wrist-bands that allow you to customize the look to your liking. The Mi Band 2 you see in the images uses a custom steel wrist-band as the original one broke after some years of usage.
Below you see a comparison of the Mi Bands, regarding the features that are most significant from my perspective
Mi Band 2
Released 2016
Clock
Heartbeat
Notifications
Mi Band 3
Released 2018
Clock
Heartbeat
Notifications
Timer
Weather
Workouts
Mi Band 4
Released 2019
Clock
Heartbeat
Notifications
Timer
Weather
Workouts
Music control
Mi Band 5
Released 2020
Clock
Heartbeat
Notifications
Timer
Weather
Workouts
Music control
Cam shutter
The first thing to note is probably that Xiaomi accelerated the release cycle from 2 years between the Bands 1, 2 and 3 to 1 year between Band 4 and 5. We will come back to this when talking about the Mi Band 5.
Screen legibility comparison
Lets start the comparison with the screen, which is the most obvious part and the one you will probably interact with the most.
Here, the most significant property is neither size nor resolution, but rather legibility in sunlight. For comparison, I set up a little benchmark as follows:
set the Bands to maximal brightness (as applicable)
legibility in direct sunlight on a bright sunny day as a worst-case
legibility in shade/ with overcast condition as a more common scenario
You can find the results below. Also see the banner image for how the screens look indoors.
bright sunlightshade/ overcast
First I should note that the camera does not do justice to the Mi Band 2 & 3 as their displays are scanline-based and the fast shutter can not capture the whole screen being lit at once. Therefore you only see the top part of the Mi Band 2 and the right part of the Mi Band 3 on the overcast picture.
Nevertheless, one actually cannot read the Mi Band 2 in direct sunlight and only can barely read it in the shade. The other Bands are well readable in the shade. However, I would say that only the MiBand 5 is well readable in direct sunlight.
Next, we will look at how the information is presented. The screen size continuously increased from 0.78″ on the Mi Band 3 to 0.95″ on the Mi Band 4 (+22%) to 1.1″ on the Mi Band 5 (+16%). As you can read the time on all of them, we will look at an app to find out whether it makes any difference in practice. Here, I picked the weather app as it is probably useful to the majority of the readers.
The info displayed on the weather screen
Looking at the Mi Band 4, it did not really take advantage of the larger screen-estate and shows virtually the same information as the Mi Band 3 – only adding the location info. The Mi Band 5 on the other hand uses the extra space to show the rain probability. It generally displays more info like the wind strength and the current UV level – however you have scroll down for them. The Mi Band 2 does not support weather and is thus turned off.
Apps/ on band Screens
Lets also briefly look at the other apps. The images were captured on the Mi Band 5 – however unless otherwise stated the look exactly the same on the Mi Band 4.
The music control appOutdoor running workout appConfigurable watch face (Mi Band 5 only)Cycles app (Mi Band 5 only)
Charging
The Mi Band 5 is the first band, with a magnetically attachable charger – hence you do not have to take the band out for charging. This convenience comes at the price of a reduced battery-life from about 20 days with the Mi Band 4 to only 14 days with the Mi Band 5.
As for compatibility, you can charge the Mi Band 2 with the Mi Band 3 charger – the other way round is not possible as the Mi Band 3 is too large for the older charger.
Even though, the Mi Band 4 & 5 have their charging pins at the same location, the chargers are not compatible as the Mi Band 4 lacks the magnetic hold and the Mi Band 5 is too large for the old charger.
The Mi-Fit app
For the Mi Band the accompanying app is quite important as it is the only way to view your sleep data and to monitor your weekly/ monthly stats.
First, lets take a look how you can customize the different Bands from the app. Here, we should note that all bands are still supported by the app.
On the Mi Band 2 only the core options were availableThe screens on Mi Band 3 and newer are more customizableWith the Mi Band 5, you can also select the side screens
With the Mi Band, there is only a predefined set of screens/ apps out of which you can pick the ones you want. This is probably the largest difference to a real smart-watch, where you can install additional apps from a store.
With the Mi Band 2, the whole set fits on half a screen and you can only enable/ disable the items. With the other Bands you can additionally re-order the items, which is quite useful as it allows to choose which item appears first when you swipe up or down on the home screen.
On the Mi Band 5, you can additionally configure which app appears when you swipe left/ and right. This is hard-coded to Music Control (and Ali Pay on the CN version) with the Mi Band 4.
So the basic things work. Lets look at some peculiarities of Mi Fit next.
The sports stats are quite useful – if only the measurement was correctBe prepared for in-app ads for Xiaomi products
First you see the workout view for outdoor running, which displays some useful stats like your pace per km and the continuously measured heart-beat rate over time.
What you do not immediately see is that the app only counted ~7.3 km, while my running distance is actually 10 km, which I have verified on google-maps. One might now think that this is due to imprecise measuring of the band – however on the activity overview, where the daily steps are counted, the running activity is correctly accounted as 10.1 km – which is impressively accurate, given that it only counted the steps.
So the error is only present in the workout app, which is still quite annoying as it also provides the live view during a run.
If someone from Xiaomi is reading this: the error factor of ~0.73 is suspiciously close to the km to miles conversion factor of 0.625. The error is present with both the Mi Band 4 and Mi Band 5, so I guess it is actually in the App, where I already reported it several times. If you want happy customers, you better fix this. Many other reviews actually blame this on the band!
Addendum: with the firmware update to v1.0.1.32, the band now measures ~9km which reduces the error factor to 0.9. We are getting there.
So having talked about the bad, lets continue with the ugly. The second screenshot shows you an in-app ad for some obscure Xiaomi product on the home-screen. These do not show up too often and currently only advertise their own products. However, this is definitely the wrong path you are on.
Ultimately, this leaves me with mixed feelings about Mi Fit. In the Mi Band 2 days it started as a slim and functional app. However, at some point they decided to re-write it with the cards-look and animations. This rewrite moved core views one level down in the menu hierarchy and the added animations actually make the app feel sluggish.
Now, with each Band generation new features appear and are integrated in some sub-menu of the app. For instance, you get weather-alerts nowadays. However, they are not controlled in the general Band notification settings, but rather in the weather menu. Therefore, I doubt I would discover them as easily if I would not have watched the app grow.
The good news is that due to the popularity of the Mi Band, there are several alternative apps to try, which I probably will do next.
Mi Band history
In the following, I give a quick outline of how the Mi Band evolved. If you only came here for the Mi Band 5 review, skip forward to the Mi Band 4 section.
The Mi Band 2 was released 2016, about a year after the first Apple Watch launched, which brought the wearable category to the mainstream. At a price of less then 20€ the Mi Band offered most interesting wearable features to me, like heart-beat measurement, sleep monitoring, forwarding of smartphone notifications and ultimately, simply being a wristwatch.
Also it was an ideal way to try this new wearable thing without spending 350€, that Apple called out.
To my surprise the step-based distance estimation was already accurate back then – except for the actual workout mode, that is – as explained in the Mi Fit section.
Mi Band 3
The larger and brighter screen is the obvious advance of the Mi Band 3. However, the significant part is that it also became a touch-screen – whereas the Mi Band 2 only had the single touch-button. This allowed you swiping forth and back of the screens instead of just cycling through them and it also made virtual buttons possible. These are necessary for starting the stopwatch and timer, which are probably the most important additions for me with the Mi Band 3.
You could also start a selection workouts directly from the watch, instead of going though the app. However, this only included a treadmill mode, while I am interested in outdoor running – so I continued using the activity view for that.
More importantly, it added the weather app. If find this to be surprisingly useful. As with the time – even though you find the same info on your phone – having it at hand is better.
Mi Band 4
Again, the colored screen is the most obvious advance. It does not improve usability in any way though. It displays the same data as the monochrome screen of the Mi Band 3, which is probably more power-efficient. It adds a lot of bling though and is brighter and thus better legible in sunlight.
Speaking of bling, you can install third-party watch-faces now and there is a heap of faces to chose from. Take a look here to get an impression.
Turning to something useful, the touch sensor was noticeably improved. With the Mi Band 3 your swipes were sometimes confused with taps, which does not happen with the Mi Band 4 anymore.
The workout app, now finally included outdoor running, which is still broken though (see Mi App section). This makes the music control app the most important addition for me. At least on android, it works with any music player and allows skipping forward/ back and adjusting volume. This is quite useful when you play music from your phone at a party or for controlling your Bluetooth headphones.
One can use the same wrist-bands as for the Mi Band 3. This made upgrading for me back then a no-brainer, but is also a strong reason to choose the Mi Band v4 over v5, today.
Mi Band 5
This time, there are no obvious advances and the update is rather evolutionary. It does not mean it is insignificant though as it improves the usability on many levels. If you are new to the Mi Bands, you should pick this one.
The most important one is probably the new magnetic charger. Previously you had to take the “watch” out of the wrist-band to charge, whereas you can simply attach the magnetic charger now.
Next, the screen is slightly brighter which makes a difference in direct sunlight though (see screen comparison section) and also boasts more information.
Finally, the software was also noticeably improved. The band displays generally became more configurable. E.g. the custom left/ right swipes which now give you 4 quick access screens instead of 2. Then, the built-in watch-faces now allow customizing the additional info they display. And it continues with the small things like the configurable alerts in the workouts (although the workout app itself still needs to be fixed). Also, the selection of predefined watch-faces is vastly better then with the Mi Band 4. On the latter you have a hard time finding a watch-face that is simple and does not feature some animated comic figure screaming at you. These changes could be provided as an update to the Mi Band 4 as well, but are – at the time of writing – exclusive to the Mi Band 5.
Disclaimer
The Mi Band 5 was provided to me free of charge by banggood.com. So if you liked this review and want to support me consider buying using the following affiliate links: