Settings

Theme

Custom firmware for MI fitness band

github.com

147 points by ITwork2019 2 years ago · 39 comments

Reader

mcraiha 2 years ago

The original software on these is really bad. e.g. if move between time zones during the day then Mi Fitness app most likely won't get all data out of device. Also Mi Fitness cannot download data of previous date out of the device. Steps counter is also very bad at keeping track if you move slowly e.g. in your apartment.

  • 11mariom 2 years ago

    > Also Mi Fitness cannot download data of previous date out of the device

    Exactly the reason I ditched it. It stopped auto-syncing data after some stupid android-app split. Like they have 3-4 apps? All similar, but supports different hardware.

    In Mi Band 2 / 3 days it was working quite good.

  • CannisterFlux 2 years ago

    Steps get over counted anyway by just moving your arm. I had one on while strumming guitar and it thought I'd walked thousands of steps.

  • trollied 2 years ago

    This is why everything should always use UTC internally. Timezones are a presentation layer problem.

mg 2 years ago

Is there a good fitness band to measure sleep quality that lets you download the data from a Linux machine, or at least lets you see the data on screen?

With "see the data on screen", I mean at least some quality index, not just the number of hours you slept.

  • jay-aye-see-key 2 years ago

    I have a Garmin Venu 2 that acts like a thumb drive when plugged in on Linux (and I assume other OSs). The files it stores exercise data as are accessible with a few FOSS tools. You can also put music on it this way. I haven't tried to extract and view sleep data to desktop, but it will show sleep scores and charts on the devices screen. I believe most Garmin behave this way when plugged in, so can be used without cloud/app interaction.

    I would be interested to know if others have interesting linux desktop software or workflows for working with this data when it comes off your watch

  • egeres 2 years ago

    Contrary to many android wearables, the most recent google pixel watch 2 is reasonably good at sleep tracking according to the quantified scientist: https://www.youtube.com/watch?v=Ef1by8kJfk4&t=1109s

    Google partnered with fitbit last year and now sleep data and other biometrics are shared with the fitbit app. The good thing about this is that you can access your data via fitbit's API, there is a python package for this process: https://github.com/orcasgit/python-fitbit. You can read this article if you want more details on how to configure oauth to make this work: https://towardsdatascience.com/using-the-fitbit-web-api-with...

    The cons of this setup is that you still need an android phone synched with your watch and is not too privacy friendly, but sure, you could run the code on your linux machine

    • vosper 2 years ago

      > Google partnered with fitbit last year and now sleep data and other biometrics are shared with the fitbit app

      Google owns Fitbit, and it’s not clear what the future of Fitbit is as a standalone brand or product line

    • gumboshoes 2 years ago

      For me, the Google Pixel 2 is just not a good device. I recently bought one to replace an Amazfit GTR 4. So many wrong things in the Pixel, I went back to the GTR 4. Doesn't track heart rate or 02 during non-sleep periods, for example, and impossible to see individual readings on the phone. Doesn't show enough text of the alerts. ECG readings are awkward and not automatic (though the GTR 4 does not have them, they are so awkward on the Pixel, they might as well not be there - it insisted I switch the device to the other wrist to get a reading).

    • gumboshoes 2 years ago

      Oh, and the GTR 4 battery lasts about 10 days for me. The Pixel never lasted more than two.

  • dvh 2 years ago

    I use Arduino and piezo on the plank under the mattress: https://files.catbox.moe/y6ehk6.gif

    • FirmwareBurner 2 years ago

      But what does that tell you about your sleep cycles and sleep quality? It just shows you moving around in bed.

      • cj 2 years ago

        Isn't "movement in bed" how all sleep monitors work? (aside from the clinical test with electrodes stuck to your head)

        I always assumed the main metric used by sleep apps for watches is movement.

        • FirmwareBurner 2 years ago

          >Isn't "movement in bed" how all sleep monitors work?

          No.

          The best ones monitor your brainwaves, and the best wearables monitor the next best ting, your hear rate and blood oxygen.

          You can get knocked out by drugs, alcohol or just die in your sleep from apnea so you'll not move around in bed and your bed motion sensors are useless.

          You need to tap into the body's vital signs to know your sleep stages accurately, especially REM.

      • dariosalvi78 2 years ago

        Sleep cycles are very hard to measure reliably, basically no wrist worn device should be trusted for that.

        • cj 2 years ago

          I find wrist sleep apps accurate enough for showing me trends over time and correlations between things that make sleep worse (e.g. drinking before bed shows different sleeping patterns than not drinking). Interesting and useful data but I agree it's not scientifically precise.

          • dariosalvi78 2 years ago

            I agree, which is why I think that it would be more interesting, and probably more honest, to show some sort of "sleep quality" index instead.

  • rlupi 2 years ago

    I use Withings. Both their watches and their Sleep tracking mat can do sleep quality tracking. I use the latter at home, or their watch when I travel. So I have data no matter where I am.

    They have an export/takeout form in the app, which will create an archive with all your info and send you an email, and they provide instructions to parse it (e.g. in Excel). They also have an API, but it requires setting up a public OAuth endpoint for authentication (for Web apps) or pre-approval (for Mobile apps).

  • izacus 2 years ago

    Garmin watches expose their data as a mountable filesystem. They're generally very good quality-wise as well.

  • pydry 2 years ago

    I've been looking for this too - high quality sleep tracker that doesnt connect to the internet that produces downloadable metrics. I dont think it exists.

    If gadgetbridge wrote an oura ring connector id buy one in a heartbeat. I had a mi 5 and the data quality was so crap.

  • slobotron 2 years ago

    Amazfit watch gives a "score" that can be seen on device screen, in addition to the total hours and and breakdown per awake / REM / deep / light time.

    • RecycledEle 2 years ago

      Yes, many activity trackers do this.

      It is interesting to wear 2 of the same trackers, one in each wrist, and see if they are close to agreeing.

      I do that with 2 Mi Bands.

      The variance of a single point estimate is infinite.

