# Pebble Developer Documentation > Official documentation for building apps for Pebble smartwatches. ## Tutorials - [Adding a settings page](https://developer.repebble.com/tutorials/watchface-tutorial/part6.md): How to add a configuration page using Clay so users can customize your watchface's colors and preferences. - [Adding Weather with Open-Meteo](https://developer.repebble.com/tutorials/watchface-tutorial/part4.md): How to fetch weather data from the web using PebbleKit JS and display it on your watchface. - [Adding Weather with Open-Meteo](https://developer.repebble.com/tutorials/alloy-watchface-tutorial/part4.md): How to fetch weather data from the web using fetch() and display it on your watchface. - [Adding Web Content to a Rocky.js JavaScript Watchface (Archived)](https://developer.repebble.com/tutorials/rocky-watchface-tutorial/part2.md): A guide to adding web content to a JavaScript watchface (archived - see Alloy tutorial for current approach) - [Battery Meter and Bluetooth Alerts](https://developer.repebble.com/tutorials/watchface-tutorial/part3.md): How to add a battery level meter and Bluetooth disconnect alerts to your watchface using event services. - [Battery Meter and Connection Alerts](https://developer.repebble.com/tutorials/alloy-watchface-tutorial/part3.md): How to add a battery level meter and connection disconnect alerts to your watchface. - [Build a Watchface in JavaScript using Rocky.js (Archived)](https://developer.repebble.com/tutorials/rocky-watchface-tutorial/part1.md): A guide to making a new Pebble watchface with Rocky.js (archived - see Alloy tutorial for current approach) - [Customizing Your Watchface](https://developer.repebble.com/tutorials/watchface-tutorial/part2.md): How to add custom fonts to give your watchface a unique look. - [Customizing Your Watchface](https://developer.repebble.com/tutorials/alloy-watchface-tutorial/part2.md): How to use a custom font and properly center the layout to give your watchface a unique look. - [Timeline Peek](https://developer.repebble.com/tutorials/watchface-tutorial/part5.md): How to adapt your watchface layout when the screen is partially obstructed by Timeline Quick View. - [Timeline Peek](https://developer.repebble.com/tutorials/alloy-watchface-tutorial/part5.md): How to adapt your watchface layout when the screen is partially obstructed by Timeline Quick View. - [Tutorials](https://developer.repebble.com/tutorials.md): Get started with Pebble development! - [User Settings with localStorage and Clay](https://developer.repebble.com/tutorials/alloy-watchface-tutorial/part6.md): How to persist user preferences using localStorage and add a phone-side settings page with Clay so users can customize their watchface. - [Vector Animations](https://developer.repebble.com/tutorials/advanced/vector-animations.md): How to use vector images in icons and animations. - [Your First Watchface](https://developer.repebble.com/tutorials/watchface-tutorial/part1.md): Learn the basics of creating a Pebble watchface in C, including displaying the time and date. - [Your First Watchface](https://developer.repebble.com/tutorials/alloy-watchface-tutorial/part1.md): Learn the basics of creating a Pebble watchface with Alloy, including displaying the time and date. ## Get the SDK - [Getting Started with SDK 4](https://developer.repebble.com/sdk4/getting-started.md): Details on all the new features and APIs available for use in SDK 4 ### Install - [Installing the Pebble SDK](https://developer.repebble.com/sdk.md): The easiest way to start building a Pebble watchface or app is with CloudPebble - no installation required. ### Changelogs - [Pebble SDK 4.33.1 - Changelog](https://developer.repebble.com/sdk/changelogs/4.33.1.md): Release Date: August 14 2026 — 2026-08-14 - [Pebble SDK 4.33 - Changelog](https://developer.repebble.com/sdk/changelogs/4.33.md): Release Date: August 12 2026 — 2026-08-12 - [Pebble SDK 4.17 - Changelog](https://developer.repebble.com/sdk/changelogs/4.17.md): Release Date: June 23 2026 — 2026-06-23 - [Pebble SDK 4.9.169 - Changelog](https://developer.repebble.com/sdk/changelogs/4.9.169.md): Release Date: May 1 2026 — 2026-05-01 - [Pebble SDK 4.9.148 - Changelog](https://developer.repebble.com/sdk/changelogs/4.9.148.md): Release Date: March 26 2026 — 2026-03-26 - [Pebble SDK 4.9.127 - Changelog](https://developer.repebble.com/sdk/changelogs/4.9.127.md): Release Date: February 20 2026 — 2026-02-20 - [Pebble SDK 4.3 - Changelog](https://developer.repebble.com/sdk/changelogs/4.3.md): Release Date: November 23 2016 — 2016-11-23 - [Pebble SDK 4.2.2 - Changelog](https://developer.repebble.com/sdk/changelogs/4.2.2.md): Release Date: November 2 2016 — 2016-11-02 - [Pebble SDK 4.2.1 - Changelog](https://developer.repebble.com/sdk/changelogs/4.2.1.md): Release Date: October 19 2016 — 2016-10-19 - [Pebble SDK 4.2 - Changelog](https://developer.repebble.com/sdk/changelogs/4.2.md): Release Date: October 18 2016 — 2016-10-18 - [Pebble SDK 4.2-beta5 - Changelog](https://developer.repebble.com/sdk/changelogs/4.2-beta5.md): Release Date: October 14 2016 — 2016-10-14 - [Pebble SDK 4.2-beta4 - Changelog](https://developer.repebble.com/sdk/changelogs/4.2-beta4.md): Release Date: October 12 2016 — 2016-10-12 - [Pebble SDK 4.1.4 - Changelog](https://developer.repebble.com/sdk/changelogs/4.1.4.md): Release Date: October 5 2016 — 2016-10-05 - [Pebble SDK 4.1.2 and 4.1.3 - Changelog](https://developer.repebble.com/sdk/changelogs/4.1.2.md): Release Date: October 4 2016 — 2016-10-04 - [Pebble SDK 4.1.1 - Changelog](https://developer.repebble.com/sdk/changelogs/4.1.1.md): Release Date: September 29 2016 — 2016-09-29 - [Pebble SDK 4.1 - Changelog](https://developer.repebble.com/sdk/changelogs/4.1.md): Release Date: September 27 2016 — 2016-09-27 - [Pebble SDK 4.0.1 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0.1.md): Release Date: September 6 2016 — 2016-09-06 - [Pebble SDK 4.0 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0.md): Release Date: August 30 2016 — 2016-08-30 - [Pebble SDK 4.0-rc20 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0-rc20.md): Release Date: August 29 2016 — 2016-08-29 - [Pebble SDK 4.0-beta17 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0-beta17.md): Release Date: August 16 2016 — 2016-08-16 - [Pebble SDK 4.0-dp3 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0-dp3.md): Release Date: July 6 2016 — 2016-07-06 - [Pebble SDK 3.14 - Changelog](https://developer.repebble.com/sdk/changelogs/3.14.md): Release Date: July 6 2016 — 2016-07-06 - [Pebble SDK 4.0-dp2 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0-dp2.md): Release Date: June 22 2016 — 2016-06-22 - [Pebble SDK 4.0-dp1 - Changelog](https://developer.repebble.com/sdk/changelogs/4.0-dp1.md): Release Date: June 15 2016 — 2016-06-15 - [Pebble SDK 3.13 - Changelog](https://developer.repebble.com/sdk/changelogs/3.13.1.md): Release Date: June 10 2016 — 2016-06-10 - [Pebble SDK 3.13 - Changelog](https://developer.repebble.com/sdk/changelogs/3.13.md): Release Date: June 7 2016 — 2016-06-07 - [Pebble SDK 3.12 and 3.12.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.12.md): Release Date: May 10 2016 — 2016-05-10 - [Pebble SDK 3.11.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.11.1.md): Release Date: April 4 2016 — 2016-04-04 - [Pebble SDK 3.11 - Changelog](https://developer.repebble.com/sdk/changelogs/3.11.md): Release Date: April 4 2016 — 2016-04-04 - [Pebble SDK 3.10.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.10.1.md): Release Date: March 10 2016 — 2016-03-10 - [Pebble SDK 3.10 - Changelog](https://developer.repebble.com/sdk/changelogs/3.10.md): Release Date: March 7 2016 — 2016-03-07 - [Pebble SDK 3.10-beta6 - Changelog](https://developer.repebble.com/sdk/changelogs/3.10-beta6.md): Release Date: March 4 2016 — 2016-03-04 - [Pebble SDK 3.10-beta2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.10-beta2.md): Release Date: February 19 2016 — 2016-02-19 - [Pebble SDK 3.10-beta1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.10-beta1.md): Release Date: February 15 2016 — 2016-02-15 - [Pebble SDK 3.9.2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.9.2.md): Release Date: February 9 2016 — 2016-02-09 - [Pebble SDK 3.9.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.9.1.md): Release Date: February 4 2016 — 2016-02-04 - [Pebble SDK 3.9 - Changelog](https://developer.repebble.com/sdk/changelogs/3.9.md): Release Date: February 3 2016 — 2016-02-03 - [Pebble SDK 3.9-beta8 - Changelog](https://developer.repebble.com/sdk/changelogs/3.9-beta8.md): Release Date: February 1 2016 — 2016-02-01 - [Pebble SDK 3.9-beta7 - Changelog](https://developer.repebble.com/sdk/changelogs/3.9-beta7.md): Release Date: January 29 2016 — 2016-01-29 - [Pebble SDK 3.9-beta5 - Changelog](https://developer.repebble.com/sdk/changelogs/3.9-beta5.md): Release Date: January 19 2016 — 2016-01-19 - [Pebble SDK 3.8.2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.8.2.md): Release Date: December 21 2015 — 2015-12-21 - [Pebble SDK 3.8.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.8.1.md): Release Date: December 16 2015 — 2015-12-16 - [Pebble SDK 3.8 - Changelog](https://developer.repebble.com/sdk/changelogs/3.8.md): Release Date: December 15 2015 — 2015-12-15 - [Pebble SDK 3.8-beta12 - Changelog](https://developer.repebble.com/sdk/changelogs/3.8-beta12.md): Release Date: December 14 2015 — 2015-12-14 - [Pebble SDK 3.8-beta10 - Changelog](https://developer.repebble.com/sdk/changelogs/3.8-beta10.md): Release Date: December 9 2015 — 2015-12-09 - [Pebble SDK 3.8-beta8 - Changelog](https://developer.repebble.com/sdk/changelogs/3.8-beta8.md): Release Date: December 2 2015 — 2015-12-02 - [Pebble SDK 3.7 - Changelog](https://developer.repebble.com/sdk/changelogs/3.7.md): Release Date: November 23 2015 — 2015-11-23 - [Pebble SDK 3.6.2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6.2.md): Release Date: November 4 2015 — 2015-11-04 - [Pebble SDK 3.6 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6.md): Release Date: October 14 2015 — 2015-10-14 - [Pebble SDK 3.6-dp8 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6-dp8.md): Release Date: October 9 2015 — 2015-10-09 - [Pebble SDK 3.6-dp7 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6-dp7.md): Release Date: October 9 2015 — 2015-10-09 - [Pebble SDK 3.6-dp6 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6-dp6.md): Release Date: October 7 2015 — 2015-10-07 - [Pebble SDK 3.6-dp5 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6-dp5.md): Release Date: October 2 2015 — 2015-10-02 - [Pebble SDK 3.6-dp2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.6-dp2.md): Release Date: September 23 2015 — 2015-09-23 - [Pebble SDK 3.4 - Changelog](https://developer.repebble.com/sdk/changelogs/3.4.md): Release Date: September 9 2015 — 2015-09-09 - [Pebble SDK 3.3 - Changelog](https://developer.repebble.com/sdk/changelogs/3.3.md): Release Date: August 19 2015 — 2015-08-19 - [Pebble SDK 3.2.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.2.1.md): Release Date: August 12 2015 — 2015-08-12 - [Pebble SDK 3.2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.2.md): Release Date: July 22 2015 — 2015-07-22 - [Pebble SDK 3.1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.1.md): Release Date: June 30 2015 — 2015-06-30 - [Pebble SDK 3.0 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0.md): Release Date: May 27 2015 — 2015-05-27 - [Pebble SDK 3.0-beta12 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-beta12.md): Release Date: May 17 2015 — 2015-05-17 - [Pebble SDK 3.0-beta11 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-beta11.md): Release Date: May 10 2015 — 2015-05-10 - [Pebble SDK 3.0-beta10 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-beta10.md): Release Date: April 30 2015 — 2015-04-30 - [Pebble SDK 3.0-dp9 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp9.md): Release Date: April 27 2015 — 2015-04-27 - [Pebble SDK 3.0-dp8 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp8.md): Release Date: April 16 2015 — 2015-04-16 - [Pebble SDK 3.0-dp7 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp7.md): Release Date: April 9 2015 — 2015-04-09 - [Pebble SDK 3.0-dp6 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp6.md): Release Date: April 3 2015 — 2015-04-03 - [Pebble SDK 3.0-dp5 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp5.md): Release Date: March 27 2015 — 2015-03-27 - [Pebble SDK 3.0-dp4 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp4.md): Release Date: March 19 2015 — 2015-03-19 - [Pebble SDK 3.0-dp3 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp3.md): Release Date: March 13 2015 — 2015-03-13 - [Pebble SDK 3.0-dp2 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp2.md): Release Date: March 5 2015 — 2015-03-05 - [Pebble SDK 3.0-dp1 - Changelog](https://developer.repebble.com/sdk/changelogs/3.0-dp1.md): Release Date: February 26 2015 — 2015-02-26 - [Pebble SDK 2.9 - Changelog](https://developer.repebble.com/sdk/changelogs/2.9.md): Release Date: February 10 2015 — 2015-02-10 - [Pebble SDK 2.8.1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.8.1.md): Release Date: December 9 2014 — 2014-12-09 - [Pebble SDK 2.8 - Changelog](https://developer.repebble.com/sdk/changelogs/2.8.md): Release Date: November 20 2014 — 2014-11-20 - [Pebble SDK 2.7 - Changelog](https://developer.repebble.com/sdk/changelogs/2.7.md): Release Date: October 16 2014 — 2014-10-16 - [Pebble SDK 2.6.1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.6.1.md): Release Date: October 1 2014 — 2014-10-01 - [Pebble SDK 2.6 - Changelog](https://developer.repebble.com/sdk/changelogs/2.6.md): Release Date: September 30 2014 — 2014-09-30 - [Pebble SDK 2.5 - Changelog](https://developer.repebble.com/sdk/changelogs/2.5.md): Release Date: September 18 2014 — 2014-09-18 - [Pebble SDK 2.4.1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.4.1.md): Release Date: August 12 2014 — 2014-08-12 - [Pebble SDK 2.4 - Changelog](https://developer.repebble.com/sdk/changelogs/2.4.md): Release Date: August 11 2014 — 2014-08-11 - [Pebble SDK 2.3 - Changelog](https://developer.repebble.com/sdk/changelogs/2.3.md): Release Date: June 30 2014 — 2014-06-30 - [Pebble SDK 2.2 - Changelog](https://developer.repebble.com/sdk/changelogs/2.2.md): Release Date: June 4 2014 — 2014-06-04 - [Pebble SDK 2.1.1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.1.1.md): Release Date: May 8 2014 — 2014-05-08 - [Pebble SDK 2.1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.1.md): Release Date: May 6 2014 — 2014-05-06 - [Pebble SDK 2.0.2 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0.2.md): Release Date: March 18 2014 — 2014-03-18 - [Pebble SDK 2.0.1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0.1.md): Release Date: February 20 2014 — 2014-02-20 - [Pebble SDK 2.0.0 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0.0.md): Release Date: February 3 2014 — 2014-02-03 - [Pebble SDK 2.0 BETA7 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA7.md): Release Date: January 23 2014 — 2014-01-23 - [Pebble SDK 2.0 BETA6 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA6.md): Release Date: January 17 2014 — 2014-01-17 - [Pebble SDK 2.0 BETA5 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA5.md): Release Date: January 10 2014 — 2014-01-10 - [Pebble SDK 2.0 BETA4 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA4.md): Release Date: December 23 2013 — 2013-12-23 - [Pebble SDK 2.0 BETA3 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA3.md): Release Date: December 12 2013 — 2013-12-12 - [Pebble SDK 2.0 BETA2 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA2.md): Release Date: November 14 2013 — 2013-11-14 - [Pebble SDK 2.0 BETA1 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA1.md): Release Date: November 6 2013 — 2013-11-06 - [Pebble SDK 2.0 BETA0 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-BETA0.md): Release Date: November 1 2013 — 2013-11-01 - [Pebble SDK 2.0 DP3 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-DP3.md): Release Date: October 21 2013 — 2013-10-21 - [Pebble SDK 2.0 DP2 - Changelog](https://developer.repebble.com/sdk/changelogs/2.0-DP2.md): Release Date: September 24 2013 — 2013-09-24 ## Guides ### Create beautiful and engaging apps - [Animated Images](https://developer.repebble.com/guides/app-resources/animated-images.md): How to add animated image resources to a project in the APNG format, and display them in your app. - [App Assets](https://developer.repebble.com/guides/app-resources/app-assets.md): A collection of assets for use as resources in Pebble apps. - [App Resources](https://developer.repebble.com/guides/app-resources.md): Information on the many kinds of files that can be used inside Pebble apps. - [Converting SVG to PDC](https://developer.repebble.com/guides/app-resources/converting-svg-to-pdc.md): How to create compatible SVG files using Inkscape and Illustrator. - [Fonts](https://developer.repebble.com/guides/app-resources/fonts.md): How to use built-in system fonts, or add your own font resources to a project. - [Images](https://developer.repebble.com/guides/app-resources/images.md): How to add image resources to a project and display them in your app. - [Pebble Draw Command File Format](https://developer.repebble.com/guides/app-resources/pdc-format.md): The binary file format description for Pebble Draw Command Frames, Images and Sequences. - [Platform-specific Resources](https://developer.repebble.com/guides/app-resources/platform-specific.md): How to include different resources for different platforms, as well as how to include a resource only on a particular platform. - [Raw Data Files](https://developer.repebble.com/guides/app-resources/raw-data-files.md): How to add raw data resources to a project and read them in your app. - [System Fonts](https://developer.repebble.com/guides/app-resources/system-fonts.md): A complete list of all the system fonts available for use in Pebble projects. - [Benefits of Design Guidelines](https://developer.repebble.com/guides/design-and-interaction/benefits.md): Learn the main concepts of design guidelines, why they are needed, and how they can help developers. - [Core Experience Design](https://developer.repebble.com/guides/design-and-interaction/core-experience.md): How design guidelines shape the core Pebble app experience. - [One Click Actions](https://developer.repebble.com/guides/design-and-interaction/one-click-actions.md): Details about how to create One Click Action watchapps - [Recommended Guidelines and Patterns](https://developer.repebble.com/guides/design-and-interaction/recommended.md): Pebble's recommended guidelines for creating awesome app experiences. - [Round App Design](https://developer.repebble.com/guides/design-and-interaction/in-the-round.md): Tips and advice for designing apps that take advantage of the Pebble Time Round display - [Example Implementations](https://developer.repebble.com/guides/design-and-interaction/implementation.md): Resources and code samples to implement common design and UI patterns. - [Design and Interaction](https://developer.repebble.com/guides/design-and-interaction.md): How to design apps to maximise engagement, satisfaction, efficiency and overall user experience. - [Animations](https://developer.repebble.com/guides/graphics-and-animations/animations.md): How to use Animations and Timers to add life to your app. - [Drawing Primitives, Images and Text](https://developer.repebble.com/guides/graphics-and-animations/drawing-primitives-images-and-text.md): How to draw primitive shapes, image, and text onto the Graphics Context. - [Framebuffer Graphics](https://developer.repebble.com/guides/graphics-and-animations/framebuffer-graphics.md): How to perform advanced drawing using direct framebuffer access. - [Graphics and Animations](https://developer.repebble.com/guides/graphics-and-animations.md): Information on using animations and drawing shapes, text, and images, as well as more advanced techniques. - [Vector Graphics](https://developer.repebble.com/guides/graphics-and-animations/vector-graphics.md): How to draw simple images using vector images, instead of bitmaps. - [App Configuration](https://developer.repebble.com/guides/user-interfaces/app-configuration.md): How to allow users to customize an app with a configuration page. - [App Exit Reason](https://developer.repebble.com/guides/user-interfaces/app-exit-reason.md): Details on how to use the AppExitReason API - [AppGlance C API](https://developer.repebble.com/guides/user-interfaces/appglance-c.md): How to programatically update an app's app glance. - [AppGlance REST API](https://developer.repebble.com/guides/user-interfaces/appglance-rest.md): How to update an app's app glance using the REST API. - [AppGlance in PebbleKit JS](https://developer.repebble.com/guides/user-interfaces/appglance-pebblekit-js.md): How to update an app's glance using PebbleKit JS. - [Content Size](https://developer.repebble.com/guides/user-interfaces/content-size.md): Details on how to use the ContentSize API to adapt your watchface layout based on user text size preferences. - [Layers](https://developer.repebble.com/guides/user-interfaces/layers.md): How to use standard Layer components to build an app's UI. - [Round App UI](https://developer.repebble.com/guides/user-interfaces/round-app-ui.md): Details on how to use the Pebble SDK to create layouts specifically for round displays. - [Unobstructed Area](https://developer.repebble.com/guides/user-interfaces/unobstructed-area.md): Details on how to use the UnobstructedArea API to adapt your watchface layout when the screen is partially obstructed by a system overlay. - [User Interfaces](https://developer.repebble.com/guides/user-interfaces.md): How to build app user interfaces. Includes information on events, persistent storage, background worker, wakeups and app configuration. ### Create apps that interact with the world - [Getting Started with Alloy](https://developer.repebble.com/guides/alloy/getting-started.md): Learn how to create your first Alloy app for Pebble. - [Port (Custom Drawing)](https://developer.repebble.com/guides/alloy/port-drawing.md): Combine Piu's declarative UI with custom drawing using Port. - [Advanced Networking](https://developer.repebble.com/guides/alloy/advanced-networking.md): Low-level HTTP and WebSocket clients for advanced networking needs. - [Native Functions (FFI)](https://developer.repebble.com/guides/alloy/ffi.md): Call native C functions directly from JavaScript in your Alloy app using the Foreign Function Interface. - [Dictation](https://developer.repebble.com/guides/alloy/dictation.md): Capture speech as text in Alloy apps using the dictation API. - [Wakeups](https://developer.repebble.com/guides/alloy/wakeups.md): Schedule your Alloy app to launch at a future time using wakeups. - [Vibration](https://developer.repebble.com/guides/alloy/vibration.md): Provide haptic feedback in Alloy apps using the vibration motor. - [Device Info and App Events](https://developer.repebble.com/guides/alloy/device-info.md): Query watch and screen properties, respond to app lifecycle events, and control the backlight in Alloy apps. - [Health](https://developer.repebble.com/guides/alloy/health.md): Read steps, sleep, activities and heart rate data from Pebble Health in Alloy apps. - [Piu UI Framework](https://developer.repebble.com/guides/alloy/piu-guide.md): Build declarative user interfaces with the Piu framework. - [Poco Graphics](https://developer.repebble.com/guides/alloy/poco-guide.md): Low-level graphics rendering with the Poco framework. - [Sensors and Input](https://developer.repebble.com/guides/alloy/sensors-and-input.md): Access Pebble sensors and handle button input in Alloy apps. - [Storage](https://developer.repebble.com/guides/alloy/storage.md): Persist data between app launches using localStorage, key-value storage, or files. - [Networking](https://developer.repebble.com/guides/alloy/networking.md): Make HTTP requests and use WebSockets via the phone proxy. - [App Messages](https://developer.repebble.com/guides/alloy/app-messages.md): Send and receive messages between the watch and the phone. - [Watchfaces](https://developer.repebble.com/guides/alloy/watchfaces.md): Build custom watchfaces with Alloy. - [Animations](https://developer.repebble.com/guides/alloy/animations.md): Create smooth animations using Timeline and easing functions. - [Alloy](https://developer.repebble.com/guides/alloy.md): Build Pebble apps using modern JavaScript with the Alloy framework. - [Advanced Communication](https://developer.repebble.com/guides/communication/advanced-communication.md): Details of communication tips and best practices for more advanced scenarios. - [Communication](https://developer.repebble.com/guides/communication.md): How to talk to the phone via PebbleKit with JavaScript and on Android or iOS. - [Datalogging](https://developer.repebble.com/guides/communication/datalogging.md): Information on how to collect data batches using the Datalogging API. - [PebbleKit Android](https://developer.repebble.com/guides/communication/using-pebblekit-android.md): How to use PebbleKit to communicate with a watchapp on Android. - [PebbleKit JS](https://developer.repebble.com/guides/communication/using-pebblekit-js.md): How to use PebbleKit JS to communicate with the connected phone's JS environment. - [PebbleKit iOS](https://developer.repebble.com/guides/communication/using-pebblekit-ios.md): How to use PebbleKit to communicate with a watchapp on iOS. - [Sending and Receiving Data](https://developer.repebble.com/guides/communication/sending-and-receiving-data.md): How to send and receive data between your watchapp and phone. - [Sports API](https://developer.repebble.com/guides/communication/using-the-sports-api.md): How to use the PebbleKit Sports API to integrate your mobile sports app with Pebble. - [Accelerometer](https://developer.repebble.com/guides/events-and-services/accelerometer.md): How to use data and simple tap gestures from the onboard accelerometer. - [Background Worker](https://developer.repebble.com/guides/events-and-services/background-worker.md): Using the Background Worker to do work in the background, such as activity tracking. - [Backlight](https://developer.repebble.com/guides/events-and-services/light.md): How to trigger the backlight, force it on, and - on hardware with an RGB backlight - tint it. - [Buttons](https://developer.repebble.com/guides/events-and-services/buttons.md): How to react to button presses in your app. - [Compass](https://developer.repebble.com/guides/events-and-services/compass.md): How to use data from the Compass API to determine direction. - [Dictation](https://developer.repebble.com/guides/events-and-services/dictation.md): How to use the Dictation API to get voice-to-text input in watchapps. - [Event Services](https://developer.repebble.com/guides/events-and-services/events.md): How to use the various asynchronous event services to power app features. - [Events and Services](https://developer.repebble.com/guides/events-and-services.md): How to get data from the onboard sensors including the accelerometer, compass, and microphone. - [Heart Rate Monitor](https://developer.repebble.com/guides/events-and-services/hrm.md): Information on using the HealthService API to obtain information from the Heart Rate Monitor. - [Pebble Health](https://developer.repebble.com/guides/events-and-services/health.md): Information on using the HealthService API to incorporate multiple types of health data into your apps. - [Persistent Storage](https://developer.repebble.com/guides/events-and-services/persistent-storage.md): Using persistent storage to improve your app's UX. - [Speaker](https://developer.repebble.com/guides/events-and-services/speaker.md): How to play tones, melodies, polyphonic tracks, and PCM streams through the speaker. - [Touch](https://developer.repebble.com/guides/events-and-services/touch.md): How to subscribe to touch events on platforms with a touchscreen. - [Wakeups](https://developer.repebble.com/guides/events-and-services/wakeups.md): Using the Wakeup API to launch an app at some future time. - [Creating Pins](https://developer.repebble.com/guides/pebble-timeline/pin-structure.md): How to create timeline pins with reminders, actions, and layouts. - [Libraries for Pushing Pins](https://developer.repebble.com/guides/pebble-timeline/timeline-libraries.md): A list of libraries available for interacting with the Pebble timeline. - [Local Pins](https://developer.repebble.com/guides/pebble-timeline/timeline-local-pins.md): How to insert pins into the timeline directly from PebbleKit JS, without a web server or timeline API keys. - [Managing Subscriptions](https://developer.repebble.com/guides/pebble-timeline/timeline-js.md): How to integrate the timeline into apps with the PebbleKit JS subscriptions API according to user preferences. - [Pebble Timeline](https://developer.repebble.com/guides/pebble-timeline.md): How to use Pebble timeline to bring timely information to app users outside the app itself via web services. - [Public Web API](https://developer.repebble.com/guides/pebble-timeline/timeline-public.md): How to push Pebble timeline data to an app's users using the public web API. - [Service Architecture](https://developer.repebble.com/guides/pebble-timeline/timeline-architecture.md): Find out what the timeline is, how it works and how developers can take advantage of it in their apps. ### Build, refine, and debug apps - [Best Practices](https://developer.repebble.com/guides/best-practices.md): Information to help optimize apps and ensure a good user experience. - [Building for Every Pebble](https://developer.repebble.com/guides/best-practices/building-for-every-pebble.md): How to write one app compatible with all Pebble smartwatches. - [Conserving Battery Life](https://developer.repebble.com/guides/best-practices/conserving-battery-life.md): How to write an app to consume power as efficiently as possible. - [Modular App Architecture](https://developer.repebble.com/guides/best-practices/modular-app-architecture.md): How to break up a complex app into smaller pieces for managablilty, modularity and reusability. - [Common Runtime Errors](https://developer.repebble.com/guides/debugging/common-runtime-errors.md): Examples of commonly encountered runtime problems that cannot be detected at compile time and can usually be fixed by logical thought and experimentation. - [Common Syntax Errors](https://developer.repebble.com/guides/debugging/common-syntax-errors.md): Details of common problems encountered when writing C apps for Pebble, and how to resolve them. - [Debugging](https://developer.repebble.com/guides/debugging.md): How to find and fix common compilation and runtime problems in apps. - [Debugging Alloy Apps with xsbug](https://developer.repebble.com/guides/debugging/debugging-alloy-with-xsbug.md): Use the xsbug JavaScript debugger to set breakpoints and inspect your Alloy app while it runs on the watch. - [Debugging with App Logs](https://developer.repebble.com/guides/debugging/debugging-with-app-logs.md): How to use the app logs to debug problems with an app, as well as tips on interpreting common run time errors. - [Debugging with GDB](https://developer.repebble.com/guides/debugging/debugging-with-gdb.md): How to use GDB to debug a Pebble app in the emulator. - [Creating Pebble Packages](https://developer.repebble.com/guides/pebble-packages/creating-packages.md): How to create Pebble Packages - [Pebble Packages](https://developer.repebble.com/guides/pebble-packages.md): Details on how to create and use Pebble Packages - [Using Pebble Packages](https://developer.repebble.com/guides/pebble-packages/using-packages.md): How to use Pebble Packages - [App Metadata](https://developer.repebble.com/guides/tools-and-resources/app-metadata.md): Details of the metadata that describes the app, such as its name, resources and capabilities. - [Color Picker Tool](https://developer.repebble.com/guides/tools-and-resources/color-picker.md): Preview all the colors available on Pebble with the associated SDK contants and HTML codes. - [Command Line Tool](https://developer.repebble.com/guides/tools-and-resources/pebble-tool.md): How to use the Pebble command line tool to build, debug, and emulate apps. - [Developer Connection](https://developer.repebble.com/guides/tools-and-resources/developer-connection.md): How to enable and use the Pebble Developer Connection to install and debug apps directly from a computer. - [Getting Started with Pebble Time Round](https://developer.repebble.com/guides/getting-started-pebble-time-round.md): Details on all the new features and APIs available for the Chalk platfom, or Pebble Time Round. - [Hardware Information](https://developer.repebble.com/guides/tools-and-resources/hardware-information.md): Details of the the capabilities of the various Pebble hardware platforms. - [Internationalization](https://developer.repebble.com/guides/tools-and-resources/internationalization.md): How to localize an app to multiple languages. - [Tools and Resources](https://developer.repebble.com/guides/tools-and-resources.md): Information on all the software tools available when writing Pebble apps, as well as other resources. ### Other Guides - [App Configuration (manual setup)](https://developer.repebble.com/guides/user-interfaces/app-configuration-static.md): How to allow users to customize an app with a static configuration page. - [Developer Guides](https://developer.repebble.com/guides.md): Details of all the guides available for use for building watchapps and companion phone apps. - [Guides Table of Contents](https://developer.repebble.com/guides/toc.md): Information on creating apps with JavaScript using the Alloy framework, based on Moddable. ## Documentation ### Rocky.js API - [CanvasRenderingContext2D](https://developer.repebble.com/docs/rockyjs/CanvasRenderingContext2D.md): The CanvasRenderingContext2D interface is used for drawing rectangles, text, images and other objects onto the canvas element. - [console](https://developer.repebble.com/docs/rockyjs/console.md): This provides an interface to the app's debugging console. - [Date](https://developer.repebble.com/docs/rockyjs/Date.md): Creates a JavaScript Date instance that represents a single moment in time. - [rocky](https://developer.repebble.com/docs/rockyjs/rocky.md): Provides an interface for interacting with application context and events. - [Rocky.js API Documentation](https://developer.repebble.com/docs/rockyjs.md): The RockyJS API allows developers to write watchfaces in JavaScript, that are executed via the firmware's JerryScript engine. - [setInterval](https://developer.repebble.com/docs/rockyjs/setInterval.md): Repeatedly calls a function, with a fixed time delay between each call. - [setTimeout](https://developer.repebble.com/docs/rockyjs/setTimeout.md): Calls a function after a specified delay. ### PebbleKit JavaScript - [Pebble](https://developer.repebble.com/docs/pebblekit-js/Pebble.md): The Pebble namespace is where all of the Pebble specific methods and properties exist. - [PebbleKit JavaScript Documentation](https://developer.repebble.com/docs/pebblekit-js.md): PebbleKit JS is a JavaScript component of the Pebble SDK which runs within the Pebble mobile application. ### C SDK - [AccelerometerService](https://developer.repebble.com/docs/c/Foundation/Event_Service/AccelerometerService/index.md): Using the Pebble accelerometer - [ActionBarLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/ActionBarLayer/index.md): Vertical, bar-shaped control widget on the right edge of the window - [ActionMenu](https://developer.repebble.com/docs/c/User_Interface/Window/ActionMenu/index.md): Getter for the label of a given ActionMenuItem. - [AlarmService](https://developer.repebble.com/docs/c/Foundation/Event_Service/AlarmService/index.md): The APIs on this page will only work with SDK 4.9+. - [Alloy](https://developer.repebble.com/docs/c/Foundation/Alloy/index.md): The APIs on this page will only work with SDK 4.9+. - [Animation](https://developer.repebble.com/docs/c/User_Interface/Animation/index.md): Abstract framework to create arbitrary animations - [App](https://developer.repebble.com/docs/c/Foundation/App/index.md): App entry point and event loop. - [App Communication](https://developer.repebble.com/docs/c/Foundation/App_Communication/index.md): API for interacting with the Pebble communication subsystem. - [App Glance](https://developer.repebble.com/docs/c/Foundation/App_Glance/index.md): API for the application to modify its "glance" i.e. - [AppFocusService](https://developer.repebble.com/docs/c/Foundation/Event_Service/AppFocusService/index.md): Handling app focus The AppFocusService allows developers to be notified when their apps become visible on the screen. - [AppMessage](https://developer.repebble.com/docs/c/Foundation/AppMessage/index.md): Bi-directional communication between phone apps and Pebble watchapps - [AppSync](https://developer.repebble.com/docs/c/Foundation/AppSync/index.md): UI synchronization layer for AppMessage - [AppWorker](https://developer.repebble.com/docs/c/Foundation/AppWorker/index.md): Runs in the background, and can communicate with the foreground app. - [BacklightService](https://developer.repebble.com/docs/c/Foundation/Event_Service/BacklightService/index.md): The APIs on this page will only work with SDK 4.9+. - [BatteryStateService](https://developer.repebble.com/docs/c/Foundation/Event_Service/BatteryStateService/index.md): Determines when the battery state changes - [BitmapLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/BitmapLayer/index.md): Layer that displays a bitmap image. - [C SDK Documentation](https://developer.repebble.com/docs/c.md): This is the contents page for the Pebble C SDK. - [Clicks](https://developer.repebble.com/docs/c/User_Interface/Clicks/index.md): Handling button click interactions - [Color Definitions](https://developer.repebble.com/docs/c/Graphics/Graphics_Types/Color_Definitions/index.md): A list of all of the named colors available with links to the color map on the Pebble Developer website. - [CompassService](https://developer.repebble.com/docs/c/Foundation/Event_Service/CompassService/index.md): The Compass Service combines information from Pebble's accelerometer and magnetometer to automatically calibrate the compass and transfor... - [ConnectionService](https://developer.repebble.com/docs/c/Foundation/Event_Service/ConnectionService/index.md): Determine what the Pebble watch is connected to - [DataLogging](https://developer.repebble.com/docs/c/Foundation/DataLogging/index.md): Enables logging data asynchronously to a mobile app - [Dictation](https://developer.repebble.com/docs/c/Foundation/Dictation/index.md): Create a dictation session. - [Dictionary](https://developer.repebble.com/docs/c/Foundation/Dictionary/index.md): Data serialization utilities - [Draw Commands](https://developer.repebble.com/docs/c/Graphics/Draw_Commands/index.md): Pebble Draw Commands are a way to encode arbitrary path draw and fill calls in binary format, so that vector-like graphics can be represe... - [Drawing Paths](https://developer.repebble.com/docs/c/Graphics/Drawing_Paths/index.md): Functions to draw polygons into a graphics context - [Drawing Primitives](https://developer.repebble.com/docs/c/Graphics/Drawing_Primitives/index.md): Functions to draw into a graphics context - [Drawing Text](https://developer.repebble.com/docs/c/Graphics/Drawing_Text/index.md): Functions to draw text into a graphics context - [Event Service](https://developer.repebble.com/docs/c/Foundation/Event_Service/index.md): APIs to handle event services. - [Exit Reason](https://developer.repebble.com/docs/c/Foundation/Exit_Reason/index.md): API for the application to notify the system of the reason it will exit. - [File Formats](https://developer.repebble.com/docs/c/Foundation/Resources/File_Formats/index.md):   - [Fonts](https://developer.repebble.com/docs/c/Graphics/Fonts/index.md): Custom and system fonts. - [Format](https://developer.repebble.com/docs/c/Standard_C/Format/index.md): Standard formatting. - [Foundation](https://developer.repebble.com/docs/c/Foundation/index.md): The core of the Pebble SDK. - [Gesture Recognizers](https://developer.repebble.com/docs/c/User_Interface/Gesture_Recognizers/index.md): The APIs on this page will only work with SDK 4.9+. - [Graphics](https://developer.repebble.com/docs/c/Graphics/index.md): Low-level drawing routines. - [Graphics Context](https://developer.repebble.com/docs/c/Graphics/Graphics_Context/index.md): The "canvas" into which an application draws - [Graphics Types](https://developer.repebble.com/docs/c/Graphics/Graphics_Types/index.md): Basic graphics types (point, rect, size, color, bitmaps, etc.) and utility functions. - [HealthService](https://developer.repebble.com/docs/c/Foundation/Event_Service/HealthService/index.md): Get access to health information like step count, sleep totals, etc. - [Internationalization](https://developer.repebble.com/docs/c/Foundation/Internationalization/index.md): Internationalization & Localization APIs - [Launch Reason](https://developer.repebble.com/docs/c/Foundation/Launch_Reason/index.md): API for checking what caused the application to launch. - [Layers](https://developer.repebble.com/docs/c/User_Interface/Layers/index.md): User interface layers for displaying graphic components - [Light](https://developer.repebble.com/docs/c/User_Interface/Light/index.md): Controlling Pebble's backlight - [Locale](https://developer.repebble.com/docs/c/Standard_C/Locale/index.md): Standard locale functions. - [Logging](https://developer.repebble.com/docs/c/Foundation/Logging/index.md): Functions related to logging from apps. - [Math](https://developer.repebble.com/docs/c/Foundation/Math/index.md): Math routines. - [Math](https://developer.repebble.com/docs/c/Standard_C/Math/index.md): Standard math functions. - [Memory](https://developer.repebble.com/docs/c/Standard_C/Memory/index.md): Standard memory functions. - [Memory Management](https://developer.repebble.com/docs/c/Foundation/Memory_Management/index.md): Utility functions for managing an application's memory. - [MenuLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/MenuLayer/index.md): Layer that displays a standard list menu. - [NumberWindow](https://developer.repebble.com/docs/c/User_Interface/Window/NumberWindow/index.md): A ready-made Window prompting the user to pick a number - [PBI File Format](https://developer.repebble.com/docs/c/Foundation/Resources/File_Formats/PBI_File_Format/index.md): PBIs are uncompressed bitmap images with support for color-mapping palettes. - [Platform](https://developer.repebble.com/docs/c/Foundation/Platform/index.md) - [PNG8 File Format](https://developer.repebble.com/docs/c/Foundation/Resources/File_Formats/PNG8_File_Format/index.md): Pebble supports both a PBIs (uncompressed bitmap images) as well as PNG8 images. - [Preferences](https://developer.repebble.com/docs/c/User_Interface/Preferences/index.md): Values recommended by the system - [PropertyAnimation](https://developer.repebble.com/docs/c/User_Interface/Animation/PropertyAnimation/index.md): A ProperyAnimation animates the value of a "property" of a "subject" over time. - [Resources](https://developer.repebble.com/docs/c/Foundation/Resources/index.md): Managing application resources - [RotBitmapLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/RotBitmapLayer/index.md): Layer that displays a rotated bitmap image. - [ScrollLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/ScrollLayer/index.md): Layer that scrolls its contents, animated. - [SimpleMenuLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/SimpleMenuLayer/index.md): Wrapper around MenuLayer, that uses static data to display a list menu. - [Speaker](https://developer.repebble.com/docs/c/User_Interface/Speaker/index.md): The APIs on this page will only work with SDK 4.9+. - [Standard C](https://developer.repebble.com/docs/c/Standard_C/index.md): Standard C types, functions, constants, etc. - [StatusBarLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/StatusBarLayer/index.md): Layer that serves as a configurable status bar. - [Storage](https://developer.repebble.com/docs/c/Foundation/Storage/index.md): A mechanism to store persistent application data and state - [String](https://developer.repebble.com/docs/c/Standard_C/String/index.md): Standard C-string manipulation. - [TextLayer](https://developer.repebble.com/docs/c/User_Interface/Layers/TextLayer/index.md): Layer that displays and formats a text string. - [TickTimerService](https://developer.repebble.com/docs/c/Foundation/Event_Service/TickTimerService/index.md): Handling time components - [Time](https://developer.repebble.com/docs/c/Standard_C/Time/index.md): Standard system time functions - [Timer](https://developer.repebble.com/docs/c/Foundation/Timer/index.md): Can be used to execute some code at some point in the future. - [TouchService](https://developer.repebble.com/docs/c/Foundation/Event_Service/TouchService/index.md): The APIs on this page will only work with SDK 4.9+. - [UnobstructedArea](https://developer.repebble.com/docs/c/User_Interface/UnobstructedArea/index.md): Events about when the app's unobstructed area changes for visually adapting - [User Interface](https://developer.repebble.com/docs/c/User_Interface/index.md): Everything related to user interface. - [UUID](https://developer.repebble.com/docs/c/Foundation/DataStructures/UUID/index.md): Compares two UUIDs. - [Vibes](https://developer.repebble.com/docs/c/User_Interface/Vibes/index.md): Controlling the vibration motor - [Wakeup](https://developer.repebble.com/docs/c/Foundation/Wakeup/index.md): Allows applications to schedule to be launched even if they are not running. - [Wall Time](https://developer.repebble.com/docs/c/Foundation/Wall_Time/index.md): Functions, data structures and other things related to wall clock time. - [WatchInfo](https://developer.repebble.com/docs/c/Foundation/WatchInfo/index.md): Provides information about the watch itself. - [Window](https://developer.repebble.com/docs/c/User_Interface/Window/index.md): The basic building block of the user interface - [Window Stack](https://developer.repebble.com/docs/c/User_Interface/Window_Stack/index.md): The multiple window manager - [Worker](https://developer.repebble.com/docs/c/Worker/index.md): The event loop for workers, to be used in worker's main(). ### PebbleKit iOS - [FirmwareMetadataPlatform Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/FirmwareMetadataPlatform.md): Values specifying the Pebble hardware platform variant. - [GolfAppCommand Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/GolfAppCommand.md): The command IDs that can be sent back by the Golf watch app. - [NSData(Pebble) Category Reference](https://developer.repebble.com/docs/pebblekit-ios/Categories/NSData+Pebble.md): Interprets the receiver as Pebble dict data and deserializes it into an NSDictionary. - [NSDictionary(Pebble) Category Reference](https://developer.repebble.com/docs/pebblekit-ios/Categories/NSDictionary+Pebble.md): Serializes the receiver into a Pebble dict. - [NSError(Pebble) Category Reference](https://developer.repebble.com/docs/pebblekit-ios/Categories/NSError+Pebble.md): Convenience method to create an NSError object with error domain and a given PBErrorCode and with an underlying NSError object. - [NSNumber(PBStandardIntegerExtensions) Category Reference](https://developer.repebble.com/docs/pebblekit-ios/Categories/NSNumber+PBStandardIntegerExtensions.md): This category exposes the capabilities the underlying CFNumber to explicitely store the signedness and the width of the storage. - [PBBitmap Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBBitmap.md): Helper class to convert a UIImage to Pebble bitmap pixel data and GBitmap metadata. - [PBDataLoggingService Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBDataLoggingService.md): The data logging service. - [PBDataLoggingServiceDelegate Protocol Reference](https://developer.repebble.com/docs/pebblekit-ios/Protocols/PBDataLoggingServiceDelegate.md): Data logging delegate protocol. - [PBDataLoggingSessionMetadata Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBDataLoggingSessionMetadata.md): The metadata of a data logging session. - [PBDataLoggingType Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/PBDataLoggingType.md): Data logging datatypes. - [PBErrorCode Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/PBErrorCode.md): PebbleKit Error codes. - [PBFirmwareMetadata Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBFirmwareMetadata.md): Metainformation about a firmware running in a watch. - [PBFirmwareVersion Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBFirmwareVersion.md): PBFirmwareVersion is a helper class that is able to parse the versionTag string into its components (major, minor, revision, suffix) and ... - [PBPebbleCentral Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBPebbleCentral.md): PebbleCentral plays the central role for client iOS apps (e.g. - [PBPebbleCentralDelegate Protocol Reference](https://developer.repebble.com/docs/pebblekit-ios/Protocols/PBPebbleCentralDelegate.md): The Pebble Central responsible for calling the delegate method. - [PBPebbleKitLogFlag Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/PBPebbleKitLogFlag.md): Declared In PBLog+Public.h. - [PBPebbleKitLogging Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBPebbleKitLogging.md): Every log produced by PebbleKit will be sent through this type. - [PBPebbleKitLoggingCallback Block Reference](https://developer.repebble.com/docs/pebblekit-ios/Blocks/PBPebbleKitLoggingCallback.md): A logging callback invoked whenever PebbleKit wants to add some message to the log. - [PBPebbleKitLogLevel Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/PBPebbleKitLogLevel.md): Declared In PBLog+Public.h. - [PBRemoteProtocolCapabilitiesFlags Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/PBRemoteProtocolCapabilitiesFlags.md): Declared In PBVersionInfo.h. - [PBResourceMetadata Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBResourceMetadata.md): Instances of PBResourceMetadata describe (system) resources. - [PBSemanticVersion Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBSemanticVersion.md): A version number that follows the rules of semantic versioning. - [PBSportsUpdate Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBSportsUpdate.md): Packages a UI update of the sports app. - [PBUnitSystem Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/PBUnitSystem.md): The unit system available for the Sports app. - [PBVersionInfo Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBVersionInfo.md): An instance of PBVersionInfo describes all the different system software (Pebble OS) on a Pebble watch and other auxiliary information. - [PBVersionInfoCompletionBlock Block Reference](https://developer.repebble.com/docs/pebblekit-ios/Blocks/PBVersionInfoCompletionBlock.md) - [PBWatch Class Reference](https://developer.repebble.com/docs/pebblekit-ios/Classes/PBWatch.md): Represents a Pebble watch. - [PBWatchDelegate Protocol Reference](https://developer.repebble.com/docs/pebblekit-ios/Protocols/PBWatchDelegate.md): Called when the watch got disconnected. - [PebbleKit iOS Documentation](https://developer.repebble.com/docs/pebblekit-ios.md): Important: PebbleKit iOS has been discontinued. - [PebbleKit iOS Hierarchy](https://developer.repebble.com/docs/pebblekit-ios/hierarchy.md) - [PebbleKit iOS Reference](https://developer.repebble.com/docs/pebblekit-ios/index.md) - [SportsAppActivityState Constants Reference](https://developer.repebble.com/docs/pebblekit-ios/Constants/SportsAppActivityState.md): The state of the Sports activity. ### PebbleKit Android - [com.getpebble.android.kit](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit.md) - [com.getpebble.android.kit.util](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util.md) - [Constant Values](https://developer.repebble.com/docs/pebblekit-android/com/constant-values.md) - [Constants](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/Constants.md) - [Constants.PebbleAppType](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/Constants.PebbleAppType.md) - [Constants.PebbleDataType](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/Constants.PebbleDataType.md) - [PebbleDictionary](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util/PebbleDictionary.md) - [PebbleDictionary.PebbleDictTypeException](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util/PebbleDictionary.PebbleDictTypeException.md) - [PebbleDictionary.TupleOverflowException](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util/PebbleDictionary.TupleOverflowException.md) - [PebbleKit](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/PebbleKit.md) - [PebbleKit Android Documentation](https://developer.repebble.com/docs/pebblekit-android.md): This is the contents page for the PebbleKit Android SDK documentation, which includes all information on the two main packages below: - [PebbleKit.FirmwareVersionInfo](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/PebbleKit.FirmwareVersionInfo.md) - [PebbleKit.PebbleAckReceiver](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/PebbleKit.PebbleAckReceiver.md) - [PebbleKit.PebbleDataLogReceiver](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/PebbleKit.PebbleDataLogReceiver.md) - [PebbleKit.PebbleDataReceiver](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/PebbleKit.PebbleDataReceiver.md) - [PebbleKit.PebbleNackReceiver](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/PebbleKit.PebbleNackReceiver.md) - [PebbleTuple](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util/PebbleTuple.md) - [PebbleTuple.ValueOverflowException](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util/PebbleTuple.ValueOverflowException.md) - [Serialized Form](https://developer.repebble.com/docs/pebblekit-android/com/serialized-form.md) - [SportsState](https://developer.repebble.com/docs/pebblekit-android/com/getpebble/android/kit/util/SportsState.md) ### Other - [SDK Documentation](https://developer.repebble.com/docs.md): Welcome to the API Documentation section of the Pebble Developers site! - [symbols](https://developer.repebble.com/docs/symbols.md): The core of the Pebble SDK. - [tree](https://developer.repebble.com/docs/tree.md) ## Examples - [examples](https://developer.repebble.com/examples.md): There are no examples that match the filters on the right. ## Community - [American Airlines Hackathon](https://developer.repebble.com/community/events/aahackathon.md): Welcome to the American Airlines / Gogo in flight / Wearable World Hackathon! - [Community](https://developer.repebble.com/community.md): Have questions or need help? - [Submission Guidelines](https://developer.repebble.com/community/submission.md): We are putting together a collection of community resources for a new section on the Pebble Developer Website, and we need your contribut... - [XDA FORUMS - PEBBLE DEVELOPER CHALLENGE](https://developer.repebble.com/xda-challenge/official-rules.md): To register for the XDA FORUMS-PEBBLE DEVELOPER CHALLENGE ("Challenge"), participants must be individuals who are not residents of, or or... ### Events - [Developer Retreat 2014](https://developer.repebble.com/community/events/developer-retreat-2014.md): Here is the recap of Pebble’s second annual Developer Retreat! - [Developer Retreat 2014 Schedule](https://developer.repebble.com/community/events/developer-retreat-2014/detailed-schedule.md): Eric Migicovsky & Thomas Sarlandie will do a introduction presentation, featuring: - [Developer Retreat 2015](https://developer.repebble.com/community/events/developer-retreat-2015.md): Now that the dust has settled from Pebble’s third annual Developer Retreat, it's time to recap! - [Developer Retreat 2015 Detailed Schedule](https://developer.repebble.com/community/events/developer-retreat-2015/detailed-schedule.md): This is an updated schedule as of October 5th. - [Events](https://developer.repebble.com/community/events.md): Submit an Event ### Online - [Online Pebble Communities](https://developer.repebble.com/community/online.md): We have loads of online communities where you can interact with other Pebble developers, get help with your apps or just hang out and chat. ### Community Tools - [Badge Generator](https://developer.repebble.com/community/tools/badge-generator.md): Generate cool badges for your Pebble app that show off how many people love your watchapp or watchface. - [Developer Tools](https://developer.repebble.com/community/tools.md) - [Gpath Svg](https://developer.repebble.com/community/tools/gpath-svg.md): SVG to Pebble GPath Converter - [Pbuild](https://developer.repebble.com/community/tools/pbuild.md): pBuild is a open source Travis CI build tool for Pebble SDK. - [Sublime Text Package](https://developer.repebble.com/community/tools/sublime-text-package.md): Sublime Text plugin with SDK completions and commands. ### Community Apps - [Caltrain](https://developer.repebble.com/community/apps/caltrain.md): Caltrain is a Pebble app that displays upcoming trains at a station, and where those trains will stop along the remainder of each of thei... - [Example Apps](https://developer.repebble.com/community/apps.md) - [Hello](https://developer.repebble.com/community/apps/Hello.md): Hello demonstrates a fairly complete Pebble watch app appMessage implementation including error handling. - [Heroboard](https://developer.repebble.com/community/apps/heroboard.md): Guitar Hero-based keyboard for Pebble - [Multi Timer](https://developer.repebble.com/community/apps/multi-timer.md): Multi Timer is a Pebble watchapp that allows you to run several timers and stopwatches simultaneously. - [Resistor Time](https://developer.repebble.com/community/apps/resistor-time.md): This shows the current time as a resistor with the color code matching the time of day in 24-hour time. ### Community Libraries - [Color Select Lib](https://developer.repebble.com/community/libraries/color-select-lib.md): This library opens a seperate window for color selections. - [Custom Status Bar For Pebble](https://developer.repebble.com/community/libraries/custom-status-bar-for-pebble.md): A plug and play custom status bar implementation for pebble apps and watch faces. - [Effect Layer](https://developer.repebble.com/community/libraries/effect-layer.md): EffectLayer is a visual effect layer for Pebble Smartwatch. - [Gbitmap Colour Palette Manipulator](https://developer.repebble.com/community/libraries/gbitmap-colour-palette-manipulator.md): This library was created in order to manipulate the color palettes of gbitmaps at runtime. - [Java Pebble Timeline](https://developer.repebble.com/community/libraries/java-pebble-timeline.md): This is a Java library for the Pebble timeline API. - [Js Message Queue](https://developer.repebble.com/community/libraries/js-message-queue.md): PebbleKitJS library for sending messages to your Pebble app. - [Libraries](https://developer.repebble.com/community/libraries.md) - [Pebble Api Php](https://developer.repebble.com/community/libraries/pebble-api-php.md): Library for interacting with Pebble Timeline Pin from a server running php. - [Pebble Timeline Api Ruby](https://developer.repebble.com/community/libraries/pebble-timeline-api-ruby.md): A Ruby wrapper for the Pebble Timeline API - [Php Pebble Timeline](https://developer.repebble.com/community/libraries/php-pebble-timeline.md): PHPebbleTimeline is a library for making use the Timeline API through PHP. - [Php Timeline Pinpusher](https://developer.repebble.com/community/libraries/php-timeline-pinpusher.md): PinPusher is a simple Pebble Timeline Pin API wrapper for PHP, with full support for all of the Pebble Timeline API options. - [Pypebbleapi](https://developer.repebble.com/community/libraries/pypebbleapi.md): Python library to interact with the Pebble Timeline APIs. - [Simple Dithering Library](https://developer.repebble.com/community/libraries/simple-dithering-library.md): UPDATE - June 17, 2015 - [T3 Keyboard](https://developer.repebble.com/community/libraries/t3-keyboard.md): The T3 Keyboard provides a fast and intuitive method for textual input on the Pebble smartwatch. - [Toastlayer](https://developer.repebble.com/community/libraries/toastlayer.md): ToastLayer UI element for showing a time-limited notification within your app. ## Blog - [Blog](https://developer.repebble.com/blog.md): Jon Barlow · Freshly Baked - [Pebble Developer Blog: #makeawesomehappen](https://developer.repebble.com/blog/tags/makeawesomehappen/index.md): Team Pebble · #makeawesomehappen, Timeline - [Pebble Developer Blog: Alex Lin](https://developer.repebble.com/blog/authors/alex/index.md): Alex Lin · Freshly Baked - [Pebble Developer Blog: Alexey Komissarouk](https://developer.repebble.com/blog/authors/alexey/index.md): Alexey Komissarouk · #makeawesomehappen - [Pebble Developer Blog: At the Pub](https://developer.repebble.com/blog/tags/at-the-pub/index.md): Team Pebble · At the Pub - [Pebble Developer Blog: Beautiful Code](https://developer.repebble.com/blog/tags/beautiful-code/index.md): Cat Haines · Freshly Baked, Beautiful Code - [Pebble Developer Blog: Brad Murray](https://developer.repebble.com/blog/authors/brad/index.md): Brad Murray · Down the Rabbit Hole - [Pebble Developer Blog: Cat Haines](https://developer.repebble.com/blog/authors/cat/index.md): Cat Haines · Freshly Baked - [Pebble Developer Blog: Cherie Williams](https://developer.repebble.com/blog/authors/cherie/index.md): Cherie Williams · Freshly Baked - [Pebble Developer Blog: Chris Lewis](https://developer.repebble.com/blog/authors/chrislewis/index.md): Chris Lewis · Freshly Baked - [Pebble Developer Blog: CloudPebble](https://developer.repebble.com/blog/tags/cloudpebble/index.md): Katharine Berry · CloudPebble, Freshly Baked - [Pebble Developer Blog: Down the Rabbit Hole](https://developer.repebble.com/blog/tags/down-the-rabbit-hole/index.md): Katharine Berry · Down the Rabbit Hole - [Pebble Developer Blog: Freshly Baked](https://developer.repebble.com/blog/tags/freshly-baked/index.md): Jon Barlow · Freshly Baked - [Pebble Developer Blog: Jon Barlow](https://developer.repebble.com/blog/authors/jonb/index.md): Jon Barlow · Freshly Baked - [Pebble Developer Blog: Katharine Berry](https://developer.repebble.com/blog/authors/katharine/index.md): Katharine Berry · Freshly Baked - [Pebble Developer Blog: Katherine McAuliffe](https://developer.repebble.com/blog/authors/katherine/index.md): Katherine McAuliffe · At the Pub - [Pebble Developer Blog: Keegan Lillo](https://developer.repebble.com/blog/authors/keegan/index.md): Keegan Lillo · Freshly Baked - [Pebble Developer Blog: Kirby Kohlmorgen](https://developer.repebble.com/blog/authors/kirby/index.md): Kirby Kohlmorgen · Timeline - [Pebble Developer Blog: Meiguro](https://developer.repebble.com/blog/authors/meiguro/index.md): Meiguro · Freshly Baked - [Pebble Developer Blog: Niharika Bedekar](https://developer.repebble.com/blog/authors/niharika/index.md): Niharika Bedekar · At the Pub - [Pebble Developer Blog: Ryan Case](https://developer.repebble.com/blog/authors/ryan/index.md): Ryan Case · Freshly Baked - [Pebble Developer Blog: Ryan Perry-Nguyen](https://developer.repebble.com/blog/authors/rperryng/index.md): Ryan Perry-Nguyen · Freshly Baked - [Pebble Developer Blog: Team Pebble](https://developer.repebble.com/blog/authors/pebble/index.md): Team Pebble · At the Pub - [Pebble Developer Blog: Thomas Sarlandie](https://developer.repebble.com/blog/authors/thomas/index.md): Thomas Sarlandie · Freshly Baked - [Pebble Developer Blog: Timeline](https://developer.repebble.com/blog/tags/timeline/index.md): Niharika Bedekar · Timeline - [Pebble Developer Blog: Tom Maremaa](https://developer.repebble.com/blog/authors/tom/index.md): Tom Maremaa · At the Pub - [Pebble Developer Blog: Łukasz Zalewski](https://developer.repebble.com/blog/authors/lukasz/index.md): Łukasz Zalewski · Beautiful Code ### Posts - [Pebble.js - Pebble Package Edition!](https://developer.repebble.com/blog/2016/12/22/pebblejs-package.md): We're pleased to announce that Pebble.js has now been published as a Pebble Package. — 2016-12-22 - [Announcing Pebble SDK 4.3](https://developer.repebble.com/blog/2016/11/23/Announcing-Pebble-SDK-4.3.md): Things have been a bit 'quiet' recently, but we're back with another fresh Pebble SDK! — 2016-11-23 - [4.2-beta4 SDK - Emery Edition!](https://developer.repebble.com/blog/2016/10/11/Emery-SDK-Beta.md): We're incredibly excited to announce the first public beta of the Pebble SDK 4.2. — 2016-10-11 - [Ready for Pebble 2](https://developer.repebble.com/blog/2016/10/04/ready-for-pebble-2.md): The latest 4.1 releases of the firmware, mobile apps and SDK bring support for the new Pebble 2 smartwatches, which have started appearin... — 2016-10-04 - [Timeline - The Future of the Past!](https://developer.repebble.com/blog/2016/09/06/timeline-the-future-of-the-past.md): If you’ve been living under a rock, or have just been sunning yourself on the beach for the past week, you might have missed the launch o... — 2016-09-06 - [Announcing Pebble SDK 4.0](https://developer.repebble.com/blog/2016/08/30/announcing-pebble-sdk4.md): Today we have the pleasure of announcing the release of Pebble SDK 4.0. — 2016-08-30 - [Prime Time is Approaching for OS 4.0](https://developer.repebble.com/blog/2016/08/19/prime-time-is-approaching-for-os-4.0.md): Pebble developers of the world unite! — 2016-08-19 - [Introducing Rocky.js Watchfaces!](https://developer.repebble.com/blog/2016/08/15/introducing-rockyjs-watchfaces.md): We're incredibly excited and proud to announce the first public beta version of Rocky.js watchfaces for Pebble. — 2016-08-15 - [Creating Native Companion Apps with JS and Cordova](https://developer.repebble.com/blog/2016/07/01/creating-native-companion-apps-with-js-and-cordova.md): Creating companion apps using PebbleKit Android and PebbleKit iOS is a great way to extend the functionality of your Pebble watchfaces an... — 2016-07-01 - [Introducing Clay - App configuration made easy](https://developer.repebble.com/blog/2016/06/24/introducing-clay.md): It is with great pleasure that I present to you, Clay, a Pebble package that makes it easy to add offline configuration pages to your Peb... — 2016-06-24 - [A Wild SDK Appears](https://developer.repebble.com/blog/2016/06/15/sdk4-preview.md): Developers rejoice - we’ve released the first version of our SDK 4 developer preview! — 2016-06-15 - [Introducing Pebble Packages](https://developer.repebble.com/blog/2016/06/07/pebble-packages.md): I am thrilled to announce that, as part of SDK 3.13 and Pebble Tool 4.3, we have launched our own packaging system: Pebble Packages! — 2016-06-07 - [Time to Expand Our Core Business!!](https://developer.repebble.com/blog/2016/05/24/Kickstarter-3.md): You might have noticed a bit of a buzz around Pebble today - we have officially launched our third Kickstarter campaign, and it is jam pa... — 2016-05-24 - [Guest Blog Post - PAL Smartstrap](https://developer.repebble.com/blog/2016/05/18/PAL-Smartstrap.md): This is a guest blog post from Powerstrap, the team behind Pal, a GPS and battery extending smartstrap that launched on Kickstarter this ... — 2016-05-18 - [Pebble.js Support for Chalk!](https://developer.repebble.com/blog/2016/05/16/Pebble-JS-Round.md): After many morning coding sessions on the weekends, Pebble.js has been updated to support the Chalk platform (Pebble Time Round). — 2016-05-16 - [Guest Blog Post - Learning C with Pebble, The Book](https://developer.repebble.com/blog/2016/05/11/Learning-C-with-Pebble-The-Book.md): This is a guest blog post from Mike Jipping, professor of Computer Science at Hope College (Michigan, USA), who has been writing an open ... — 2016-05-11 - [Guest Blog Post - Pebble Powered Instruments at GrizzHacks](https://developer.repebble.com/blog/2016/04/27/jeremy-karbowski-grizzhacks.md): This is a guest blog post from Jeremy Karbowski, who created a theremin-like gesture based instrument for the Pebble smartwatch at GrizzH... — 2016-04-27 - [Guest Blog Post - Introducing KiezelPay!](https://developer.repebble.com/blog/2016/04/06/KiezelPay.md): This is a guest blog post from Kiezel's Kristof (in Belgium) and Jaron (in the US), who recently opened their KiezelPay payments platform... — 2016-04-06 - [Developer Relations Team Update](https://developer.repebble.com/blog/2016/03/29/developer-relations-team-update.md): If you have been following Pebble in the news, you have likely seen that there have been some recent changes to the Pebble Team. — 2016-03-29 - [Don't Panic - We're Here to Guide You](https://developer.repebble.com/blog/2016/03/09/Dont-Panic-We-Are-Here-To-Guide-You.md) — 2016-03-09 - [Take the Pebble Health API in your Stride](https://developer.repebble.com/blog/2016/03/07/Take-the-Pebble-Health-API-in-your-Stride.md): I've been desperate to write a blog post about the Pebble HealthService API since it's initial release last month, and now I can finally ... — 2016-03-07 - [Introducing App Debugging](https://developer.repebble.com/blog/2016/02/29/introducing-app-debugging.md): Happy leap day! — 2016-02-29 - [Guest Post - My Experience with Paid Apps](https://developer.repebble.com/blog/2016/02/26/mathew-reiss-paid-apps.md): This is a guest post by Mathew Reiss, developer of countless Pebble apps including Snowy and Yahoo! — 2016-02-26 - [JavaScript Libraries for C Developers (pt. 1)](https://developer.repebble.com/blog/2016/02/19/JavaScript-Libraries-for-C-Developers-pt-1.md): One of the exciting changes introduced in SDK 3.9 was support for including Multiple JavaScript Files to your projects. — 2016-02-19 - [Hands-on with the RePhone smartstrap kit for Pebble Time](https://developer.repebble.com/blog/2016/02/09/Hands-on-with-the-RePhone-smartstrap-kit-for-Pebble-Time.md): For those that don’t already know, the RePhone smartstrap kit was part of a highly successful Kickstarter campaign by Seeed Studio to cre... — 2016-02-09 - [Multiple JavaScript Files](https://developer.repebble.com/blog/2016/01/29/Multiple-JavaScript-Files.md): In SDK 3.9 we will introduce a new feature to the Pebble SDK: the ability to cleanly use multiple JavaScript files in the PebbleKit JS ap... — 2016-01-29 - [Guest Post - Beating Traffic with Clouds and Pebbles](https://developer.repebble.com/blog/2016/01/26/Guest-Dries-Oeyen-Commute.md): This is a guest post by Dries Oeyen, developer of the Pebble app Commute and Rockstar of Belgium's Pebble Developer Meetup, PebbleBelgium. — 2016-01-26 - [Bringing the Family Back Together - 3.x on Aplite is Almost Here!](https://developer.repebble.com/blog/2015/12/02/Bringing-the-Family-Back-Together.md) — 2015-12-02 - [Unifying bitmap resources](https://developer.repebble.com/blog/2015/12/02/Bitmap-Resources.md): With the upcoming release of firmware 3.8 on Pebble and Pebble Steel, and the associated SDK 3.8, we have decided to redesign how image r... — 2015-12-02 - [Introducing Pebble Tool 4.0](https://developer.repebble.com/blog/2015/12/01/A-New-Pebble-Tool.md): I am pleased to today announce that version 4.0-rc4 of the pebble tool is now available. — 2015-12-01 - [Nuance Brings Pebble The Freedom Of Speech](https://developer.repebble.com/blog/2015/11/10/Nuance-Brings-Pebble-The-Freedom-Of-Speech.md): In October, we gave developers access to the microphone in the Pebble Time via our new Dictation API, and almost instantly we began seein... — 2015-11-10 - [Migrating to Pebblekit iOS 3.0](https://developer.repebble.com/blog/2015/10/29/ios-migration.md) — 2015-10-29 - [Pebble Time Round SDK - Developer Preview 2](https://developer.repebble.com/blog/2015/09/23/Pebble-Time-Round-SDK-Developer-Preview-2.md) — 2015-09-23 - [5 Bits from Pebble Rocks Boulder](https://developer.repebble.com/blog/2015/09/11/boulder-hackathon.md) — 2015-09-11 - [Guest Post - A Reflection on a Pebble Hackathon](https://developer.repebble.com/blog/2015/08/24/time-to-code-hackathon.md) — 2015-08-24 - [Pebble Timeline Challenge Week 12 Winner - TV Shows!](https://developer.repebble.com/blog/2015/07/24/timeline-challenge-week-twelve.md) — 2015-07-24 - [Pebble Timeline Challenge Week 11 Winner - WatchPop!](https://developer.repebble.com/blog/2015/07/17/timeline-challenge-week-eleven.md) — 2015-07-17 - [Pebble Timeline Challenge Week 10 Winner - 8-A-Day!](https://developer.repebble.com/blog/2015/07/09/timeline-challenge-week-ten.md) — 2015-07-09 - [Pebble Timeline Challenge Week 9 Winner - Tideline!](https://developer.repebble.com/blog/2015/07/02/timeline-challenge-week-nine.md) — 2015-07-02 - [Guest Post - My Life As a Pebble Developer and Rockstar](https://developer.repebble.com/blog/2015/07/01/my-life-as-a-pebble-developer-and-rockstar.md) — 2015-07-01 - [Pebble Timeline Challenge Week 8 Winner - Pokedex Challenge!](https://developer.repebble.com/blog/2015/06/25/timeline-challenge-week-eight.md) — 2015-06-25 - [Pebble Timeline Challenge Week 7 Winner - Greeney's Run!](https://developer.repebble.com/blog/2015/06/18/timeline-challenge-week-seven.md) — 2015-06-18 - [Pebble Timeline Challenge Week 6 Winner - Meetup!](https://developer.repebble.com/blog/2015/06/12/timeline-challenge-week-six.md): We've recently formed our 21st Meetup group, and are so excited that Pebblers around the world are meeting, sharing ideas, and making awe... — 2015-06-12 - [Pebble Timeline Challenge Week 5 Winner - Flights](https://developer.repebble.com/blog/2015/06/05/timeline-challenge-week-five.md) — 2015-06-05 - [Pebble Timeline Challenge Week 4 Winner - Pushbutton](https://developer.repebble.com/blog/2015/05/29/timeline-challenge-week-four.md) — 2015-05-29 - [Pebble Timeline Challenge Week 3 Winner - Leaf](https://developer.repebble.com/blog/2015/05/22/timeline-challenge-week-three.md) — 2015-05-22 - [Tips and Tricks - Platform-specific C File Set](https://developer.repebble.com/blog/2015/05/19/tips-and-tricks-platform-specific-c-file-sets.md): In the last Tips and Tricks blog post we looked at drawing transparent images on both the Aplite and Basalt platforms. — 2015-05-19 - [Pebble Timeline Challenge Week 2 Winner - FitCat](https://developer.repebble.com/blog/2015/05/17/timeline-challenge-week-two.md) — 2015-05-17 - [Tips and Tricks - Transparent Images](https://developer.repebble.com/blog/2015/05/13/tips-and-tricks-transparent-images.md): Ever wondered how to draw transparent images in a Pebble app? — 2015-05-13 - [Pebble Timeline Challenge Week 1 Winner - Battery+](https://developer.repebble.com/blog/2015/05/08/timeline-challenge-week-1.md) — 2015-05-08 - [Timeline Challenge - FAQ](https://developer.repebble.com/blog/2015/05/07/timeline-challenge-faq.md) — 2015-05-07 - [Timeline Spotlight - Hackawatch](https://developer.repebble.com/blog/2015/04/17/timeline-feature-hackawatch.md) — 2015-04-17 - [Deploying A Server For Your Timeline Enabled App With Heroku](https://developer.repebble.com/blog/2015/04/16/Deploying-A-Server-For-Your-Timeline-Enabled-App-With-Heroku.md) — 2015-04-16 - [The Timeline Challenge is Live!](https://developer.repebble.com/blog/2015/04/14/the-timeline-challenge-is-live.md) — 2015-04-14 - [It's Time to Put Your Ideas On Our Timeline!](https://developer.repebble.com/blog/2015/04/10/it-is-time-to-put-your-ideas-on-our-timeline.md) — 2015-04-10 - [The Road to Pebble SDK 3.0 in Ten Questions](https://developer.repebble.com/blog/2015/04/03/The-Road-To-Pebble-SDK-3.0-In-Ten-Questions.md) — 2015-04-03 - [Pebble at Pearl Hacks](https://developer.repebble.com/blog/2015/03/27/Pebble-at-PearlHacks.md) — 2015-03-27 - [Getting Started With Timeline](https://developer.repebble.com/blog/2015/03/20/Getting-Started-With-Timeline.md) — 2015-03-20 - [Get Ready For Smartstraps - Warm Up Your 3D Printer!](https://developer.repebble.com/blog/2015/03/03/Get-Ready-For-Smartstraps.md): Many of you have read about smartstraps on our Kickstarter page and contacted us for more details. — 2015-03-03 - [Time to Add Color to These Pebbles](https://developer.repebble.com/blog/2015/02/26/KS-update-for-developers.md) — 2015-02-26 - [Bezier Curves and GPaths on Pebble](https://developer.repebble.com/blog/2015/02/13/Bezier-Curves-And-GPaths.md) — 2015-02-13 - [Pebble Emulator 2/2 - JavaScript and CloudPebble](https://developer.repebble.com/blog/2015/01/30/Pebble-Emulator-JavaScript-Simulation.md): This is another in a series of technical articles provided by the members of the Pebble software engineering team. — 2015-01-30 - [Pebble Emulator 1/2 - QEMU for Pebble](https://developer.repebble.com/blog/2015/01/30/Development-Of-The-Pebble-Emulator.md): This is another in a series of technical articles provided by the members of the Pebble software engineering team. — 2015-01-30 - [Pebble Smartwatch Emulator in CloudPebble!](https://developer.repebble.com/blog/2015/01/22/cloudpebble-pebble-emulator.md): We're thrilled to announce the latest addition to CloudPebble: a Pebble smartwatch emulator! — 2015-01-22 - [Pebble and the Wolfram Cloud](https://developer.repebble.com/blog/2015/01/16/Pebble-And-Wolfram.md) — 2015-01-16 - [A New Year of Hackathons!](https://developer.repebble.com/blog/2015/01/09/A-New-Year-Of-Hackathons.md) — 2015-01-09 - [Happy New Year!](https://developer.repebble.com/blog/2015/01/03/Happy-New-Year.md) — 2015-01-03 - [Send a Smile with Android Actionable Notifications](https://developer.repebble.com/blog/2014/12/19/Leverage-Android-Actionable-Notifications.md) — 2014-12-19 - [Parlez-vous Pebble? Sprechen sie Pebble? ¿Hablas Pebble?](https://developer.repebble.com/blog/2014/12/15/Parlez-vous-Pebble.md) — 2014-12-15 - [Translate Your Apps, More Fun in SF and more!](https://developer.repebble.com/blog/2014/12/05/Translate-Your-Apps.md) — 2014-12-05 - [Firmware 2.8, Android 2.1 and Pebble London Meetup!](https://developer.repebble.com/blog/2014/11/28/Firmware-2-8-Android-2-1-Meetups.md) — 2014-11-28 - [New Developer Site, CloudPebble Improvements, New Android Beta and Meetups!](https://developer.repebble.com/blog/2014/11/15/New-Developer-Site-CloudPebble-Improvements-Android-Beta-Meetups.md) — 2014-11-15 - [Pebble Developer Retreat 2014 Recap](https://developer.repebble.com/blog/2014/11/08/Pebble-Developer-Retreat-2014-Recap.md): Can you believe it's already been a month since the developer retreat? — 2014-11-08 - [Displaying remote images in a Pebble app](https://developer.repebble.com/blog/2014/10/29/Displaying-remote-images.md): A picture is worth a thousand words. — 2014-10-29 - [FreeRTOS™ Code Revisions - Background Worker Edition](https://developer.repebble.com/blog/2014/10/10/FreeRTOS-Modifications-From-Pebble-v2.md): As part of our commitment to the open source community, Pebble is releasing its recent modifications to the FreeRTOS project. — 2014-10-10 - [New CloudPebble Code Completion](https://developer.repebble.com/blog/2014/10/09/CloudPebble-code-completion.md): CloudPebble today gains significantly enhanced support for code completion, as well as inline syntax checking and the ability to "go to d... — 2014-10-09 - [Build background apps with SDK 2.6.1](https://developer.repebble.com/blog/2014/09/30/SDK-2.6-Meetup-More.md): Today we released SDK 2.6.1, which includes support for background workers. — 2014-09-30 - [XDA - Pebble Developer Challenge Winners!](https://developer.repebble.com/blog/2014/09/16/Pebble-XDA-Challenge-Winners.md): Almost two months ago the XDA Forums and Pebble set out on a mission to find three amazing apps/watchfaces and their developers. — 2014-09-16 - [Building Apps for the Business Traveler](https://developer.repebble.com/blog/2014/09/03/Pebble-Concur-Mojio.md): This is a guest post by Chris Ismael, Senior Developer Evangelist at Concur. — 2014-09-03 - [Getting Ready for Automatic App Updates](https://developer.repebble.com/blog/2014/08/26/Getting-Ready-for-Automatic-App-Updates.md): We are pleased to announce that we will soon be automatically updating apps installed from the Pebble appstore. — 2014-08-26 - [CloudPebble Graphical UI Editor](https://developer.repebble.com/blog/2014/08/08/CloudPebble-Graphical-UI-Editor.md): Today we're adding a new feature to CloudPebble that will make it easier than ever to build your watchfaces and watchapps! — 2014-08-08 - [XDA Forums - Pebble Developer Challenge](https://developer.repebble.com/blog/2014/07/21/Pebble-XDA-Challenge.md): Can you #MakeAwesomeHappen? — 2014-07-21 - [Watch Analytics with Strap](https://developer.repebble.com/blog/2014/07/02/Watch-analytics-with-strap.md): We'd like to share a blog post from our friends at Strap on how to add analytics to your Pebble app. — 2014-07-02 - [Create Your Own Api With Kimono](https://developer.repebble.com/blog/2014/06/19/Create-your-own-api-with-KimonoLabs.md): We'd like to share with you a blog post written by our friends at KimonoLabs. — 2014-06-19 - [Pebble SDK Tutorial (Part 2)](https://developer.repebble.com/blog/2014/06/18/Your-First-Watchface.md): Pebble SDK Tutorial (Part 1): Your First Watchapp — 2014-06-18 - [Android for Pebble Beta Channel](https://developer.repebble.com/blog/2014/06/12/Android-Beta-Channel.md): And what rough beast, its hour come round at last, slouches towards the Play Store to be born? — 2014-06-12 - [Pebble SDK Tutorial (Part 1)](https://developer.repebble.com/blog/2014/06/10/Pebble-SDK-Tutorial-1.md): This is the first in a series of articles that will hopefully help newcomers and seasoned programmers alike begin to flex their creative ... — 2014-06-10 - [FreeRTOS™ Code Revisions from Pebble](https://developer.repebble.com/blog/2014/05/23/FreeRTOS-Modifications-From-Pebble.md): Today Pebble is releasing its recent modifications to the FreeRTOS project. — 2014-05-23 - [Pebble Updates, MakerFaire & MakingAwesomeHappen](https://developer.repebble.com/blog/2014/05/15/Pebble-2.1-Released.md): Last week, we released both the 2.1 Pebble firmware, as well as the 2.1 Pebble SDK. — 2014-05-15 - [Learning to Program Your Pebble](https://developer.repebble.com/blog/2014/04/30/Learn-to-Program-My-Pebble.md): Where can you find a good tutorial on how to program your Pebble? — 2014-04-30 - [Bundling Javascript for Pebble Apps](https://developer.repebble.com/blog/2014/04/22/JS-Bundling.md): Updated Apr 23rd: "COMING SOON" bug is fixed. — 2014-04-22 - [API documentation now inside CloudPebble](https://developer.repebble.com/blog/2014/04/14/API-documentation-in-CloudPebble.md): To help make your Pebble development experience even better, CloudPebble can now display the API documentation for any function directly ... — 2014-04-14 - [Space Apps 2014](https://developer.repebble.com/blog/2014/04/12/Space-Apps-Challenge-2014.md): Space Apps 2014 is taking place this weekend (April 12th/13th) and we are very happy to be a partner of this event. — 2014-04-12 - [Easier app deployment from CloudPebble](https://developer.repebble.com/blog/2014/04/04/Easier-app-deployment-from-Cloudpebble.md): We now have an even easier way for you to deploy apps to your watches! — 2014-04-04 - [Finalists Of The Pebble App Challenge](https://developer.repebble.com/blog/2014/03/28/Finalists-of-the-Pebble-App-Challenge.md): UPDATE: The next round of Pebble App Challenge voting—narrowing down our 16 finalists—has been postponed for now. — 2014-03-28 - [Build a Watchface](https://developer.repebble.com/blog/2014/03/28/Build-a-Watchface.md): In this video we walk you through your first Pebble Watchface. — 2014-03-28 - [Introduction to Pebble development](https://developer.repebble.com/blog/2014/03/27/Introduction-to-Pebble-development.md): If you are new to Pebble development you are probably wondering: What does Pebble source code look like? — 2014-03-27 - [Use AppCode to Develop for the Pebble Smartwatch](https://developer.repebble.com/blog/2014/03/27/Appcode-Webinar-With-Heiko.md): We'd like to share with you a great opportunity to learn more about Pebble development through a webinar that is taking place on Monday, ... — 2014-03-27 - [Vote now for your favorite apps in the Pebble App Challenge](https://developer.repebble.com/blog/2014/03/24/Pebble-App-Challenge-vote-now.md) — 2014-03-24 - [Pebble goes to PennApps](https://developer.repebble.com/blog/2014/03/20/pebble-goes-to-pennapps.md): This February, three Pebble developer evangelists headed out to Philadelphia for PennApps 2014. — 2014-03-20 - [CloudPebble now supports Simply.js](https://developer.repebble.com/blog/2014/03/14/CloudPebble-now-supports-Simplyjs.md): It's now even easier to get started with Pebble development or prototype new ideas! — 2014-03-14 - [Pebble App Challenge](https://developer.repebble.com/blog/2014/03/10/Pebble-App-Challenge.md): Dear Developers, — 2014-03-10 - [Android Beta11](https://developer.repebble.com/blog/2014/03/03/Android-Beta11.md): Android Beta 11 was just released. — 2014-03-03 - [Installing the Pebble SDK just got simpler](https://developer.repebble.com/blog/2014/02/21/oneline-sdkinstall.md): Until today, installing the Pebble SDK meant downloading and unzipping the SDK and arm tools, installing some python requirements and upd... — 2014-02-21 - [Android Beta10](https://developer.repebble.com/blog/2014/02/19/Android-Beta10.md): Update: A new version is available. — 2014-02-19 - [New Android Beta](https://developer.repebble.com/blog/2014/02/10/New-Android-Beta.md): Update: A new version is available. — 2014-02-10 - [Android appstore beta](https://developer.repebble.com/blog/2014/02/03/Android-appstore-beta.md): Update: A new version is available. — 2014-02-03 - [Pebble appstore is live!](https://developer.repebble.com/blog/2014/02/03/Pebble-appstore-is-live.md) — 2014-02-03 - [Tips for Appstore Success](https://developer.repebble.com/blog/2014/01/31/Appstore-Tips.md): If you have already published an app, or are planning on publishing an app, here are some tips for a successful appstore launch. — 2014-01-31 - [Pebble SDK 2.0 BETA7](https://developer.repebble.com/blog/2014/01/23/Pebble-SDK-BETA7.md): Attention developers! — 2014-01-23 - [Pebble SDK 2.0 BETA6 - Season Finale?](https://developer.repebble.com/blog/2014/01/17/Pebble-SDK-BETA6.md): Another week and another release of Pebble SDK 2.0. — 2014-01-17 - [Using JSHint for Pebble Development](https://developer.repebble.com/blog/2014/01/12/Using-JSHint-For-Pebble-Development.md): In our post on JavaScript Tips and Tricks we strongly recommended the use of JSLint or JSHint to help you detect JavaScript problems at c... — 2014-01-12 - [Pebble SDK 2.0 BETA5 is now available!](https://developer.repebble.com/blog/2014/01/10/Pebble-SDK-BETA5.md): We've had a pretty awesome start to 2014 and we couldn't have done it without you! — 2014-01-10 - [Writing Pebble Apps On The Plane](https://developer.repebble.com/blog/2014/01/08/Writing-Pebble-apps-on-the-plane.md) — 2014-01-08 - [A once in a lifetime opportunity: Pebble appstore launch](https://developer.repebble.com/blog/2014/01/06/Pebble-appstore.md): Dear Developers, — 2014-01-06 - [Pebble Sdk Beta4](https://developer.repebble.com/blog/2013/12/23/Pebble-SDK-BETA4.md): Busy times for the Pebble elves! — 2013-12-23 - [Pebble Javascript Tips And Tricks](https://developer.repebble.com/blog/2013/12/20/Pebble-Javascript-Tips-and-Tricks.md): PebbleKit JavaScript is one of the most popular additions in Pebble SDK 2.0. — 2013-12-20 - [All Aboard the Pebble appstore](https://developer.repebble.com/blog/2013/12/18/All-Aboard-the-Pebble-app-store.md): We are extremely excited to announce the Pebble appstore! — 2013-12-18 - [Open Lab For Pebble Developers](https://developer.repebble.com/blog/2013/12/17/Open-Lab-For-Pebble-Developers.md): Hi Pebblers! — 2013-12-17 - [Sdk Beta3 Now Available](https://developer.repebble.com/blog/2013/12/12/SDK-BETA3-Now-Available.md): This holiday season is off to a great start and the Pebble community is getting larger every day! — 2013-12-12 - [Virtual Lab For Pebble Developers](https://developer.repebble.com/blog/2013/12/03/Virtual-Lab-For-Pebble-Developers.md): Hi Pebblers! — 2013-12-03 - [Setpebble By Matt Clark](https://developer.repebble.com/blog/2013/12/02/SetPebble-By-Matt-Clark.md): The last Developer Blog post introduced the JS configuration utility, and included some screenshots from SetPebble.com. — 2013-12-02 - [Using Pebblekit Js Configuration](https://developer.repebble.com/blog/2013/11/21/Using-PebbleKit-JS-Configuration.md): One of the most useful additions to the Pebble SDK in the 2.0 beta release is the introduction of PebbleKit JS and the ability to use a w... — 2013-11-21 - [Win A Pebble](https://developer.repebble.com/blog/2013/11/20/Win-A-Pebble.md): We recently introduced our Pebble SDK 2.0 beta and we're excited to now also announce a new way for you to earn a Pebble to develop your ... — 2013-11-20 - [Top Pebble Sdk 2.0 Apps](https://developer.repebble.com/blog/2013/11/07/Top-Pebble-SDK-2.0-Apps.md): Yesterday, we announced the beta release of our 2.0 SDK and got overwhelmingly helpful feedback from all of you. — 2013-11-07 - [A New Era Of Apps](https://developer.repebble.com/blog/2013/11/06/A-New-Era-of-Apps.md): Hi Pebble Developers! — 2013-11-06 - [Developer News And Reddit And Open Lab](https://developer.repebble.com/blog/2013/11/03/Developer-News-and-Reddit-and-Open-Lab.md): Hi Pebblers! — 2013-11-03 - [Meet The Pebble Developer Evangelists](https://developer.repebble.com/blog/2013/10/29/Meet-the-Pebble-Developer-Evangelists.md): Hi Pebblers! — 2013-10-29 - [Two Way Communication With Appmessage](https://developer.repebble.com/blog/2013/09/27/Two-Way-Communication-With-AppMessage.md): On september 25th, the Pebble User Group met at the Hacker Dojo in Mountain View to discuss two-way communication with Pebble SDK. — 2013-09-27 - [Pebble Developer Retreat](https://developer.repebble.com/blog/2013/09/26/pebble-developer-Retreat.md): If you were there, you’re probably still talking about it, right? — 2013-09-26 - [Screenshot Barcodes Tutorials And Mao](https://developer.repebble.com/blog/2013/07/26/Screenshot-Barcodes-Tutorials-And-Mao.md): It seems the summer days are only increasing the energy of Pebble developers! — 2013-07-26 - [Using Pebble System Fonts](https://developer.repebble.com/blog/2013/07/24/Using-Pebble-System-Fonts.md): (2014 09: This article was updated to add links for SDK 2.0 users and add the resource identifier of the fonts as suggested by Timothy Gr... — 2013-07-24 - [Awesome Apps Of The Week](https://developer.repebble.com/blog/2013/07/18/Awesome-Apps-Of-The-Week.md): We love seeing what you guys are doing with the Pebble SDK! — 2013-07-18 - [Lots Of Goodies In Pebble Sdk 1.12](https://developer.repebble.com/blog/2013/07/03/Lots-of-goodies-In-Pebble-SDK-1.12.md): Pebble firmware 1.12 was released earlier this week. — 2013-07-03 ## More - [Guidelines for Using Pebble Trademarks and Copyrights](https://developer.repebble.com/legal/pebble-trademark.md): Official guidelines on use of the Pebble trademarks and copyrights. - [More](https://developer.repebble.com/more.md): Check out this list of ideas we'd love to see developers working on. ### Contributing - [Contributing to the site](https://developer.repebble.com/contributing.md): The new Pebble developer site is open sourced on GitHub. ### Legal - [Pebble Developer Distribution Agreement](https://developer.repebble.com/legal/distribution.md): THIS AGREEMENT CONTAINS A BINDING ARBITRATION PROVISION AND TIME LIMIT ON SUBMITTING CLAIMS THAT AFFECT YOUR RIGHTS. - [Pebble Developer Program Policies](https://developer.repebble.com/legal/program-policies.md): The policies listed below play an important role in maintaining a positive experience for everyone using the Pebble Mobile App(s) and the... - [Pebble Legal Agreements](https://developer.repebble.com/legal.md): To use the Pebble SDK, you must agree to the Pebble Terms of Use and the Pebble Developer License that our awesome lawyers have put toget... - [Pebble SDK License Agreement](https://developer.repebble.com/legal/sdk-license.md): THIS AGREEMENT CONTAINS A BINDING ARBITRATION PROVISION AND TIME LIMIT ON SUBMITTING CLAIMS THAT AFFECT YOUR RIGHTS. - [Pebble Terms of Use](https://developer.repebble.com/legal/terms-of-use.md): Pebble Technology Corp. ### Contact - [Contact Developer Support](https://developer.repebble.com/contact.md): Pebble is no longer providing direct 1-on-1 support for developers. ### Faqs - [Frequently Asked Questions](https://developer.repebble.com/faqs.md): A list of all the most frequently asked questions about Pebble with answers ### Inspiration - [App Inspiration](https://developer.repebble.com/inspiration.md): We're often asked by developers at hackathons and code days what kinds of apps they should write for Pebble. ### Open Source - [Pebble Open Source](https://developer.repebble.com/open-source.md): Here at Pebble we are big believers in the power of open source. ## Uncategorized - [Home](https://developer.repebble.com/index.md): Pebble is an open platform. It's easy to develop on Pebble. Our SDK is available for free and includes iOS and Android libraries. - [Pebble is back!](https://developer.repebble.com/weareback.md): Welcome back to Pebble development - [Pebble Time Round](https://developer.repebble.com/round.md): Learn more about the new APIs and SDK tools available for Pebble Time Round - [SDK 4](https://developer.repebble.com/sdk4.md): Learn more about the new APIs available in SDK 4