A friend passed away recently during sleep due to unknown natural causes when they were all alone in a hotel in a foreign country. I couldn't dismiss the thought that may be if they had worn a smart watch they could have had better chances of reaching out for help and perhaps even got alerted of some discrepancies in their vitals.
There's no dearth of smart watches in the market offering health monitoring solutions but Apple Watch has been leading the pack in terms of accuracy of heart-rate, sleep and exercise tracking for years; In fact a 4 year old Apple Watch is more accurate than most recent commercial competitors.1
Only issue is that I decided not to give any more money to Apple years ago after being fed up with their walled-garden,2abuse of their monopoly powers3,3.1, blatant aspiration porn4 marketing, anti-repair agenda4.1 etc.
Instead, I've been happily using a refurbished BLE smart watch and refurbished smart phones with great open-source community support for several years.
Gadgetbridge,5 enables me to have total control of the data from my smart watch by getting rid of the proprietary app of the manufacturer. Lineage OS6 along with microG7 and F-Droid7 enables me to have a private and secure smartphone and protect my data from Google and its data-hoarding pals; thanks to the vibrant and steadfast open-source community.
Occasionally I even dabble with mainline Linux smartphones with postmarketOS8 and smart watch powered by Asteroid OS8.1 to recover from the fatigue induced by the duopolies of the smartphone ecosystem.
There's no fall-detection or SOS functionality in my Gadgetbridge compatible watch. The accuracy of the health trackers in these watches are by no means comparable to that from an Apple Watch and due to the tight coupling of Apple Watch with iOS, it's not worth the effort of making it work with Gadgetbridge.
Health tracking has become important to me but not at the expense of the freedom & security I enjoy with my computing devices powered by open-source ecosystems.
So I decided to make Apple Watch work with my Android phone using open-source applications, interoperable protocols and 3rd party services. If you just want to use my code and techniques and not read my commentary on it then feel free to checkout my GitHub for sources9.
I bought a refurbished cellular Apple Watch which supports all the health functions10 I need and latest Apple Watch OS.
My initial plan was to use the Apple Watch for Kids11 paired with my partner's iPhone but I was defeated quickly as the Apple Watch for kids doesn't enable crucial health features like ECG; even though my profile clearly states me as an adult.
Besides, only one of the oligopoly telecom networks in my country supports an Apple Watch eSIM under "Apple Watch for Kids" program, which, when I tried promptly deactivated my network services. Fortunately this was my secondary SIM and so I moved on.
This made it clear that I cannot continue without an iPhone and so I got a refurbished iPhone which still has some years of OS updates left.
I've compromised on my initial goal of not having to buy an iPhone to use an Apple Watch with Android. But I managed to achieve the new goal of not having to carry an iPhone with me but still getting all the functions I need from an Apple Watch synced with an Android phone.
I got the cellular working in the Apple Watch by using the same SIM from my Android phone in the iPhone, pairing with the Apple Watch and setting up the mobile data.
Receiving and making calls via Apple Watch (when Wifi/BT is disabled) works well, but since the SIM is in the Android phone, the SMS functionality doesn't work; with it SOS messages to emergency contacts(even if they're on iMessage ʅ₍ッ₎ʃ ); but SOS calls work.
Implementing notifications on Apple Watch from Android required the most effort. But it was worth it as notifications are crucial for productivity and for saving power on the smartphone.
I wrote a python script to read the notifications in Android using the invaluable terminal emulator - Termux12 (one of the main reasons why I can't leave the Android ecosystem) and sent it over to Apple Watch using Pushover13 - a push notification service.
Calendar syncing from Android to Apple Watch was made possible using CalDAV,14 an interoperable protocol for calendar data from my self-hosted Nextcloud server14.1 and with apps like Fossify Calendar15 & DavX16.
It would have been weird if the calls on Apple Watch showed just the phone numbers, so I synced the contacts from my Android phone to Apple Watch using CardDAV17, an interoperable protocol for contact data from my self-hosted Nextcloud server and with apps like Fossify Contacts & DavX.
One added advantage of using DAVx is that it allows to sync tasks from tasks app like jtxBoard18 using aforementioned interoperable protocols.
Tasks from Android get synced to Apple Watch Calendar and the Reminders apps.
I now have a functional Apple Watch working with my Android phone. I keep my iPhone at home, powered and connected to the Internet but don't use it as a daily driver.
There could be room for improvement in various aspects of this project. If you feel would like to help then start a discussion in the GitHub project repository.
Finally, none of this would have been possible without the open-source community, interoperable protocols and community focussed small applications; all of which are under tremendous threat from vested interests.
If you would like to discuss with me about Apple Watch with Android, hop on to any of these social platforms - Hacker News, Mastodon, Bluesky, Twitter and LinkedIn.
1: Quantified Scientist's review of Apple Watch 6's HR tracker - https://www.youtube.com/watch?v=5cUXNlxcKUE
2: Closed Platform - https://en.wikipedia.org/wiki/Closed_platform
3: Green bubbles, Apple Pay and other reasons why America says Apple is breaking the law - https://edition.cnn.com/2024/03/21/tech/america-apple-monopoly/index.html
3.1: Abrupt transfer of 'Arcade' category of games to 'X' category because Apple's game subscription platform was named 'Apple Arcade' - https://news.ycombinator.com/item?id=28327374
4: iPhone price drop making to headlines is aspiration porn - https://abishekmuthian.com/iphone-price-drop-making-to-headlines-is-aspiration-porn/
4.1: Uncovering Every Lie in MKBHD's Softball Interview; a scathing critique of 'brand safe' influencers - https://www.youtube.com/watch?v=Z0DF-MOkotA
5: Gadgetbridge - https://gadgetbridge.org/
6: LineageOS - https://lineageos.org/
7: microG - https://microg.org/
8: postmarketOS - https://postmarketos.org/
8.1: Smart Watch to Smart Clock - https://abishekmuthian.com/smart-watch-to-smart-clock/
9: Apple Watch with Android - https://github.com/abishekmuthian/apple-watch-with-android
10: Apple Watch Health features - https://www.apple.com/in/healthcare/apple-watch/
11: Apple Watch for Kids - https://www.apple.com/in/apple-watch-for-your-kids/
12: Termux - https://termux.dev/en/
13: Pushover - https://pushover.net/
14: CalDAV on Wikipedia - https://en.wikipedia.org/wiki/CalDAV
14.1: Nextcloud - https://nextcloud.com/
15: Fossify - https://www.fossify.org/apps/
16: DAVx - https://www.davx5.com/
17: CardDAV - https://en.wikipedia.org/wiki/CardDAV
18: jtxBoard - https://jtx.techbee.at/
I strive to write low frequency, High quality content on Health, Product Development, Programming, Software Engineering, DIY, Security, Philosophy and other interests. If you would like to receive them in your email inbox then please consider subscribing to my Newsletter.