Workbench
Translator
Learn keyboard scripting by translating between DuckyScript and Adafruit CircuitPython. Type or paste, then translate. No board needed.
Ready. Translation stays in this browser and never runs your script.
From a typing lesson to a board
Start with the example and open a blank text editor before trying it on your own computer. The script types “Hello from the Workbench!” and presses Enter.
For the Python output, flash CircuitPython using Flash, then copy the adafruit_hid folder from the Adafruit library bundle matching your CircuitPython version into CIRCUITPY/lib/. Save the output as code.py on CIRCUITPY. It runs when saved or when the board starts.
The IDE can edit the output. Its current board connection and Packages catalog target MicroPython; for CircuitPython, download and copy the file to the CIRCUITPY drive. Use a board with native USB HID support, such as a Pico running CircuitPython.
Supported syntax
REM, STRING, STRINGLN text, DELAY in milliseconds, DEFAULT_DELAY / DEFAULTDELAY, REPEAT, and keys or shortcuts such as ENTER, TAB, CTRL A and GUI. Repeats expand into plain Python statements. Text uses a US keyboard layout and printable ASCII.
Reverse translation supports straight-line Adafruit HID scripts: imports and setup, time.sleep(...), layout.write("text"), and keyboard.send(Keycode.ENTER), including aliases such as kbd. Loops, variables, held keys, mouse commands and advanced DuckyScript features need manual editing. Unsupported lines block the result and show their line numbers.
References: Hak5 DuckyScript · Adafruit HID. DuckyScript is a Hak5 trademark.