Eric Migicovsky

← Back to Home

How to help us build open source Pebble software!

[2025-02-06]

As you may have heard, last week Google published the source code for PebbleOS. This is a big deal! Thank you again to Google for this huge contribution to the Pebble community. Now we’re hard at work on hardware and software development.

Have you signed up on rePebble.com to get the new Pebble yet??

frankenboard.jpg

Progress update

  • We’ve already got PebbleOS compiling and running on real hardware - check out the photo above! We’re targeting a new chipset - nRF52840. We’re open sourcing all updates at github.com/coredevices/pebble.
  • I'm flying to Shenzhen next week to meet with factories and suppliers. I’ll post some an update or two here on the blog, but for real-time fun check out @ericmigi on twitter or @ericmigi.com on Bluesky.
  • Some people have asked if Cobble, an open source Pebble mobile app for iOS and Android, will support older Pebbles - it does already! If you want to live on the bleeding edge (ie it works but it’s hard to set up and isn’t pretty! Please don’t bug any of the devs for support though) you can download APK builds from the GitHub actions.
  • Please don’t get your hopes up that the new watch will have X/Y/Z new feature. It’s going to be a Pebble and almost exactly as you remember it, except now with open source software that can you can modify and improve yourself. More hardware details will be shared in the future.

Who is ‘we’?

So far, it’s me and a small group of folks helping to:

  1. Build new Pebble watches
  2. Modify PebbleOS to work on that hardware
  3. Continue adding new features to Cobble - the ‘new’ open source Pebble iOS and Android app
  4. Give some love to the Pebble SDK for making and sharing new apps and watchfaces

Some people are working on this for my new company, Core Devices, including Joshua (also one of the Rebble board members), Gerard (firmware) and crc32 (Cobble). We’ll be joined soon by Steve Penna, my OG Pebble colleague who helped build the Pebble Android app.

Heiko, the brilliant mind behind much of Pebble’s aesthetic and engineering beauty, is helping as technical advisor, along with my first colleague at Pebble, Andrew Witte and another key Pebble design leader, Mark Solomon. Others are helping via the Rebble community Discord.

You can help too! Are you a firmware, mobile or Pebble app developer and interested in helping out? There are plenty of small, medium and big projects you could help work on.

CleanShot_2025-02-05_at_22.54.242x.png

How to join in

All of the software so far is open source and spread across two GitHub organizations: github.com/pebble-dev (Rebble.io team repos) and github.com/coredevices (for bringing up PebbleOS to run on new hardware).

People are mostly organizing on the Rebble Discord in #firmware-dev for PebbleOS dev, #mobile-app for iOS/Android dev, #app-dev for app/face dev

Rebble is also hosting a hackathon in a few weeks - more info. If you want to get started contributing to PebbleOS, there will be lots of people all in one space who can try to answer questions.

Small projects

Medium-sized projects

  • Mobile app improvements
    • Help port old Flutter features to Kotlin Multiplatform - list of todos here.
    • Get Cobble to build and run on iOS. Add Github Action to push iOS builds to TestFlight.
  • Help add new features to libpebblecommon, a new cross-platform Pebble library written in Kotlin. The goal is for this to contain all Pebble business logic (eg bluetooth connection, Pebble protocol, app/face management, appstore, PebblekitJS, etc), making it really easy to build a new Pebble-compatible app for iOS, Android, desktop and web.
  • Modernize PebbleOS build system - kill Waf and replace it with cmake?
  • Add a feature that you’ve always wanted to PebbleOS
  • Write a test suite, potentially using libpebblecommon. I personally love the experience of finding a great bug, but it's even more useful to find them automatically!

Big projects

  • Figure out how to integrate an open source Bluetooth driver (like BTstack or nimBLE - alt version -- or just a HCI implementation?) into open source PebbleOS, and get it running on existing Pebble hardware.
  • Improve Pebble C SDK experience
  • Cleaning up and improving Cobble UI/UX

How PebbleOS works

pebble_architecture.png

Interested to learn about how the underlying operating system works? Read more in the very detailed PebbleOS architecture presentation, then check out this presentation on how PebbleOS works!

Our friends over at Memfault (founded by Pebblers - it’s an observability platform for embedded devices - remotely monitor, debug, and update firmware at scale) are hosting a live podcast on Feb 11 with several of the Pebble firmware team members - sign up and bring your questions!

Comment on Reddit