Pebble Smartwatch App and Corresponding Roon Extension

Hi folks, I created a Roon remote for the Pebble smartwatch. This company has been resurrected after Google’s acquisition of Fitbit. There are new Pebbles being manufactured and I have one (Pebble Time 2) on order so I thought I’d create an app to work with Roon so I don’t need to open my phone every time I want to adjust the music playing in the house.

It’s pretty basic as far as functionality goes (play/pause, track and zone switching) but I hope to add features as the need arises.

You can download either the source or binary for the app on Github:

Not sure how many here still use Pebble watches or have any of the new ones on order but I would love some feedback on the app. Note that I haven’t tested the app on a physical watch yet (the Pebble Time 2 has yet to be released). But the app should work on older Pebble’s as well.

I hope others find this app to be useful.

1 Like

I am a proud Pebble user, but a disappointed Roon user. I hope something comes to Roon soon that makes it a little bit more usable for me, but I’m holding my breath as a lifetime license holder.

Well, please try out my app if you want, I will be putting it on the app store probably tonight. In the meantime, you can sideload the binary on the github page.

I’d also be happy to hear about any features that you’d like to see incorporated.

Ok, the app is now available on the Rebble and Mobile app stores:

Looks cool - just based on reading.
As I don’t own a Pebble, I was wondering wether the App would work with any Android watch?

That would be a hard no. This is not an android app.

OK, thank you! Just an idea.

Interesting project @J_B :+1:t2::clap:t2::clap:t2:
I have 3 original Pebble watches in a box somewhere (original Kickstarter, Round and Steel) though not sure if I know where the power leads are. I really enjoyed wearing them in the day.

I do think I should donate them to a good new owner, but it’s great to see interesting project like this coming out

Well if you do find the charger, please try installing this app on your watches. I’d be interested to know how well it works on a physical device. It’s going to be at least two months before I receive mine… :-S

1 Like

It is indeed. I was wondering how people would get the bridge working because there are so many different ways. Feel free to send me your log and I can try to debug. You can use pastebin or similar and send me the link.

FYI, I put a docker_compose file on github to help you and also updated the Dockerfile. This might help your install.

Thank you J_B . New pebble arrived and this was my first install. Server worked well once node and Git was installed. Works really well.

If I had to have one ask, that would be option for larger text for artist and title

Hi! I’m glad you are finding the app useful. I agree that the text size is small on the PT2. I’ve updated the app to allow the user to change the font size in the settings (through your phone app). Other features have been included including:

  • Volume Control
  • Timeouts
  • Track switching has been moved to long-pressing up/down buttons
  • Other system tweaks

You will need to update your Roon bridge (available on github) as well for the new features to work.

Here’s a link to the app store: Roon Remote for Pebble - Pebble Appstore

Thanks again J_B. I haven’t updated the bridge yet but the larger text worked brilliantly. The volume also worked.

The ‘switching’ text is also cool when moving between zones

Is there an easy way to start the bridge when windows is restarted?

Nice! Maybe you don’t even need to update the bridge then. I did actually update it again yesterday after I posted this because I was finding that switching zones was too sluggish (hence the “switching” message); the latest version (1.1.0) is much peppier and therefore there is no need for the “switching” message. Let me know what you think!

I have my bridge on a home server (non-windows) so I’m not exactly sure how windows reboots affect the bridge but I checked our friendly neighborhood AI and it produced some instructions but YMMV:

Pebble Roon Bridge: Windows Persistence Guide

Target Platform: Windows 10 / Windows 11

This guide provides step-by-step instructions on how to configure your Pebble Roon Bridge to automatically start and run in the background whenever your Windows machine reboots. Choose the method that matches your current setup (Docker or native Node.js).

Method 1: Using Docker Desktop (Recommended)

If you are using Docker to run your bridge, your docker-compose.yml file is already configured with the restart: unless-stopped flag. We just need to ensure Windows launches Docker on boot.

Step 1: Configure Docker to Start on Boot

  1. Open the Docker Desktop application from your Windows Start Menu.

  2. Click the Gear icon (Settings) located in the top right corner of the Docker window.

  3. On the left sidebar, ensure you are on the General tab.

  4. Check the box next to “Start Docker Desktop when you log in”.

  5. Click the Apply & Restart button in the bottom right corner.

Step 2: Run the Bridge in the Background

  1. Open your Windows Start Menu, type cmd, and press Enter to open the Command Prompt.

  2. Navigate to the folder where your docker-compose.yml file is located. For example:

cd C:\Users\YourName\Documents\PebbleBridge

  1. Run the following command to start the bridge in “detached” (background) mode:

docker-compose up -d

Note: You can now close the Command Prompt. Whenever your PC reboots, Docker will start silently in the background and automatically spin up your bridge!

Method 2: Using Node.js directly (Without Docker)

If you are not using Docker and instead running the bridge directly using Node.js, you will need a lightweight process manager called PM2. This tool is designed to keep Node.js applications alive forever and start them when Windows boots.

Step 1: Open PowerShell as an Administrator

  1. Open your Windows Start Menu.

  2. Type PowerShell.

  3. Right-click on Windows PowerShell and select “Run as Administrator”.

  4. Click Yes on the User Account Control prompt.

Step 2: Install PM2 and the Windows Startup Tool

In your Administrator PowerShell window, run the following two commands, pressing Enter after each one:

PowerShell:

npm install -g pm2

npm install -g pm2-windows-startup

Step 3: Install the Startup Hook

Next, run the following command to integrate PM2 with your Windows boot process:

PowerShell:

pm2-startup install

Step 4: Start and Save Your Bridge

  1. In the same PowerShell window, navigate to the folder containing your bridge-index.js file. For example:

cd C:\Users\YourName\Documents\PebbleBridge

  1. Tell PM2 to start your bridge and name the process “roon-bridge”:

pm2 start bridge-index.js --name “roon-bridge”

  1. Finally, tell PM2 to save this current configuration so it remembers to boot it next time Windows starts:

pm2 save

Note: Your bridge is now running in the background. If you ever need to view the logs or stop the bridge, you can open PowerShell and type pm2 logs roon-bridge or pm2 stop roon-bridge.

Thanks for info. I figured switching to docker was the straightforward option so gave it go with the updated version. I installed docker for windows, and the bridge appeared to run fine , but now the extension is not found by roon. Did I miss something?

Hmm, it might be because you’re on windows. I’ve push a new docker compose and bridge to github.

For reference, here’s the docker compose file contents:

services:
pebble-roon-bridge:
build: .
container_name: pebble-roon-bridge
ports:
- “3000:3000”
environment:
# IMPORTANT: Replace 192.168.1.100 with the actual IP address of your Roon Core
- ROON_CORE_IP=192.168.1.100
restart: unless-stopped

You will need to edit this file and update it with your core’s ip address. You will need this in conjunction with the new bridge. Let me know if that works for you and thanks for helping me troubleshoot this so it can work for other users with your setup.

Thanks for the new files, but no luck unfortunately. I changed the IP address in the file, renamed it. It ran ok and showed up in docker and roon but the pebble showed no bridge found. After the restart docker said it was running but room showes no extension found

I went back and used git bash with the npm install option and it worked straight away. I did have to rename the package file to just ‘package’ otherwise file was not found, but otherwise all good.

The zone switching and larger text looks really good. All really smooth and looks great.