Hardware Automation Controller

Patch is a programmable hardware panel designed for developers, engineers, and power users. It enables instant execution of custom automation scripts via physical buttons and encoders, connecting seamlessly over USB. Each button press or encoder rotation triggers user-defined Python scripts on the host computer, turning complex workflows into simple physical actions.
- Simplicity: Patch uses a straightforward UART-based protocol for reliable communication.
- Power: Execute any Python script—no limitations, no sandboxing.
- Elegance: Features a semi-transparent, minimalist design inspired by modern tech aesthetics.
- Openness: The protocol is open and extensible, allowing integration with any software stack.
- Microcontroller: Raspberry Pi RP2040
- Interface: USB-C (UART/CDC)
- Controls:
⚒ - 8x Tactile buttons (programmable)
- 2x Rotary encoders (with push-button functionality)
- Case: 3D-printed matte finish shell
- Firmware: Custom-built in C/C++ (Arduino framework compatible)
Patch communicates via serial (UART) at 115200 baud
. The protocol is text-based and human-readable.
Each Patch device has a unique ID printed on its packaging. To autodiscover the device:
- Host sends:
start {id}\n
- Patch responds:
started {id}\n
(if ID matches)
Patch sends events in the format:
{device}-{number}-{action}-{value}\n
- Examples:
button-1-pressed-1
button-1-released-0
encoder-2-rotated-10
(value represents rotation steps)
The host runs a Python daemon that:
- Discovers the Patch device via ID
- Listens for incoming events
- Maps events to user-defined Python scripts
pip install pyserial
Script mappings are defined in a config.json
file:
{
"button-1-pressed": "/path/to/script1.py",
"encoder-2-rotated": "/path/to/script2.py"
}
# Example script: git_push.py
import subprocess
subprocess.run(["git", "add", "."])
subprocess.run(["git", "commit", "-m", "Automated commit by Patch"])
subprocess.run(["git", "push"])
- Connect Patch via USB
- Run the daemon:
patchwork --start-id YOUR_DEVICE_ID
- Press a button—your script executes instantly
Patch: Just press it.
by Intelektika-team, Teamlead - pt, status - active development.
Intelektika 2025 - Dimitrovgrad - started at 30.08.2025
keywords- Intelektika team, Intelektika-team, Intelektika, Intelektika patch, team intelektika, project patch, the patch, patch, kvantorium, dimitrovgrad, Кванториум73, Кванториум Димитровград, Кванториум Патч