Connectivity › Gravel
thumb_up Follow me on GitHub to get notifications about my projects (like Fossdroid Core), thanks! close

Gravel

A de-googled, hardened fork of the Pebble companion app for de-googled phones
Version: 0.1.5
Added: 26-08-2026
Updated: 26-08-2026
Gravel is a de-googled and hardened fork of the Pebble mobile app by Core Devices, for managing Pebble and Core Devices smartwatches on GrapheneOS, LineageOS, and other phones without google play services or Firebase.

The watch features of the official app are all here: pairing and reconnection, notifications, calendar, music, health, and weather on the watch, watchface and app gallery browsing, firmware updates, and voice dictation. What is gone is the google plumbing and the reporting built around it: no play services, no Firebase, no telemetry, no analytics, no crash reporting. (The one casualty is the official app's battery analytics page, which was rendered by the telemetry server and so has no data source here. The Pebble Index 01 ring and Index AI features do not function for now, because of how heavily they rely on telemetry and Firebase; work on a way to incorporate them is ongoing.)

On top of the de-Googling, Gravel tightens the app's own security posture:
- Per-app permissions for watchapps' companion code: internet and phone location are denied by default and granted per app, and revoking a permission applies to running watchapps immediately
- The app's exported Android interfaces are authorization-gated or removed
- Plain-HTTP (cleartext) traffic is blocked app-wide
- Core watch firmware updates are fetched from the public PebbleOS releases and integrity-verified before install
- On-device voice dictation with the whisper.cpp speech engine, built from source; the speech model is an optional, integrity-pinned download you start yourself
- Manual latitude/longitude entry replaces the play-services place search for weather
- App store searches leave the phone only when you tap search, never while you type, and are sent with Algolia's query analytics and personalization switched off and no user token

Some watchapps and watchfaces need internet or your location to work, and they will not function fully until you grant them access. That is deliberate: Gravel puts the decision in your hands rather than trusting every watchapp by default.

The app talks to the Core Devices and Rebble web services (app store, weather, timeline, notification icons, language packs), to Algolia, which hosts the app store's search index, whenever you search the store, to the PebbleOS release feed on GitHub for firmware, and to the speech model host on first download; there is no google endpoint.

Permissions Gravel asks for are the ones the watch features need: Bluetooth and location for finding and staying connected to the watch (background location so location-based watchapps and weather keep working while the app is not open), notification access to forward notifications, contacts, call log, and phone state for caller names and call control on the watch, calendar for timeline pins, Health Connect write access to sync the watch's health data, and the list of installed apps for per-app notification settings. Each is requested when the corresponding feature is first set up.

Gravel is not affiliated with or endorsed by Core Devices. "Pebble" and "Core Devices" are trademarks of their respective owners; Gravel is an independent fork of their GPLv3-licensed source code, under its own name and icon to avoid any confusion with the official app.

Screenshot of Gravel Screenshot of Gravel Screenshot of Gravel
code Source file_download Download