For a piece of wearable technology, Pebble has had a fairly “rocky” history. One of the most successful Kickstarters of its era, it went on to get acquired by FitBit, quietly shelved by them, then acquired by Google and open-sourced, where it’s now somewhat back in the hands of its original creator. Its new open source nature means that regular people can develop for these popular watches again, and [Coconauts] have developed a guide for these watches, new and old.
The original watches had to be coded using C, which is a fundamental language but one that generally isn’t used much in the modern world outside of embedded systems and other areas where efficieny is important. C does much less hand-holding than modern languages, so there are a number of things to keep an eye on when coding for these watches that languages like Rust, Go, and Python handle on their own. Regardless, the two-person team recently built a pair of apps for the Pebble platform as part of an app-making contest, one which notifies the user that the watch is charged to 80%, and another that shows an interactive kitten on the watch’s face.
Both of the apps are available from the Pebble app repository, and from there the source code can be found on respective GitHub pages if you’re looking for some examples to dust off old C skills. If you happen to have an old Pebble watch or always wanted one but didn’t want to deal with FitBit, now might be a good time to get them out and start tinkering around with it since it’s now in the open-source domain.

My original plastic pebble still seems to work, but my old pebble time steel eventually sprang a leak and died to water ingress. The pebble was my all time favorite watch. It was just smart enough to be useful beyond a regular watch, and had a battery I only had to charge once every two weeks. Now I have the Zepp app using thing… I don’t really remember its name nor do I care. It’s pretty good, but it sometimes does things on its own when I’m in the shower. The water hitting the screen seems to mimic finger presses and I get automated messages being sent to whoever I texted last or other functions being started without my noticing. Touch screens on watches just aren’t really a great idea. This watch also tends to go 3 weeks on a charge, which is pretty good, but its also due to not always being connected via bluetooth due to the aforementioned issues while showering. Still I can use the vibrate alarms, which are my #1 used feature on smart watches. I couldn’t go back to a regular watch without a vibrating alarm unless I also quit working or otherwise quit needing to be places on time.
I’m very happy to see Pebble watches getting a new lease on life. If I could, I’d buy a new one today. I get why the originators probably felt they needed to sell. I bet it was a big pain in the ass and they probably sold fewer than they hoped. Certainly all the wanna be’s (apple, samsung, fitbit, google, etc) mucking up the market with their horrible offerings and unlimited marketing budgets took lot of air out of their sails. But it was a real loss to everyone who bought and inevitably came to love their Pebble watches.
Long live Pebble.
Just so you know, you can buy a new Pebble today ;) https://repebble.com/
Well, I’m watching shipping estimates for my Time 2 go further and further back, like in good old Kickstarter times…
I got lucky, mine arrived yesterday. I was just outside the original first 100 orders on the OG pebble.
That people leave their watches on in the shower….
If you never take it off then then that area of skin can never get dirty…
Alsi can’t risk missing an alarm, so better disconnect the Bluetooth rather than the wriststrap.
Jk. Ewwww. Cheesy smelling wrist for sure!
Your wish has been granted , https://repebble.com/watch
there back
The FitBit part of the history is actually that they bought it in order to kill it. It was not an accident.
You also make coding in C sound way more complex than it is. It is not rocket surgery. Sure, more work than Python, but nothing that’s impossible (or even really difficult) to pick up, especially if you have programmed before.
The biggest hurdle for me was having to wrap my head around pointers and references, and when to use which. That’s after 3 different C courses over 20 years. I still forget an & or have to fumble until I figure out the right runes to use, but I’m kind of a hack.
Code in the language you like, then have AI convert it to C. These models are pretty good at it, perhaps adding too many gratuitous safety checks (it can never be null, if it ever was assert, not return null)
Also, newer versions of the C language are strangely JavaScript like, AI will show you, it’s using the latest.
I have several pebbles still running, I wear one daily. Several og, a 2+HR, and a steel. I have one of the new time 2s as well. The new one is nice but I still rotate the old ones in. I have several other smart watches, but I really don’t use them much. I have an amazfit bip 5 that I strap on for kayaking because of its built in GPS, but I don’t like it for daily use.
Why can’t I connect this thing to my laptop instead of my phone?
Why would you want to? Thankfully, the bluetooth connection is open, so you can always build a desktop app yourself :^)
https://github.com/coredevices/mobileapp
because I don’t have a smartphone. why bother with this device if it requires a google or apple device to use it? google and apple already sell watches?
my garmin doesn’t need a phone, so I guess I’ll just buy a new one from them instead
Really gagged on the description of C here. Especially, “C does much less hand-holding than modern languages”. There’s nothing about modernity involved. C does a lot less hand-holding than other 50 year old languages, too. It’s not a question of new vs old, but rather complex vs simple.
It’s actually one of the best things about C, it does what you want it to and it does it fast. If you try implementing an algorithm yourself in Python you will likely end up with very bad performance, instead you should use a library that just calls a C function because it is faster. With C if you just write the algorithm it will work fast anyway and you can get close to an optimal solution very quickly with a lot less effort than finding out what python libraries to use and how to use them, etc.
what a pity we don’t have any way to check the spelling of words when we are talking about efficieny