No description
- JavaScript 42.5%
- C 38.4%
- Python 16.2%
- HTML 2.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| build | ||
| config | ||
| node_modules | ||
| resources | ||
| screenshots | ||
| src | ||
| .lock-waf_linux_build | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| wscript | ||
Playback for Spotify
Control Spotify from your Pebble smartwatch. Browse playlists, artists, albums and liked songs, skip tracks, adjust volume, and see album art — all from your wrist. Repebble AppStore link
Features
- Now Playing — track title, artist, album art, and progress bar
- Playback controls — play/pause, next/previous track
- Volume control — hold UP/DOWN to adjust volume (currently only while playing on external speakers)
- Browse library — playlists, artists, albums, liked songs
- Queue control — long-press a song to add it to your queue; preview the queue anytime
- Shuffle & repeat — toggle shuffle and cycle repeat mode with long press select on 'Now Playing' (off / context / track)
- Album art — full-color on color watches, Floyd-Steinberg dithered on B&W
- First-launch tutorial — quick guide to controls
Supported Platforms
| Platform | Watch |
|---|---|
| Basalt | Pebble Time / Time Steel |
| Chalk | Pebble Time Round |
| Diorite | Pebble 2 |
| Emery | Pebble Time 2 |
| Aplite | Original Pebble (no album art) |
Setup
1. Deploy the Config Page
The config page handles Spotify OAuth login. You need to host it yourself:
- Fork the playback_config repo
- Enable GitHub Pages in repo settings (deploy from
mainbranch) - Update the Redirect URL in your Spotify app and playback_config index.html Redirect URL to match your GitHub Pages URL
2. Create a Spotify App
- Go to Spotify Developer Dashboard
- Create a new app
- Set Redirect URL to your config page URL (e.g.
https://yourusername.github.io/playback_config/) - Copy your Client ID
3. Install the App
- Clone this repo
- Run
pebble build && pebble install - Open Settings on your phone for the Playback app
- Enter your Client ID and log in with Spotify
Controls
| Action | Button |
|---|---|
| Next track | UP |
| Previous track | DOWN |
| Play / Pause | SELECT |
| Volume up | Hold UP |
| Volume down | Hold DOWN |
Building
Requires Pebble SDK.
pebble build
pebble install --emulator basalt # emulator
pebble install --phone IP_ADDRESS # real watch
Testing on Emulator
The emulator can't reach the phone's config page, so OAuth has to be completed manually in a browser and the resulting token URL saved to a .env file.
- Open your deployed config page in a regular browser (the GitHub Pages URL from setup).
- Enter your Client ID and log in with Spotify as you normally would.
- On the success page, right-click the Return to Pebble button and copy its link — it looks like
pebblejs://close#%7B%22token%22...%7D. - Create a
.envfile at the repo root (it's gitignored):DEBUG_RESPONSE=pebblejs://close#%7B%22token%22...%7D - Rebuild and reinstall:
pebble build && pebble install --emulator basalt. - The token is valid for 1 hour — update
.envwith a fresh link when it expires.
The build step reads .env and generates src/pkjs/debug_env.js (also gitignored) which injects the token. Without a .env file, DEBUG_RESPONSE is null and production/store builds are unaffected.
License
MIT