Dunedan 2 years ago

I'd love to see a full featured open-source firmware for the Mi bands, as the original firmware requires an device-specific Xiaomi-issued key for Bluetooth pairing. For obtaining this key you have to use the Amazfit App with an Xiaomi account at least once. For details check out https://gadgetbridge.org/basics/pairing/huami-xiaomi-server/

While thinking about it, I wonder if that's even compliant with GDPR, as it forces users to provide their email address for no good reason.

mdrzn 2 years ago

I just need a way to download the data on my PC so I can keep a backup, since I had to switch 2/3 apps to keep using the Mi Band since 2015. I have 8 years of sleep/steps/heart tracked and no easy way to export and visualize the data.

nickorlow 2 years ago

An open source(ish) fitness tracker would be great. I like the idea of being able to write apps for my Apple Watch to add custom features (I.e. automatic rest timers when weightlifting) but don't want a smartwatch or soemthing with that small of a battery. A WHOOP that I don't have to pay monthly for and can get some programmability out of would be great

donatj 2 years ago

Oh neat. I've got a handful of these things. They're cheap enough that when the band breaks or the screen gets a decent scratch you don't feel bad just buying another one.

  • aphroz 2 years ago

    It really depends on what makes you feel bad. Funny coincidence, I just found mine yesterday after it sitted 2 years in a drawer as I hate having things tell me what to do.

obilgic 2 years ago

so they didn't enable the write-protection after flashing?

  • scq 2 years ago

    It has OTA firmware upgrades, I suppose if they did that they wouldn't be able to update the firmware.

    • Reviving1514 2 years ago

      If I remember correctly you can disable flashing through UART/whatever without disabling OTA flashing.

      Eg. The ESP32 has this feature.

solaarphunk 2 years ago

If you care about battery life, I haven’t found a better option than these little guys.

  • user_7832 2 years ago

    While still a “sister”/subsidiary company, Huami’s Amazfit Bip (particularly the 1st gen but I think also the Bip S IIRC) have transflective memory-in-pixel screens with 1-3 months of battery life (3 months being almost an anomaly that I experienced with a fresh battery) - while still tracking movement and sleep.

    I got an Amazfit Band 7 after my OG Bip died. More info as far as blood o2 and fitness recovery & VO2 estimates etc, but it loses the compass, barometer, a physical button (bizarrely imo) & a few month(s) of battery life. The OLED is certainly nicer in some situations (almost always indoors) but I very much miss the battery life. Oh, and lots of app & custom watchface support too.

    Btw if you have a larger budget, Garmin is also apparently pretty good with good battery life and a very similar screen type (and much better sports tracking).

    • buccal 2 years ago

      Transflective LCD, e-paper or similar always visible low-power display technology is mandatory for infrequently charged compact wearables.

      I tried I like Amazfit Bip (older, more contrast, low refresh frequency) and Amazfit Bip S (newer, less contrast, higher refresh frequency, music playback control) devices that work for more than a month on one charge. For Android synchronization one can use excellent FOSS Gadgetbridge app.

  • morsch 2 years ago

    Fossil Hybrid watches. Four weeks battery life. Supported by Gadgetbridge, so no need to upload your health data to a third party. Can run custom code on the watch.

  • ptman 2 years ago

    PineTime has quite good battery life. Probably not as good. But a week?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection