How coredevices/pebbleos works
PebbleOS is smartwatch firmware: it hosts watch applications and provides device, connectivity, and user-facing services. A representative runtime path is a running app using firmware services, which in turn interact with device hardware or persistent state. The tree documents these capabilities broadly, but sampled implementation excerpts are mostly storage-focused; edges below emphasize only wiring directly supported by those excerpts, and omit uncertain service-to-service flows.
Main entry points: process_management App runtime · comm_session Communication session · flash.h Flash hardware · process_loader_storage.c Process loader
Components 22
Apps and execution
- App runtime
include/pbl/services/process_management - Process loader
src/fw/services/process_management/process_loader_storage.c - App storage
include/pbl/services/process_management
Watch services
- Timeline
include/pbl/services/timeline - Notifications
include/pbl/services/notifications - Activity and health
include/pbl/services/activity - Data logging
include/pbl/services/data_logging
Connectivity
- Communication session
include/pbl/services/comm_session - Bluetooth services
include/pbl/services/bluetooth
Platform and storage
- Kernel
kernel - Device drivers
include/pbl/drivers - Timeline item store
src/fw/services/blob_db/timeline_item_storage.c - Notification store
src/fw/services/notifications/notification_storage.c - Logging storage
src/fw/services/data_logging/dls_storage.c - Resource storage
src/fw/resource/resource_storage.c - Firmware storage
src/fw/system/firmware_storage.c - Bluetooth pairing store
src/fw/services/bluetooth/bluetooth_persistent_storage_normal.c - Shared PRF flash
src/fw/services/shared_prf_storage/shared_prf_storage.c - Flash hardware
include/pbl/drivers/flash.h - Settings files
include/pbl/services/settings/settings_file.h
Other components
- Watch wearer
- Paired phone
Connections 21
- Watch wearer → App runtime: uses watch
- App runtime → Process loader: loads processes
- Process loader → App storage: reads binaries
- App runtime → Timeline: uses services
- App runtime → Communication session: communicates via
- Paired phone → Communication session: exchanges messages
- Communication session → Bluetooth services: uses Bluetooth
- App runtime → Data logging: records data
- Watch wearer → Notifications: receives alerts
- Watch wearer → Activity and health: uses health features
- App runtime → Kernel: runs on
- Kernel → Device drivers: coordinates hardware
- Timeline → Timeline item store: stores items
- Timeline item store → Settings files: reads and writes
- Notifications → Notification store: stores notifications
- Data logging → Logging storage: reads and writes
- Resource storage → Flash hardware: reads resources
- Firmware storage → Flash hardware: checks firmware
- Bluetooth services → Bluetooth pairing store: persists pairings
- Bluetooth pairing store → Shared PRF flash: syncs pairing data
- Shared PRF flash → Flash hardware: reads and writes