Skip to content


The best device for tracking your heart rate using open source

TL:DR; If you want to be able to track your heart rate using open source, the best device that you can get today is the Polar H10. Note that I use affiliate links in this post, so if you end up buying something, I might get a commission.

There are countless devices out there that promise you to track your heart rate such as the Fitbit Sense 2, Garmin HRM-Pro Plus, Kummel Fitness Tracker, and many more. Many of them only work with their proprietary apps. Some of these devices also offer a subscription model to keep using certain features. Most will not allow you access to the data from the device itself. At best, you might be able to get the data from their website, after you upload it to them.

In the search for a device that would be able to accurately measure your heart rate using open source, I had a few requirements in mind. It should allow you to use it with 3rd party apps, not only their official one. You shouldn’t need to subscribe to any service in order to use it. And most importantly, you should have access to the raw data directly from the device. I quickly found out that there aren’t many alternatives that pass all these requirements, and that the absolute best of them all, by far, is the Polar H10.

Polar H10

Polar, the brand that produces the H10, has been around for a long time. They were founded in Finland in 1977 and in fact, they made the first ever wireless heart rate monitor. They continue doing research to this day at their Polar Research Center and they even invite people to collaborate with them. So, the company behind it is great. But what about the device itself?

This device offers one of the most, if not the most, accurate heart rate measurements in the market. It has been recently proven in an academic study done in the Czech Republic that “ECG data captured by the Polar H10 heart rate sensor is usable in real practice for the evaluation of baseline rhythm, atrial fibrillation and premature contractions”.

In terms of connectivity, the Polar H10 comes with three options: Bluetooth Low Energy(BLE), which is available in pretty much all modern phones and laptops(note that it can connect to two simultaneous Bluetooth devices), ANT+, which is available in some devices, and 5kHz(Gymlink), which is used to connect your heart rate monitor to machines in the gym.

Getting the heart rate data while exercising using open source

Because the Polar H10 implements the Bluetooth Heart Rate Profile it can work with many apps that use this standard. In particular, you can connect it directly to one of the best, if not the best, open source tracking app: RunnerUp(Play | F-Droid | GitHub). This app, combined with the Polar H10, will allow you to keep yourself at your optimum level while running, because it speaks to you whenever you cross your boundaries of your defined heart rate zone. This is extremely handy because you don’t even have to look at any screens, you will know exactly when you need to go harder, and when you need to slow down to train at your optimum level. Combined with the interval training options of the app, this is by far the best deal that you can get anywhere, and it’s all available to you in the app for free, forever. Also, you will have access to the sensor data directly from the app, without having to upload it anywhere if you don’t want to. You can then export the data(GPS tracks from the phone and Heart Rate data from H10) to your computer for further analysis with more dedicated open source tools like GoldenCheetah.

Full access to the raw data of the device using Polar SDK

The previous application should be enough for most people wanting to simply have full access to their heart rate data while exercising. But if you want to dig deeper and get a better understanding of the underlying raw data from the device, you’ll be happy to know that Polar publishes their SDK with examples in GitHub. With the Polar SDK you’ll be able to read and process live data from the H10 heart rate sensor. This means that you can get Electrocardiography (ECG) data at 130Hz, acceleration data at up to 200Hz, heart rate as beats per minute, and more. All directly from the device. The Polar SDK supports both, Android and iOS devices.

Advanced access through BLE Generic Attribute Profile (GATT)

If you want to have full access the H10 directly using a computer, or any other device not covered in the previous sections, you can have a look at their published technical details. These include all you need to know to interface with this BLE sensor through GATT. This means that you could connect to it through any device that can talk to a BLE sensor and get the raw data. You can have a look at projects like this one if you’re planning to use a computer to interface with the H10.

Conclusion

As you can see, the Polar H10 is one of the most accurate heart rate sensors in the market at the moment, and you can get the data from it using open source in many different ways. You can simply use any tracking apps in your phone that support standard Bluetooth heart trackers, you can get the full raw data with the Polar SDK, or you can even connect to the H10 with a computer, or any kind of device that has BLE. It’s one of the most open devices that you can get at the time.

Enjoyed the article?

Posted in IoT, Open Source.

Tagged with , , .


22 great apps for GrapheneOS, or how to setup a useful Android smartphone with open source apps only

GrapheneOS is basically the open source version of Android, the Android Open Source Project, enhanced with many privacy and security features on top. It’s basically the most secure and private mobile OS you can run in Android these days.

