Roon control,
right where the music is.

A fast, tactile Roon remote for the Waveshare ESP32-S3 Knob Touch LCD 1.8. No bridge, companion app or additional service required.

Start directly in the Web Installer. In the device chooser, the name before the parentheses is what matters; Device Manager and System Information are not required.
  • Direct local Roon connection
  • Touch and rotary control
  • Signed A/B updates
Original blue Waveshare ESP32-S3 Knob Touch LCD 1.8 running RoonPilot

Personal hobby project · no business model

Made for the joy of music and technology

RoonPilot was created for the enjoyment of music, technology and building something useful—not as a commercial venture. There are no advertisements, subscriptions or hidden costs. RoonPilot does not transmit personal, usage or telemetry data to the developer or any third party.

Support and discussion: use the Roon Community Forum thread or GitHub Issues.

Anyone who would voluntarily like to say thank you for the time and effort invested:

Send Me a Coffee

The browser shows the connected processor.

In the Web Installer's device chooser, simply read the name before the parentheses. The additional COM… or cu.usbmodem… value may differ.

Select for RoonPilot

USB JTAG/serial debug unit

This is the ESP32-S3 for the display, touch, rotary ring, Wi-Fi and RoonPilot firmware.

Unplug firstTurn the USB-C plug by 180°
Other plug position

USB serial

This is the separate classic companion processor, not the target of the main RoonPilot installer.

No preliminary check needed. If the open chooser shows USB serial, unplug USB, turn the USB-C plug by 180 degrees and reconnect it. The browser detects the device again immediately. Device Manager and System Information remain optional additional checks.
Optional technical background: the two processors

01

Start directly in the Web Installer

The browser handles device selection; no operating-system tool is needed beforehand.

  1. 1

    Use a USB data cable

    A charge-only cable can power the display but cannot transfer firmware.

  2. 2

    Open the Web Installer

    Use Chrome or Edge, enable the confirmations and start installation. The device chooser then opens.

  3. 3

    Read the name before parentheses

    Select USB JTAG/serial debug unit for RoonPilot. COM… or cu.usbmodem… appears only as additional information in parentheses.

  4. 4

    Turn the plug if the entry is wrong

    For USB serial, leave the chooser open, unplug USB, turn the USB-C plug by 180 degrees and reconnect it. The browser refreshes the choice immediately.

An original-firmware backup is optional and not a prerequisite for RoonPilot.

02

Install RoonPilot in the browser

The Web Installer shows the correct USB entry directly in its chooser.

Installation checklist
ESP32-S3
USB cable
Data capable
Browser entry
USB JTAG/serial debug unit
Browser
Chrome or Edge

When asked, confirm Erase device. No separate erase is needed beforehand.

Keep USB connected until erase, write and verification are complete.

Later updates run directly from RoonPilot under System → Firmware update and normally preserve settings.

Device choice: the name before the parentheses is what matters. The chooser can remain open while USB is unplugged, turned and reconnected.

03

After the first installation

Normal updates no longer require a USB cable.

TaskWhereWhat happensNeeded?
First installationWeb Installer with USBInstalls RoonPilot on the ESP32-S3Once
Later updatesRoonPilot → SystemDownloads and installs the approved updateAs offered
Companion firmwareSeparate Web Installer with USBPuts the unused second processor into deep sleepOptional

The Companion firmware is optional.

RoonPilot works fully without it. The separate Companion guide for Windows or macOS also leads directly to its own Web Installer restricted to the classic companion ESP32.

04

From first boot to Roon control

A clean factory image contains no private Wi-Fi or Roon data.

  1. 1

    Join the setup AP

    Connect to RoonPilot-Setup-XXXXXX. If the captive page does not open, visit 192.168.4.1.

  2. 2

    Connect Wi-Fi

    Select or enter your 2.4 GHz network and save the password locally on the device.

  3. 3

    Open the local UI

    Use the address shown by your router or the device. No Internet account is required.

  4. 4

    Approve RoonPilot

    In Roon, open Settings → Extensions and enable RoonPilot by Senior Coder.

  5. 5

    Select the server

    If several Roon Servers are found, choose the intended one. A fixed local IP can be entered when discovery is blocked.

  6. 6

    Choose your zones

    Select the primary zone and hide rooms that should not appear on the device.

Wrong Wi-Fi password? After about 45 seconds RoonPilot returns to its setup AP, so the credentials can be corrected without erasing or reflashing.

05

Built for the way you listen

Fast physical control, a considered round interface and complete local configuration.

RoonPilot Classic now-playing screen

Tactile control. Beautifully simple.

Turn the full outer ring for volume. RoonPilot automatically follows native percent, dB and relative outputs. Tap, swipe or hold the capacitive display for playback and device controls.

  • Play/pause, previous and next on the display
  • Horizontal swipe for track changes
  • Three selectable now-playing layouts
  • Zone picker, native percent/dB volume and Roon-pairing screens
  • Station and digital clocks with day/night brightness
  • Quick settings, optional control lock and centre double-tap display-off

Turn · tap · double-tap · swipe · hold

Every gesture at a glance.

Volume, transport, zone selection, Quick Settings, control lock, immediate display-off and wake-up are available directly on the device.

Read the complete device controls
RoonPilot device control overview showing rotary, tap, centre double-tap display-off, swipe, hold and wake gestures

Open image at full size

Web interface. Total local control.

The responsive local interface manages RoonPilot directly from the same network.

  • Roon Server and zone management
  • Display, rotary and touch settings
  • Configuration export/import without secrets
  • Signed online and local A/B firmware updates
  • Visible update status with separate web/device notification controls
  • Diagnostics and battery runtime calibration
  • Guarded deep sleep with touch and rotary wake
RoonPilot local web interface overview

No bridge. No Raspberry Pi. No additional service.

RoonPilot talks directly to Roon on your local network. Configuration, pairing and control remain local.

06

One precisely supported module

RoonPilot targets the Waveshare ESP32-S3-Knob-Touch-LCD-1.8, not a generic round ESP32 display.

Main processor
ESP32-S3R8 · 16 MB flash · 8 MB PSRAM
Display
1.8-inch round IPS LCD · 360 × 360 · capacitive touch
Controls
Full rotary ring plus touch gestures
Companion
ESP32-U4WDH · independent 4 MB flash
Onboard hardware
PCM5100A DAC, microphone, vibration motor and microSD
Power
USB-C or optional internal 3.7 V / 800 mAh battery

Blue and black enclosure variants are sold with or without an included battery. Check the exact order code and regional battery restrictions before purchasing.

Waveshare product page Official technical wiki

07

Everything you need, explained

Start with the guide for your computer. Technical background and optional recovery paths remain separate.

USB trouble or recovery?

Use BOOT/RESET only when automatic USB connection fails. Never rotate the plug and flash the second processor as a troubleshooting guess.

Open recovery guide