Introducing Alloy: Moddable on Pebble
February 20, 2026 | Peter Hoddie, Principal
The beloved Pebble watch recently emerged from a decade-long hibernation. These watches are known for their long battery life, playful design, and passionate community. Pebble was far out in front of the industry in empowering anyone to create apps for their watch. Moddable is thrilled to be collaborating with Pebble to reimagine the watch developer experience using standard JavaScript. We're calling this new SDK Alloy because its unique strengths arise from the combined expertise of Moddable and Pebble.
Alloy matters because a better developer experience leads directly to a better user experience. Alloy takes care of countless details so developers can focus on building amazing watch faces and apps instead of implementation details. Developers can use their time to polish their projects and add useful (or fun) new capabilities. Platforms that care about their users take care of their developers. That shared belief is the foundation of Alloy.
Do more
Alloy brings JavaScript APIs to many existing Pebble OS features. These make it possible to build animated user interfaces, work with custom fonts, interact with buttons, access accelerometer and compass sensors, communicate with the Pebble app on your phone, store data, and much more. But Alloy goes beyond that, making it trivial to do things that were possible but not easy – things like making HTTP requests, working with JSON, creating interactive WebSocket connections, looking up location, and rendering dynamic QR codes.
The Moddable team has built a suite of city watch faces to help us experience Alloy as developers. These stylish watch faces exercise Alloy using our Piu user interface framework. They show how Alloy lets developers deliver remarkably elegant code that is still energy efficient. The source code for all of these watch faces is in our Pebble Examples repository, for you to learn from and use as starting points for your own ideas.
Why JavaScript
JavaScript is perhaps the most widely used programming language in the world, with countless millions of developers. Since its beginning at the dawn of the web, JavaScript has evolved into a secure, robust, standard, thoroughly modern language that is trusted for mission-critical software on servers, phones, computers, and, increasingly, embedded devices. Pebble already uses JavaScript on the phone with PebbleKit JS; it's only natural to extend that to the watch. And JavaScript is a more approachable, forgiving language than C, one that invites many more developers to implement their ideas on Pebble.
Moving forward together
This release of Alloy is just a first step. We want Alloy to allow developers to build what they want in the way they expect. We never forget that our work needs to maintain the long battery life that is a hallmark of Pebble. We've got endless ideas for how to move Alloy forward. But we want to hear from the community before going too much further. Your contributions – through feedback, asking questions, sharing the apps you build, and proposing PRs – are essential.
Check it out
The Alloy developer preview is ready for you to try now. You can learn more about it on the Pebble blog. There are tutorials, documentation, and lots of examples to explore. No hardware is required to develop for Alloy: you can start with the Pebble emulator. You don't need to install any software either – you can use CloudPebble in your web browser. CloudPebble's real magic is its web-to-watch feature that installs your app on your wrist.
Embedded JavaScript developer?
If you're already a Moddable SDK developer, you'll find Alloy very familiar. JavaScript is exactly the same. Moddable's Poco renderer and Piu user interface framework are both available. All sensors are available through ECMA-419 Sensor APIs. The high-level network APIs use web standards; the low-level networking APIs use ECMA-419 standards.
Web developer?
If you are a web developer, you'll immediately recognize much of Alloy. It uses the same JavaScript (ES2025, with ES2026 coming soon) as web browsers and Node.js. You can work in TypeScript as well. For networking, you can use both fetch() and WebSocket() APIs. The web's localStorage maintains persistent state, and the usual setTimeout, setInterval, and friends are available. Our Piu UI framework is a bit different from HTML/DOM for efficiency on the watch, but uses familiar concepts including cascading styles.
Pebble developer?
Before Alloy, Pebble apps have been implemented in C. While JavaScript uses C-like syntax, there are differences too. If you're a C developer, Alloy code may look unfamiliar at first. Check out our suite of examples – you may be surprised how much you already understand. There are lots of great resources for learning JavaScript, but they tend to be written for web developers. For an embedded-focused introduction to JavaScript, check out the "JavaScript for Embedded C and C++ Programmers" chapter of our book IoT Development for ESP32 and ESP8266 with JavaScript.