To install it you’ll need a Pixel phone. This is because those devices offer the best security in their hardware. Here’s the current list of supported phones. If you’re planning to buy a new phone, it’s recommended to get at least a Pixel 7(that means the minimum you should get is either a Pixel 7, Pixel 7 Pro, or the Pixel 7a) given the better and more secure hardware(Titan M2), and 5 years of security updates. If you’re on a budget, you should consider buying a Pixel 9a as it offers an incredible value for money, and it gets 7 years of security updates and similar hardware as the flagship Pixel 9. Note that if you do buy them from those links, I might get a small commission from it.

If you already have a supported phone in your hands, the next step is to install GrapheneOS in it. This is much simpler than what you imagine. There are two official ways to install it, either through a web installer, or through a command line installer. It doesn’t matter which one you use, you’ll end up with the same result if you follow the official instructions correctly. If you ever want to ask something about GrapheneOS, head towards the GrapheneOS community where you can ask anything you want, and will receive excellent support.

After the install, you’ll have a very basic, yet functional smartphone. If you only need to use the phone for calls, SMS, and basic stuff like that, then you’re done. If you want to add more functionality through apps, you have a couple of options:

F-Droid

F-Droid is an app store dedicated to host open source applications. You can get many apps from this store, but don’t expect to see the big brands as mostly they have closed sourced applications. The good news is that there are plenty of open source alternatives that you can use instead, which gives you more freedom. To install F-Droid, simply open your web browser, which is called Vanadium, and is available at the bottom of your screen, and go to https://f-droid.org. There, click on Download F-droid. You’ll be downloading an apk file(an Android app). Once it’s downloaded, open it and install it. You should be able to install apps from this store now.

GitHub et al

Many apps have their source code and sometimes also their releases hosted in GitHub or similar sites like GitLab. You can simply go to the project GitHub page, go to the releases, and download the apk file from there. Note that you can install some apps from F-Droid and others from GitHub without any issues. The benefit of installing apps from GitHub directly is that sometimes the apps are not available in F-Droid, or they have a different set of features. The downside is that you’ll have to check manually if there’s a new update. Some people use Obtainium to address this, but I haven’t used it.

Curated list of open source apps

Aegis(F-Droid | GitHub). “A free, secure and open source app for Android to manage your 2-step verification tokens”. You can also easily import and export your tokens from and to other apps.

AntennaPod(F-Droid | GitHub). “Easy-to-use, flexible and open-source podcast manager and player”.

Readest(www | GitHub). “a modern, feature-rich ebook reader designed for avid readers”.

Catima(F-Droid | GitHub). “a Loyalty Card & Ticket Manager for Android”. Basically anything with a bar-code in it, like a library card, etc, can be stored here.

DAVx⁵(F-Droid | GitHub). “open-source CalDAV/CardDAV suite and sync app for Android. You can also access your online files (WebDAV) with it.”

FairEmail(F-Droid | GitHub). “Fully featured, open source, privacy friendly email app for Android”

Loop Habit Tracker(F-Droid | GitHub). “a mobile app for creating and maintaining long-term positive habits”

Stealth(F-Droid | GitLab). “Stealth is an account-free, privacy-oriented, and feature-rich Reddit client.”

KDE Connect(F-Droid | GitHub). “Multi-platform app that allows your devices to communicate”. The best way to move data between your computer and your phone.

Organic Maps(F-Droid | GitHub). “Open-source, community-driven maps for travelers, tourists, cyclists & hikers”. Works offline too.

OpenKeyChain(F-Droid | GitHub). “OpenPGP implementation for Android”. Works with FairEmail.

OpenScale(F-Droid | GitHub). “Open-source weight and body metrics tracker, with support for Bluetooth scales”

RHVoice(F-Droid | GitHub). “free and open source speech synthesizer”

RunnerUp(F-Droid | GitHub). “Track your sport activities with RunnerUp using the GPS in your Android phone:”. Works with RHVoice.

Fossify Calendar(F-Droid | GitHub). “Securely plan, schedule, and set reminders with our private calendar app”.

Fossify Contacts(F-Droid | GitHub). “Manage your contacts privately and efficiently with vCard support”

Fossify Gallery F-Droid | GitHub). “Gallery with Photo editor. No Ads, Open-source, Private. No strings attached.”

Fossify NotesF-Droid | GitHub). “To do list widget with a notebook organizer, checklist, simple shopping list.

Vinyl(F-Droid | GitHub). “Music player easy to use and customizable”

VLC(F-Droid | GitHub). “Video and audio player that supports a wide range of formats, for both local and remote playback.

Voice(F-Droid | GitHub). “Minimalistic audiobook player”

Breezy Weather(F-Droid | GitHub). “A powerful, open-source Material Design weather app”

Posted in Open Source.

Tagged with , , , , , , , .