TouchDeck

JC8048W550C · ESP32-S3

Touch desk controller for macOS

Open apps, control volume and media from a 7″ display — configured through the Companion or the onboard web portal.

TouchDeck Media page — Now Playing

What’s in the system?

TouchDeck board

800×480 LCD + GT911, LVGL UI, BLE GATT, Wi‑Fi portal / OTA / icons.

Companion (Tauri, macOS)

Scan BLE → receive action_id → open apps / volume / media; sync volume to the deck.

Portal & grid editor

Wi‑Fi, BLE pairing, idle settings; shortcut grid + action_id at touchdeck.local/grid.

Connection channels

ChannelUsed for
Bluetooth GATT Tile presses, Now Playing, volume UI, companion commands (protocol v4)
Wi‑Fi Portal, OTA, icon upload — no WebSocket launch

On-desk screens

2–4 pages: Media (Now Playing) + shortcut grids. Swipe horizontally or tap the dots to change page. Status bar on the right:

IconMeaning
Volume % / MutedMac output level (Companion GATT; updates on connect and after Vol±/Mute)
BluetoothIcon only — green = GATT connected; yellow = pairing
Green = companion linked — host tiles enabled
Wi‑FiGreen = STA; yellow = AP setup
Media page
Shortcut grid

Media: seek ±10s, rate −/1x/+, Vol±/Mute. Grid: tap a tile to open an app.

Getting started

1. Flash firmware

  1. USB‑C cable with data + Chrome or Edge.
  2. Open Install firmware → Connect USB → Write firmware (erase flash on first install).
  3. If Wi‑Fi isn’t set yet, the board advertises AP TouchDeck-Setup-XXXX (password touchdeck).

Open the installer →

2. Configure Wi‑Fi

  1. Join the AP or open http://192.168.4.1 / later http://touchdeck.local
  2. Enter SSID, password, device name, hostname, OTA password → Save & Restart
Device settings portal
Grid editor

3. Bluetooth (GATT)

  1. Enable Bluetooth (+ Pairing mode the first time) in the portal or Companion → Device
  2. On the Mac, grant Bluetooth access to TouchDeck Companion
  3. Companion → Scan BLE → Connect to TouchDeck-XXXX

Companion is the GATT central (not classic HID pairing). Volume/media are handled in the app — no system volume HUD from BLE HID.

4. Companion on Mac

Download the packaged app — no Node/pnpm required:

  1. Open the .dmg → drag TouchDeck Companion.app into Applications.
  2. Launch the app. If macOS blocks it: right-click → Open.
  3. Connect tab → Scan BLE → Connect.
  4. Grant Accessibility for media / keyboard / volume.

Intel Mac or build from source: see the README (pnpm run dist).

TouchDeck Companion

5. Daily use

Customize the grid

Open http://touchdeck.local/grid or Companion → Grid: change columns/rows, labels, SD icons, actions (action_id) → Save to device. Full docs: user guide (EN).

Buy the board

TouchDeck targets the Guition JC8048W550C (ESP32-S3, 5″ / 7″ class IPS 800×480 + capacitive touch). Product listing: AliExpress — JC8048W550C.

Quick troubleshooting

SymptomCheck
App tiles dimmedCompanion Connected? ⇅ icon green?
Media / mute deadBLE linked? Accessibility granted?
Volume % wrong after connectCompanion Log should show volume now X%
No system volume HUDExpected on v4 (no BLE HID)
Portal won’t openTry LAN IP or AP setup mode
Flash failsChrome/Edge, data cable, ESP32‑S3 port

Ready to flash the board?

The Web Serial installer pulls firmware from GitHub Releases — no PlatformIO required on your machine.

Install ESP firmware →