Android, Linux, FLOSS etc.

My code

Subscribe to a syndicated RSS feed of my blog.


Mon, 13 Nov 2023


I wanted a smartwatch to see my heart beats per minute, number of steps walked and so forth. I also wanted one where the software and complementary apps were or could be free and open source. A smartwatch running WearOS (or alternatively AsteroidOS) would fit that bill. It also would run a variant of the Android operating system, which I am familiar with. Another alternative is the PineTime smartwatch, which is really geared to a free and open source audience, and which was only $27 plus shipping. I could have bought a dev kit which costs about the same amount, but at this point did not. Theoretically I could write my own OS for the smartwatch if I had the dev kit, but for now I am running the default InfiniTime OS for the watch.

I ordered the watch two weeks ago and it was just shipped to me Friday. It is running InfiniTime 1.11.0 from October 16, 2022. It does not yet run InfiniTime 1.13.0, released June 24 of this year with an improvement in heart rate processing. InfiniTime is GPLv3, and I was reading through the 1.13.0 heart rate improvement and that code is written in C++.

The watch came with a charger, so I charged it via the USB plug and dock. It was suggested that Gadgetbridge, Siglo and WatchMate would interface with the watch, so I put Gadgetbridge on my Android phone, and Siglo and WatchMate on my Linux.

The watch was sending battery rates out to my Android and Linux box via Bluetooth. It also sent number of steps made. It was not sending heart rate. However when I went into the watch and asked for heart rate to be measured - it began measuring it.

I wanted to get an idea of my resting heart rate, my heart rate when moving around a little, and my heart rate when I go to the gym and get on the treadmill. The BPM floats around a bit, with some peaks when resting and valleys when moving quickly on the treadmill, so I even those out in my head as probably error. On the whole, increased activity tends to increase average heart rate. On the treadmill, I now have a better idea of what incline and speed is 60% of maximum BPM, 65%, 70% etc. This was my first time with the watch, I will probably keep pushing a little and seeing what some higher rates are, but I am not currently planning on doing a lot of HIIT training in the near future. Just enough to keep me healthy and maybe lose a few pounds.

After having F-droid download Gadgetbridge and pairing it with my app, I have been sending battery, step, and heart information to the app. I have also been sending it to Siglo and Watchmate on my Linux. I have not used Flatpak with Linux a lot, but those two apps I got and used with Flatpak. They are OK, although Gadgetbridge has been more of what I am looking for out of the box.

This gives me a better idea of how much cardiovascular exercise effort I should be making at the gym, and if I use it along with an exercise regiment, should keep me healthier, as I know better how far I can push my exercise. The watch and related apps are open-source, so I have more control over all of this information, and can make changes to the watch and auxiliary applications if I want to.

[/smartwatch] permanent link