---
title: "Guides Table of Contents"
canonical_url: https://developer.repebble.com/guides/toc/
last_updated: 2025-02-25
sdk_version: 4.33.1
---
# Guides Table of Contents

Source: https://developer.repebble.com/guides/toc/

## [1. Alloy](https://developer.repebble.com/guides/alloy.md)

Information on creating apps with JavaScript using the Alloy framework, based on Moddable.

#### [Getting Started with Alloy](https://developer.repebble.com/guides/alloy/getting-started.md)

Learn how to create your first Alloy app for Pebble.

#### [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.

#### [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.

#### [Alloy Reference](https://developer.repebble.com/guides/alloy/reference.md)

Where the Alloy APIs are documented, and the details that are not obvious from the other guides: font names, resource IDs, modules, memory and TypeScript.

## [2. Building with AI Agents](https://developer.repebble.com/guides/ai-agents.md)

How to give an AI coding agent the documentation, project instructions and emulator commands it needs to build a Pebble app.

## [3. App Resources](https://developer.repebble.com/guides/app-resources.md)

Information on the many kinds of files that can be used inside Pebble 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.

#### [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.

## [4. Appstore Publishing](https://developer.repebble.com/guides/appstore-publishing.md)

How to publish apps in the Pebble appstore from the Developer Dashboard, the pebble tool or CloudPebble.

#### [Preparing a Submission](https://developer.repebble.com/guides/appstore-publishing/preparing-a-submission.md)

What a Pebble appstore listing is made of, and the sizes and formats required for screenshots, icons and banners.

#### [Publishing an App](https://developer.repebble.com/guides/appstore-publishing/publishing-an-app.md)

How to submit an app and later releases from the Developer Dashboard, the `pebble` tool or CloudPebble.

#### [Importing Apps from Rebble](https://developer.repebble.com/guides/appstore-publishing/importing-from-rebble.md)

How to bring apps published in the Rebble appstore into the Developer Dashboard and prove ownership of them.

## [5. 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.

## [6. Communication](https://developer.repebble.com/guides/communication.md)

How to talk to the phone via PebbleKit with JavaScript and on Android or iOS.

#### [Advanced Communication](https://developer.repebble.com/guides/communication/advanced-communication.md)

Details of communication tips and best practices for more advanced scenarios.

#### [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, and how the Pebble mobile app runs it on Android and iOS.

#### [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.

## [7. Debugging](https://developer.repebble.com/guides/debugging.md)

How to find and fix common compilation and runtime problems in apps.

#### [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 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.

## [8. Design and Interaction](https://developer.repebble.com/guides/design-and-interaction.md)

Information on creating the best app user experiences and layout designs.

#### [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.

## [9. Events and Services](https://developer.repebble.com/guides/events-and-services.md)

How to get data from the onboard sensors and services including the accelerometer, compass, and microphone.

#### [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.

#### [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.

## [10. 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.

#### [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.

#### [Vector Graphics](https://developer.repebble.com/guides/graphics-and-animations/vector-graphics.md)

How to draw simple images using vector images, instead of bitmaps.

## [11. Pebble Packages](https://developer.repebble.com/guides/pebble-packages.md)

How to create and use Pebble Packages

#### [Creating Pebble Packages](https://developer.repebble.com/guides/pebble-packages/creating-packages.md)

How to create Pebble Packages

#### [Using Pebble Packages](https://developer.repebble.com/guides/pebble-packages/using-packages.md)

How to use Pebble Packages

## [12. 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.

#### [Creating Pins](https://developer.repebble.com/guides/pebble-timeline/pin-structure.md)

How to create timeline pins with reminders, actions, and layouts.

#### [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.

#### [Subscriptions and Tokens](https://developer.repebble.com/guides/pebble-timeline/timeline-js.md)

The PebbleKit JS timeline subscription and token APIs, and what to use instead.

## [13. Plugins (Preview)](https://developer.repebble.com/guides/plugins.md)

How a .pbw's JavaScript can provide data sources and actions to other apps through the Pebble mobile app, and how a watchapp reads them from PebbleKit JS.

#### [Pebble Plugins Preview](https://developer.repebble.com/guides/plugins/preview.md)

What plugins are, how to try the preview in the Pebble mobile app, how a watchapp reads plugin data from PebbleKit JS, and how to write a plugin.

#### [Publishing Plugins](https://developer.repebble.com/guides/plugins/publishing-plugins.md)

How to publish a plugin to the appstore with `pebble publish`, and how to let it sign users in to a service with OAuth.

## [14. 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.

#### [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.

#### [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.

#### [Testing with the Pebble Mobile App](https://developer.repebble.com/guides/tools-and-resources/testing-with-the-mobile-app.md)

How to connect the Pebble mobile app to the emulator to test PebbleKit JS, configuration pages and timeline pins without a watch, and how to sideload a .pbw file.

## [15. User Interfaces](https://developer.repebble.com/guides/user-interfaces.md)

How to build effective user interfaces. Includes information on events, persistent storage, background worker, wakeups and app configuration.

#### [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 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.
