SmartDeck transforms ESP32-based touch screens into powerful macro control panels. Create custom buttons to execute keyboard shortcuts, launch applications, control media, run scripts, build multi-action sequences, and much more. Perfect for streamers, content creators, developers, and power users.
| Device | Description |
|---|---|
| Guition JC8048W550 | 5" 800x480 Capacitive, ESP32-S3 (AliExpress) |
⚠️ Important: SmartDeck is designed and optimized specifically for the Guition JC8048W550 display. All 3D printed enclosure files, rotary encoder mounting, and default configurations are tailored for this device.
SmartDeck is open source and can be adapted for other ESP32-based displays. To use a different screen:
- Download the Arduino source files from this repository
- Install ESP32 Board Package v2.0.17 in Arduino IDE
- Modify the following files for your display:
config.h- Screen resolution, pin definitions, touch configurationArduino_GFX_dev_device.h- Display driver and initialization settings
- Compile and upload to your device
💡 Community contributions for other displays are welcome! If you successfully adapt SmartDeck for a different screen, consider submitting a PR.
⚠️ Note: The following parts are required to build the complete SmartDeck with rotary encoder. The display itself is sold separately - see "Supported Devices" above.
| Part | Description | Link |
|---|---|---|
| Guition JC8048W550 | 5" ESP32-S3 Capacitive Display (Main unit) | AliExpress |
| AS5600 Magnetic Encoder | Rotary encoder module with magnet included | AliExpress |
| NeoPixel RGB LED Ring | 16-LED WS2812 ring (53mm inner, 66mm outer) | AliExpress |
| 25×52×15 Ball Bearing | Deep-groove ball bearing for smooth rotation | Link |
| 6×3mm Neodymium Magnets | Round magnets for encoder (80-150 pcs) | Temu |
| 1.25mm to Dupont Cable | 4-pin cable for 5V, GND, external pins (2 pcs) | AliExpress |
| 90° USB-C Adapter | Right-angle Type-C male to female (40Gbps preferred) | AliExpress |
| Screws | Assorted screws for assembly | Temu / AliExpress |
| Cables & Wires | General-purpose wires for connections | — |
| Soldering Iron | For wiring and assembly | — |
| Tape | Insulation tape for cable management | — |
STL files for the enclosure are available in the /3d_print_files folder.
| Action | Description |
|---|---|
| HotKey | Keyboard shortcuts (CTRL+C, ALT+TAB, etc.) |
| Page | Navigate between button pages |
| Toggle | Two-state buttons with visual feedback |
| Text | Type text with optional realistic typing simulation |
| Open App | Launch applications |
| Timer | Countdown timers with notifications |
| Script | Execute command-line scripts |
| Website | Open URLs in browser |
| Media | Play/pause, volume, track controls |
| Mouse | Click, double-click, move, drag |
| Counter | Increment/decrement with long-press reset |
| Sound | Play audio files with volume control |
| Multi-Action | Chain multiple actions in sequence |
Create complex macros by chaining actions together:
- Delay - Wait between actions (ms precision)
- HotKey - Press key combinations
- Text - Type text strings
- Open App - Launch programs
- Website - Open URLs
- Script - Run commands
- Media - Media controls
- Sound - Play audio
- Mouse - Mouse operations
- Go to Page - Switch pages
Drag & drop interface for easy sequence building.
- Volume control, scrolling, zooming
- Customizable actions for clockwise/counter-clockwise
- LED color feedback per page
- Adjustable sensitivity
- Modifier key combinations (ALT+Scroll, CTRL+Scroll)
- 100,000+ Icons via Iconify integration
- Local Images with built-in crop & scale editor
- Custom Colors for background, text, icon, stroke, shadow
- Text Positioning - Top, middle, bottom alignment
- Per-Button Styling - Every button fully customizable
English • Türkçe • Deutsch • Español • Français • 日本語 • 中文
- Auto-Connect - Automatic device detection and reconnection
- Smart Upload - Only uploads changed files (faster sync)
- App-Based Pages - Auto-switch pages based on active application
- Sleep/Wake - Configurable screen timeout with tap-to-wake
- Preview Mode - Test buttons without device (right-click → Test)
- Undo/Redo - Full history with up to 50 steps
- Drag & Drop - Reorder buttons and pages intuitively
- System Tray - Minimize to tray, start minimized option
Ready-to-use shortcuts for:
- Adobe Suite (Photoshop, Premiere, After Effects, Illustrator)
- 3D Software (Blender, Cinema 4D)
- DAWs (FL Studio, DaVinci Resolve)
- Streaming (OBS Studio)
- Development (VS Code)
- General (Chrome, Discord, VLC, Spotify)
- Windows 10/11
- Guition JC8048W550 (or compatible ESP32 display)
- Download latest release from Releases
- Run installer
- Connect device via USB
- Flash firmware using ⚡ Install Firmware button
- Start creating!
┌─────────────────┐ USB/Serial ┌──────────────────┐
│ SmartDeck App │ ◄───────────────► │ ESP32 Device │
│ (Electron) │ 115200 baud │ (Touch Screen) │
└─────────────────┘ └──────────────────┘
│ │
▼ ▼
Button Config Display & Touch
Action Execute Button Rendering
Serial Commands Touch Events
- App scans for COM ports automatically
- Sends PING, waits for PONG handshake
- Syncs configuration to device
- Receives touch events in real-time
- Auto-reconnects on disconnect
| Category | Options |
|---|---|
| Device | Name, resolution, grid size, colors |
| Screen | Brightness, sleep timeout |
| Knob | LED colors per page, sensitivity, actions |
| Startup | Launch with Windows, start minimized |
| Close | Exit or minimize to tray |
| Sound | Toggle sound, timer notification |
| Language | 7 language options |
- Click ⚡ Install Firmware
- Select screen model
- Choose COM port
- Click START FLASHING
- Wait for completion (~60 seconds)
⚠️ Do not unplug during flashing!
- ✅ Multi-Action Builder with drag & drop
- ✅ Rotary encoder support with LED feedback
- ✅ Preview/Test mode (right-click menu)
- ✅ Start minimized to system tray
- ✅ Unicode path support (Turkish characters, etc.)
- ✅ App-based automatic page switching
- ✅ Smart upload (only changed files)
- ✅ Serial debug monitor
- ✅ Improved auto-reconnect stability
- ✅ Full internationalization for all UI elements
Contributions welcome!
- Bug Reports: Open an issue with reproduction steps
- Feature Requests: Describe your idea in an issue
- New Device Support: Fork, adapt firmware, submit PR
This project is open source. See LICENSE for details.
- Iconify - Icon library
- NirCmd - Audio control utilities
- Electron - Application framework
- @jitsi/robotjs - Keyboard/mouse automation
⬇️ Download • 🐛 Report Bug • 💡 Request Feature
Made with ❤️ by ozancs
