An open-source macro keypad built with an ESP32 and touchscreen that connects to computers via Bluetooth for automation.
FreeTouchDeck is an open-source firmware for ESP32 microcontrollers that turns a touchscreen into a programmable Bluetooth macro keypad. It solves the problem of expensive or limited commercial macro pads by providing a customizable, DIY alternative that users can build and configure themselves. The device connects to computers as a Bluetooth keyboard, allowing it to trigger complex keystrokes, launch apps, or run scripts with a single touch.
DIY electronics enthusiasts, makers, and power users who want a customizable physical interface for computer automation, streaming, or accessibility needs without relying on proprietary hardware.
Developers choose FreeTouchDeck because it offers full hardware and software customization at a low cost, supports multiple platforms, and has an active community. Unlike commercial macro pads, it is entirely open-source, allowing modifications and integrations tailored to specific workflows.
For interfacing with Windows/macOS/Linux using an ESP32, a touchscreen and BLE.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Emulates a BLE keyboard to work seamlessly with Windows, macOS, and Linux via a companion helper app, enabling macro execution without platform-specific drivers.
Offers a configurator accessible through a browser to design multiple pages of buttons with custom icons and labels, allowing tailored workflows for streaming or automation.
The helper app automatically switches FreeTouchDeck pages based on the active computer application, enhancing productivity for context-sensitive tasks like video editing.
Supported by a Discord server for real-time help and user-contributed cases on Thingiverse, providing resources beyond official documentation.
Admits breaking changes between ESP32 Arduino core versions (e.g., 2.x.x to 3.x.x) that can prevent compilation, forcing users to downgrade or wait for fixes.
Requires editing TFT_eSPI library files and managing multiple external libraries; the README warns that mixing file versions causes unexpected behavior, increasing complexity.
Only officially supports specific ESP32 and touchscreen combinations, with custom builds relying on community forks and offering no guarantees, restricting flexibility.
The master branch is often unstable per the README, forcing users to rely on stable releases that may lack latest features, and the configurator lags behind development.