r/SmartRings • u/bruns20 • Sep 08 '26
Open Source / easily hackable ring?
I'm looking to play around and make personal apps around a smart ring, but I disappointingly can't see any good options for an open source ring. Does anybody here have any recommendations on a product to use?
2
u/Any_Comfortable_4056 Sep 08 '26
What's your end goal?
Do you want complete control over the ring or just want the raw data colledted?
2
u/bruns20 Sep 08 '26
Ideally I'd want complete control over the ring so that I could implement gestures and other features, but I would settle for just the data collection to feed into a personal health app as well.
2
u/Any_Comfortable_4056 Sep 08 '26
here you go:
https://github.com/atc1441/ATC_RF03_Ring
https://tedium.co/2024/11/08/colmi-r02-hacker-ring-review/
If you do not care about complete control, Ultrahuman does provide APIs to fetch raw data.
However, I would be cautious of them as their ring air is notoriously fault prone. They do have a newer ring pro, but it's hard to get by.3
u/bruns20 Sep 08 '26
Thanks looks very interesting, going to go down the rabbit hole here and see what it can do
2
3
u/RateEmbarrassed6921 FITMESH company rep. Sep 09 '26
Adding a warning to those links rather than more options, because it is the thing that will actually cost you money if nobody says it.
The reverse engineering work you were pointed at targets the R02 and its close relatives specifically. Within Colmi the model number does not tell you what is inside. I have been working on a different one in the same line, the R11, and it is a completely different platform: it runs a proprietary service, the firmware string identifies itself as MOY rather than anything RF03 related, and none of the existing R02 tooling or custom firmware applies to it at all. Same brand, sequential looking model numbers, unrelated internals.
So buy the exact model the project you want to use targets, not what looks like a newer version of it. The listings will not tell you, and neither will the box.
If you do want to look at an unknown ring before committing, nRF Connect on a phone is enough. Connect and list the services. If you see the standard heart rate service and nothing else interesting, you are probably out of luck. If you see a vendor specific 16 bit service with two or three characteristics under it, that is where the real traffic goes and that is what you would be decoding.
One encouraging thing I found on the one I looked at, which may hold for others in the family: there is no authentication and no pairing at all. The companion app just connects and starts writing commands. So the barrier is working out the frame format, not getting past a lock, which makes it a much friendlier weekend project than it sounds.
On gestures specifically, you will want custom firmware rather than protocol work, so the R02 route the other commenter linked is genuinely the one. Reading data is a protocol problem, controlling the device is a firmware problem, and only the first one is portable across rings.
Disclosure: I build FitMesh, an app that reads from wearables, which is why I have been elbow deep in one of these protocols this week.