Python client for the $20 Colmi R02 smart ring

(tahnok.github.io)

242 points | by tahnok 14 hours ago ago

72 comments

  • TechDebtDevin 5 hours ago ago

    I'm so excited to play with this. I just ordered one. I've gone through two Oura rings (I do not reccomend). I'm not sure this will be reliable but it cost me $14.00 not $300 and doesn't charge me monthly to access a mediocre api.

    • pards 3 hours ago ago

      IMHO companies should not be permitted to "sell" devices that require a subscription to function - that's a rental model - especially when there's only one service provider.

      Either sell the ring and include lifetime membership for free like Garmin [0], or _lease/rent_ the device on contract and charge a monthly fee. Don't do both

      The Oura starts at $469 CAD [1] plus $7.99 CAD per month [2].

      [0]: https://connect.garmin.com/

      [1]: https://ouraring.com/product/rings/oura-ring-4/silver

      [2]: https://support.ouraring.com/hc/en-us/articles/360052018753-...

      • RunningDroid an hour ago ago

        > Either sell the ring and include lifetime membership for free like Garmin [0], or _lease/rent_ the device on contract and charge a monthly fee. Don't do both

        An example of something similar is quip¹'s subscription, you buy the toothbrush and subscribing to the refill plan gets you a "lifetime"² warranty

        1: getquip.com

        2: lifetime of the subscription

        • wjnc 12 minutes ago ago

          What are your thought on risk / reward (more precise: cashflow matching) with regards to physical products with a software component? I think buy (hardware) + fee (software) is the natural way of looking at things. Just as you pay separately for car maintenance.

      • kmlx 2 hours ago ago

        oura ring does function without a subscription, but the data is obviously poorer.

    • pydry 4 hours ago ago

      Oura rings do seem to have accurate tracking (unlike most smart watches). The data it collects and the subscription model look awful though.

      Im eagerly awaiting a ring sleep tracker like it which can be used offline with gadgetbridge or something.

      • danielbln 3 hours ago ago

        Support for this ring (Colmi R02) was added to Gadgetbridge, so I suppose your wait is over: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3896

        • tahnok 17 minutes ago ago

          Nice, I hadn't seen the gadgetbridge support PR before, will be good for a lot of people I think

        • pydry an hour ago ago

          The sleep tracker seems to be quite poor - e.g. misrecognizing time spent in bed as time asleep. This was the same problem I had before with a xiaomi. It was so inaccurate on all fronts I just ditched the thing.

          I wasnt expecting the colmi to be accurate for this low price, but still.

          For gadgetbridge I dont think there are any good sleep trackers and the only two I know of that are genuinely accurate are the apple watch and oura (theres a guy who tests them all on youtube - this is what he found).

          Id happily pay extra for a decent non-apple local storage only fitness tracker which integrates with OSS and doesnt upload every heartbeat to the cloud but it does not seem to exist.

  • Galanwe 9 hours ago ago

    Is there a similar ring with NFC?

    I have no use for the smart health thingies, which really look like a data driven health gimmicks to me.

    NFC on the other hand I could find hundreds of applications, from payment to access and transport cards.

    • edent 9 hours ago ago

      Yes. I have the Z1 Ring.

      Getting secure tokens (like payment, door unlock, etc) is possible but can be complicated. The ring is a small target, so not always easy to find the received if you're using it with a phone.

      Oh, and the software is low level and finickity. I managed to accidentally set mine to read only mode permanently.

      Review at https://shkspr.mobi/blog/2024/02/giving-the-finger-to-mfa-a-...

      • stavros 5 hours ago ago

        I have a suspicion this is a whitelabeled NFC ring I got from AliExpress for $12. That one includes a T5577 chip and a Mifare tag. You can read and write the Mifare tag with your phone, as normal, and the T5577 with a Flipper Zero or a Proxmark (also from Ali, $40).

        The NFC tag is a small target, probably because of the size of the antenna, but the RFID one has pretty good range. I got five of those rings, very much recommended if you have stuff to auth to.

        • edent 2 hours ago ago

          I think your suspicions are wrong. Those $12 rings will allow you to serve NDEF messages or similar. They won't do U2F, payment, car unlock etc.

          • stavros 2 hours ago ago

            It doesn't look like the Z1 does payment either, though. I don't know how they do U2F, but it looks like it comes with a custom reader, which is non-standard. I don't know how Tesla unlock works, so I can't say there.

    • franga2000 9 hours ago ago

      The problem with that idea is that all secure implementations of RFID lock the user out, meaning you can't just buy an NFC ring/fob/implant and copy your bank card or transit card onto it. The only implementations where the user can do that are terribly insecure and, while still commonly used, are slowly getting phased out.

      So for anything other than systems you control or are good friends with the IT guy for, you're out of luck.

      • Galanwe 9 hours ago ago

        Right I agree with you on theory. But in practice, I already do clone most of my smart cards on small NFC stickers on the back of my phone case.

        The things is 99.9% of access cards (where I leave at least) are default-encrypted mifare classic, making cloning trivial. Transport cards are an other beast since they have their own backlog and proper encryption, but there are ways.

        So all in all, dumping the card is not the issue for me, it's the medium on which to put the clones that is still a question mark.

        The "NFC sticker on the back of the phone" is cool because it's almost as if your phone opens the door (stock android won't let me easily swap NFC SC ID), but NFC is fidgety when multiple chips are in close proximity, leading to frequent misses.

        I have found multi-chips NFC cards on Ali Express. These are basically a single antenna wired to an array of chips directed by a keypad. That seems viable on paper but you still get to carry the card and press the right switch.

        The ideal solution would be a smart ring with a reflashable NFC chip, along with a programmable MCU to implement the rolling logic between cards.

        • stavros 5 hours ago ago

          Reflashing the NFC chip on the ring is a bit of a pain (it takes a second, but if I have to spend a second doing it every day, I might as well get my keys out). Since every phone has an NFC chip nowadays, though, can't we use that to emulate all our Mifare cards?

          • Galanwe 3 hours ago ago

            > can't we use that to emulate all our Mifare cards?

            Unfortunately, no.

            From my experience at least, most access cards are simple mifare classic cards, and they have no payload: the reader just got a list of allowed card IDs, maintained by the building IT.

            While you can freely rewrite mifare data from Android, it won't let you change your ID unless you root your phone. I guess this is similar to the old days where you weren't supposed to change your MAC addresses.

        • wellthisisgreat 2 hours ago ago

          Sounds interesting, which sticker are you using?

    • gorbypark 9 hours ago ago

      They do exist, I believe. I don't have one but came across many for sale on AliExpress when looking for a writer to clone my RFID apartment door entry thingy. Seems like they even have some that are dual NFC/RFID that would work as regular NFC as well as for my apartment door (125khz).

    • DaSHacka 7 hours ago ago

      Dangerous Things (popular RFID/NFC implant makers) sell dual 125khz+13.56mhz clonable rings, but they're way overpriced ($130). I bought my "V1" back when they were still $60, and FWIW, if you know what you're doing, it does work.

      I've also seen some rings on Aliexpress that purport to support the same capabilites, but havent personally tried them out yet.

      • stavros 5 hours ago ago

        I've tried the Aliexpress ones, they work fine. I have like five of them.

    • m463 9 hours ago ago

      I think you're onto something.

      I would be ok with a watch too.

  • fulafel 3 hours ago ago

    So you just scan for devices and then read? There's no authorization involved, these just publish the readings wirelessly for all interested?

    • michaelt 2 hours ago ago

      The basically-no-authorisation arrangement is somewhat common for modern bluetooth devices.

      It's problematic for things like keyboards used for entering passwords - but if my next door neighbour wants to snoop on my living room thermometer or someone wants to snoop on my heart rate strap as I jog past their house? It doesn't seem to be much of a problem, in practice.

      In the bad old days of bluetooth, loads of devices without screens would just hard code the pairing code to 000000 anyway. So it wasn't adding much security anyway. Unlike internet-connected devices, it's not exposed to a billion griefers from around the globe at any given moment.

      • fulafel 34 minutes ago ago

        Ongoing read of your neighbours, roommates, co-workers etc health data from a distance including recent history is getting your hands on sensitive personal data in addition to health data. You can tell what they are doing, getting drunk or having sex etc.

    • wongarsu 2 hours ago ago

      The ring has a very minimal interface. Apart from the sensors - an accelerometer to count steps and two LEDs with photodiode to get heart rate and blood oxygen - there is one status LED on the inside to indicating charging. That's it. The ring is a pure data collection device that basically can't be interacted with without the app.

      Maybe they could have required you to hit the ring on a surface to initiate pairing mode. But as it stands the ring will pair with any device that asks for it.

      I'm looking forward to someone making a custom firmware for these rings. There is some work in the linked ATC_RF03 project, but I'm not sure if anyone is still working on it

  • ModernMech 6 minutes ago ago

    How is battery life with Python compared to C?

  • dsign 8 hours ago ago

    The hardware is getting so cheap! But the software...

    I bought for $20 a bed lamp that comes with led lights, bluetooth receiver, clock and alarm clock, and wireless charging for my iphone. It has a microphone to stream all my conversations god knows where, though its purported purpose is to listen me sing and pulse the lights according to the pitch.

    It comes with a convenient app to set the clock and the lights. But due to a glitch in the software, the alarm goes off every night at 01:00 AM. I haven't been able to disable that via their official app; no real programmers were used making that thing. But there probably is a bug in their bluetooth stack that would allow me to become root of the lamp and fix it myself...if I had the time.

    I wish hardware makers for off-brand products would include a minimal hacking kit in their boxes.

    • trojan13 4 hours ago ago

      You could try to open it (carefully, you might damage your precious lamp. Also please plug it out beforhand). Often times smart devices like these have debugging ports left on the board you can easily access with some clamps.

  • blutack 4 hours ago ago

    From the GadgetBridge pull request[0] mentioned by dingensundso:

    There's a nice site with a lot of the BLE API documented (including commands) at https://colmi.puxtril.com/

    0: https://news.ycombinator.com/item?id=41834048

  • anotheryou 2 hours ago ago

    It doesn't support raw accelerometer data yet, right? That would be the only deliberate input method, which would be fun.

  • Flux159 11 hours ago ago

    This looks interesting - is there a comparable ring that also has a temperature sensor? It would be interesting to be able to determine if you're sick a day or two ahead like an Oura ring or Apple's new Vitals app for Apple Watch using an open source app.

    Alternatively, does anyone know if it's possible with the sensors just in this ring?

    • karamanolev 8 hours ago ago

      From my experience, RHR, sleeping heart rate and HRV are good indicators of when I'm getting sick.

  • stavros 5 hours ago ago

    This is great! I tried to do this because I wanted to add an indicator of my heart rate to Slack, so people would see if I'm pissed off, but I could never get the data from the ring. I'm very curious to see how the author does it.

    • daghamm 2 hours ago ago

      This has the unintentional effect of people knowing when you fall asleep in meetings.

      • BarryMilo 2 hours ago ago

        Hope it stops updating after business hours!

  • wanderingmind 11 hours ago ago

    Amazing work. But, What would it take to port this work to Gadgetbridge to make the access easier

  • bhaney 11 hours ago ago

    Cool. Just ordered one (from Temu, $18) even though I already wear an Apple Watch. Love the idea of having something I can interface with directly and pull realtime data from without having to install some middleman phone app.

    • woadwarrior01 3 hours ago ago

      I just did the same. I'd love to try augmenting the sleep tracking data from my Apple Watch with the sleep tracking data from this ring. A couple of months ago, I learnt from this YT video[1] that sleep tracking gadgets are all quite inaccurate compared to a proper polysomnography study. But they're all inaccurate in different ways.

      [1]: https://www.youtube.com/watch?v=mjOYhxLJP90

      • cyberpunk 2 hours ago ago

        Right but if it’s the same sensor you are wearing each night you can still learn something from the trends instead of relying on the raw numbers.

        E.g there’s a definite motivation kick to drink less when I see what it does to my hrv and sleep trends for days afterwards, while I don’t particularly care about the numbers being all that accurate.

        Edit: Oh and turning on afib history in your Apple Watch will make it record like 10x data points which also helps with that. Maybe

  • heavyset_go 13 hours ago ago

    One of these with a Java card and NFC would be cool.

    • cdchn 11 hours ago ago

      We've had those for 26 years https://www.ebay.com/itm/300495374337

      • hyperific 8 hours ago ago

        Only on HN could you find a gem like this. This is a bit of internet history.

      • heavyset_go 4 hours ago ago

        Thank you for unlocking this core memory

      • detaro 8 hours ago ago

        I love eBay sellers:

        > JAVA RING: VERY RARE!

        > More than 10 available – 1,230 sold

        • sgt 8 hours ago ago

          After HN there won't be anything left.

  • vosper 13 hours ago ago

    I couldn’t find it on the product page: any idea if this has a vibrating alarm? I’m in the market for something to wake me up without disturbing my partner

    • yjftsjthsd-h 10 hours ago ago

      Wouldn't a watch do that? Ex. the https://pine64.com/product/pinetime-smartwatch-sealed/ is dirt cheap and its alarms just vibrate the watch.

      • vosper 7 hours ago ago

        I would prefer something less bulky (I don’t wear a watch) but thank you for the link: that is indeed dirt cheap and probably worth a go.

      • petemir 4 hours ago ago

        I guess it depends. My partner still gets woken up by my (smart)watch at the lowest vibration setting.

        • michaelt an hour ago ago

          If your partner gets woken by a watch vibration actuator, I doubt it's possible for you to sneak out of bed without waking them, as your body weighs about 10,000 times as much as that actuator.

    • alchemist1e9 3 hours ago ago

      I used the smallest fitbit for that. Work very well for me.

    • flax 13 hours ago ago

      it does not.

      • IgorPartola 11 hours ago ago

        If it doesn’t vibrate that’s a real shame. Ideally I would want it to vibrate as well as be able to detect gestures. That would be such a killer combo for so many things from golf training to turning on the mood lighting with a swish of your hand.

  • Always42 12 hours ago ago

    At a quick glance this looks cool!

    I just have a hard time justifying things like this when the apple watch + iphone work so well. But i'm sure at some point the apple experience will get worse and push people to other OS like windows is

    • israrkhan 10 hours ago ago

      Here are few reasons that justify its existance.

      * Different form factor

      * Not tied to Apple Ecosystem.

      * Price

      * You can even use it independently (without phone).

    • daghamm 9 hours ago ago

      I dont understand this attitude.

      If this is how you feel about technology why are you not on the verge instead of HACKER news?

    • RamiAwar 10 hours ago ago

      20$

      1200$

      I have an easier time justifying this

  • croes 11 hours ago ago

    How accurate can the data of such a smart ring be or do other smart ring have so high margins?

    • bhaney 10 hours ago ago

      From the little bit of research I just did before buying one, most people are reporting that compared to their more expensive trackers, the heart rate, accelerometer, and sleep tracking functionality are all pretty accurate (good sleep tracking being dependent on a high sampling rate, which decreases battery life), but the blood oxygen and "stress" reporting is uselessly inaccurate.

      • OkGoDoIt 9 hours ago ago

        That has also been my experience with this model. I’ve been using it for about a month now. I originally planned on trying to use the accelerometer data over Bluetooth to build a custom control input for Frame smart glasses, but I got busy and never got around to that. But I’ve been wearing it as a health tracker and the heart rate and sleep tracking seem pretty accurate relative to my Apple Watch, and the blood oxygen measurement is generally a couple percentage lower than my Apple Watch. I have no idea what the stress thing is even supposed to measure, it’s just a random number that doesn’t seem to have any correlation with real life and there’s no units or explanation.

        I get about four days of battery life with all of the sensors turned up to maximum frequency, which is every 5 minutes at least for the heart rate. Surprisingly good for such a small lightweight device. I imagine it could go a lot longer if you turned down the sensors to a lower frequency. I found a good rhythm is to charge it when I take showers, that seems to be a good balance and it never comes close to dying. My Apple Watch on the other hand regularly dies before I go to bed, and I can’t wear it for sleep tracking because it can’t last that long.

        I will never understand people that pay a monthly subscription to access basic local sensor information like this. Yet I see people wearing subscription-based smart rings all the time. I don’t get it.

        • updatedprocess 5 hours ago ago

          Some reviews say it's a little bulky to wear. It's that your experience?

      • stavros 5 hours ago ago

        I tried blood oxygen and the readings were the same as my pulse oximeter (though it always shows 98%, so I haven't managed to test any other value), but my sleep reporting with the ring would regularly be three or four hours longer than I actually slept, making it useless.

        • alwayslikethis 3 hours ago ago

          > test any other value

          Try this:

          Hyperventilate for a minute or two. Then, make a full exhale and hold it. You should be able to hold your breath for longer than you normally can and during this time you should see the value drop a bit. Be sure to inhale before you start getting dizzy or faint. (Note: do not do this under water)

          • HumblyTossed 2 hours ago ago

            > (Note: do not do this under water)

            Or while operating heavy machinery.

          • stavros 3 hours ago ago

            Oh interesting, thank you, I'll try that.

  • TechDebtDevin 5 hours ago ago

    Hell ya, thanks for this!