ESP32-S3 · LVGL · Linux

NexBoard

Eine Touch-Leiste im Stream-Deck-Stil unter dem Monitor. Lautstärke, Mikrofon, Media und Hotkeys mit einem Fingertipp – und für AION 2 ein DPS-Meter der ganzen Gruppe.

Nachbau der Leiste – auf dem Gerät 640 × 172 Pixel, Waveshare ESP32-S3-Touch-LCD-3.49

Was die Leiste kann

Die Firmware zeichnet nur, was der Daemon auf dem PC schickt. Alle Logik lebt am Rechner und ist über eine Web-UI einstellbar.

Kacheln

Taste, Schalter und Schieberegler für Lautstärke und Mute, Media mit Cover und Titel, Links, Hotkeys und Shell-Befehle.

Live-Status

Mute, Lautstärke und Track folgen dem PC, auch wenn dort umgeschaltet wird. Eigene Werte kommen per POST /api/state dazu.

Mehrere Seiten

Wischgesten zwischen Seiten, Hintergrund nach Wahl: Standard, Desktop-Hintergrund oder eigenes Bild.

AION 2

DPS-Meter der Gruppe als eigene Seite, Overlay über dem Spiel mit Boss-Leiste und Event-Timer, nach jedem Run ein Bild für Discord.

Discord-Bot

Gruppen-DPS und Run-Ergebnisse gehen an einen Bot, der die Meldungen mehrerer Spieler zusammenführt.

Modular

Touch-Leiste, Mitschnitt, Overlay, Runs, Bot und Updates einzeln ein- und ausschalten – ohne Neustart.

Aufbau

Gerät und Simulator teilen sich denselben LVGL-Code. Verbunden wird per WLAN, bei Bedarf über USB.

Gerät oder Simulator

LVGL 9.3 in C, identisch auf dem ESP32-S3 und im SDL-Simulator.

  • rendert Layout und Zustand
  • meldet nur, welche Kachel angetippt wurde
  • Ruhemodus ohne PC
WebSocket · JSON v1
WLAN oder USB

deckbar-daemon (Python)

Kennt alle Aktionen und hält den Zustand aktuell.

  • wpctl, pactl subscribe, playerctl --follow
  • xdg-open, ydotool, Shell
  • Web-UI mit Leisten-Editor und Live-Vorschau
  • Rust-Mitschnitt und QML-Overlay für AION 2

Loslegen

Getestet auf CachyOS / Arch mit KDE Plasma. Die ausführliche Anleitung steht im README.

# Pakete
sudo pacman -S --needed sdl2 playerctl ydotool wireplumber libpulse uv

# Daemon starten
git clone https://github.com/gamunex/deckbar.git
cd deckbar/daemon && uv sync
uv run deckbar-daemon --open

# Firmware flashen (PlatformIO)
uv tool install platformio
  • Hardware: Waveshare ESP32-S3-Touch-LCD-3.49, Board V1 und V2.
  • Ohne Gerät testen: der SDL-Simulator zeigt die Leiste 1:1 in einem Fenster.
  • Web-UI unter localhost:8765, nur vom eigenen PC erreichbar.
  • Früher DeckBar: technische Namen wie deckbar-daemon bleiben gleich.
  • Neueste Funktionen (Module, Discord-Bot, Ruhemodus) liegen noch im Branch modular.