DroidDeck Turn an Android phone into a Stream Deck for your Windows PC. English · Português Download · Website · Documentation [!NOTE] Looking for the app that runs Steam games on Android? That is a different project that happens to share the name: Droid-Deck/DroidDeck. This one turns your phone into a button deck that controls a Windows PC. Set up a grid of buttons on your phone that fire shortcuts, open apps,…
Turn an Android phone into a Stream Deck for your Windows PC. Free and open source: hotkeys, macros, per-app audio mixer, media, live stats, Discord, OBS, Spotify, Twitch, YouTube, Home Assistant and Tuya. Flutter app + .NET 8 tray app.
[!NOTE]
Looking for the app that runs Steam games on Android? That is a different project that happens to
share the name: Droid-Deck/DroidDeck. This one turns your
phone into a button deck that controls a Windows PC.
Set up a grid of buttons on your phone that fire shortcuts, open apps, control audio and media, drive
Discord and OBS, play sounds and switch your smart lights. The PC side is a small tray app; the phone
talks to it over your local network.
💡 Why DroidDeck
Free and open source — no subscription, no limit on the number of buttons or pages.
No sign-up, no cloud — DroidDeck itself needs no account; the phone talks straight to your PC on the local network.
Integrations built in — Discord, OBS, Spotify, Twitch, YouTube, Home Assistant and Tuya work out
of the box, with live state on the buttons. No plugins to hunt down.
Edit on the big screen — a drag-and-drop configurator in the PC’s browser; changes reach the
phone instantly.
Updates itself — the Windows app installs new versions in the background.
✨ Features
⌨️ Shortcuts & apps
Send key combinations, open programs, files and URLs, run PowerShell/Python/.bat scripts, chain steps in a multi-action (with conditions), call webhooks and APIs.
🪟 Windows
Switch the default audio device (headphones ↔ speakers), lock, sleep, turn the screen off.
⏱️ Timers
Countdown, stopwatch, pomodoro and counters with a live clock on the button.
🎮 Steam
Pick an installed game and the button gets its cover; tap to launch it.
🗂️ Profiles
Folders, long-press and double-tap actions, automatic switching by the focused app, .droiddeck backups, and an offline copy of the deck on the phone.
🔊 Audio mixer
Mute apps, change device volume, toggle the mic. The phone also has a full per-app mixer.
⏯️ Media
Play/pause, next, previous for whatever is playing in Windows (Spotify, browser, players).
📊 Live monitors
CPU, GPU, RAM and network gauges that update every second.
Scenes, recording, streaming, virtual camera, replay buffer, mute and show/hide sources, filters, chapter markers, screenshots — with live state.
🎵 Soundboard
Search and play sounds from MyInstants, routed to your mic through VB-Cable.
💡 Smart home
Home Assistant, and Tuya / Smart Life lights, plugs and switches — toggles, dimmers and colours, with real state.
🎧 Spotify
Player, like, shuffle, playlists and the album cover on the button (Premium).
📡 Twitch & YouTube
Markers, clips, ads, polls and chat; live status and viewers.
🔁 Two states & info
Toggle buttons with their own icon and label; clock, weather, now playing, Windows notifications, command output and URL values on a button; record macros from the keyboard.
🎚️ Sliders & big buttons
Volume sliders for the PC, the mic or one app; buttons that span several cells; animated GIF icons.
🤖 Automations
Press a button by itself at a set time, when an app opens or closes, or when the PC wakes up.
📥 Import & share
Import Elgato Stream Deck profiles, share a profile by link or QR, start from the profile gallery.
🖥️ Several PCs
Pair one phone with more than one PC and switch from the deck’s top bar.
📱 iPhone, iPad & USB
Use the deck in any browser (iPhone, iPad, another PC) through a QR code, or connect an Android phone over a USB cable, no Wi-Fi needed.
🎨 Themes
Ready-made themes, light/dark mode, accent colour and three button styles. A “deck only” mode opens straight into a full-screen deck, and buttons can vibrate on tap.
📸 Screenshots
🚀 Getting started
You need both parts: the Windows app (it does the work) and the Android app (the buttons). The
phone app alone does nothing. On an iPhone or iPad, use the
deck in the browser instead of the app.
Requirements: Windows 10 1809+ (64-bit) · Android 7.0+ (or any browser, for iPhone and iPad) · phone and PC on the same local network, or an Android phone on a USB cable.
Windows — download and run DroidDeck-Setup.exe from the latest release.
It lives in the system tray and updates itself. (Prefer no installer? Use DroidDeck-win-x64.zip,
extract it and run DroidDeck.exe.) No .NET install needed.
Android — install DroidDeck.apk from the same release.
Pair — right-click the tray icon → Parear dispositivo (QR)… and scan the code with the app.
Configure — open http://localhost:4787/ on the PC to edit your buttons. Changes show up on the phone instantly.
[!NOTE]
The app follows the phone’s language (English, Portuguese, Spanish or Hindi; anything else gets English). The
documentation is available in both.
flowchart LR
phone["Android phone<br/>(button grid)"] -- "REST + SignalR<br/>port 4787" --> pc["DroidDeck on Windows<br/>(tray app)"]
browser["Browser on the PC<br/>(configurator)"] -- "http://localhost:4787" --> pc
pc --> win["Windows: keys, apps,<br/>audio, media"]
pc --> ext["Discord · OBS · Tuya<br/>MyInstants"]
This is a monorepo with both halves of the project, which evolve together:
DroidDeck/
DroidDeck/ C# backend (.NET 8 / WinForms tray + ASP.NET Core + SignalR). Serves the API and the web configurator.
app/ Flutter app: phone runtime + web configurator (same codebase).
tests/ Backend tests.
scripts/ Utilities (deploy the web build to wwwroot).
website/ Landing page + documentation (MkDocs, EN/PT) published to GitHub Pages.
App and backend share a contract: REST (/api/...), SignalR (/deckHub) and UDP discovery
(port 7573), authenticated with an API key obtained through QR pairing.
🛠️ Building from source
# Backend: tray app + web server at http://localhost:4787
dotnet run --project DroidDeck
# Web configurator: flutter build web + copy to DroidDeck/wwwroot
.\scripts\deploy-web.ps1
# Android APK
cd app
flutter build apk --debug --target-platform android-arm64
Backend modes: default (tray), --headless (server only), --print-pairing (prints the pairing URI/QR and exits).
Issues and pull requests are welcome; see CONTRIBUTING.md. Translating the app into
your language is a great first contribution, and questions and ideas go to
Discussions.
If DroidDeck is useful to you, consider leaving a ⭐ — it helps the project reach more people.
评论