A DIY macro deck built around an Arduino Nano — 9 programmable buttons, a rotary encoder, an OLED display, and an expandable module system (sliders, knobs, extra buttons). Each button can open a URL, launch an app, send a hotkey, control volume or screen brightness, and more. Configure everything from the desktop UI, no code editing required.
This is an open-source maker project. The full package (3D-printable enclosure files, electronics schematics, and BOM) is available as part of the crowdfunding campaign.
| Folder / File | Description |
|---|---|
console_deck_pro_arduino/ |
Arduino firmware (upload once to the board) |
UI/ |
Flutter desktop app (Windows / macOS / Linux) |
console_deck_pro.py |
Python backend source — bridges the Arduino with the OS |
dist/console_deck_pro.exe |
Compiled backend executable (produced by CI via PyInstaller) |
config.example.json |
Example configuration — copy to get started |
requirements.txt |
Python dependencies (for manual / dev use) |
BUILDING.md |
How to build the installer from source |
PLATFORMS.md |
Platform-specific notes (Windows / macOS / Linux) |
Click Code → Download ZIP on GitHub, then extract the folder anywhere on your PC.
Alternatively:
git clone https://github.com/LucaDiLorenzo98/console_deck_pro.git
You only need to do this once.
- Download and install Arduino IDE
- Open Arduino IDE → Sketch → Include Library → Manage Libraries → search U8g2 → Install
- In the extracted folder, open
console_deck_pro_arduino/console_deck_pro_arduino.ino - Plug the Arduino Nano into your PC via USB
- Set Tools → Board → Arduino AVR Boards → Arduino Nano
- Set Tools → Processor → ATmega328P (try "Old Bootloader" if upload fails)
- Set Tools → Port → select the COM port that appeared when you plugged in the Nano
- Click Upload (the → arrow)
The OLED display should light up and show the boot screen. Done — you never need to touch Arduino IDE again.
- Go to the latest release on GitHub
- Download
ConsoleDeckPro_Setup.exe - Run the installer and follow the wizard
The installer includes everything: the UI app and the compiled backend — no Python installation required.
- In the installation folder (default:
C:\Program Files\Console Deck PRO), double-clickconsole_deck_pro.exeto start the backend. You can also add it to Windows startup via Task Scheduler or by placing a shortcut inshell:startupso it runs automatically at login. - Open Console Deck PRO from the Start menu (or desktop shortcut) to launch the UI.
- Go to Settings and select the Arduino serial port (e.g.
COM3). - The OLED display will show the connected state and begin displaying PC stats.
- Go to the Modules tab in the app
- Click any button slot to assign an action
- Changes save automatically and take effect immediately
| Action | What it does |
|---|---|
open_url |
Opens a URL in the default browser |
open_app |
Launches an executable by name |
hotkey |
Sends a key combination (e.g. Ctrl+C, Win+PrintScreen) |
type_text |
Types a text string |
mute |
Toggles system mute |
set_volume |
Maps slider/knob to system volume |
set_brightness |
Maps slider/knob to screen brightness |
home_assistant |
Triggers a Home Assistant service call |
Connect an expansion board to the side connector and select the module type from the on-device menu:
- Sliders — 2 analog sliders (typically volume + brightness)
- Knobs — 2 rotary knobs
- Buttons — 6 additional momentary buttons
If you want to run the backend from source instead of using the compiled .exe:
- Go to python.org/downloads and download the latest Python 3.10+ installer for Windows
- Run the installer — check "Add Python to PATH" before clicking Install
- Verify the installation by opening a terminal and running:
python --version
- Open a terminal in the project folder (where
requirements.txtis located) - Run:
pip install -r requirements.txt
python console_deck_pro.py
See BUILDING.md for instructions on building the Python backend, the Flutter app, and the Windows installer.