Pico Rubber Ducky
🦆 Introduction
This is a USB Rubber Ducky project made with the Raspberry Pi Pico! It types commands and chords (keypresses that activate stuff, like Ctrl+Alt+T) at superhuman speeds, allowing you to execute keypresses really fast.
This project uses the C programming language, the Pico SDK, gcc, cmake, and make. Development has been tested on Debian Trixie only and its successful development or usage on Windows is not guaranteed.
It was tested on the RP2040 version of the Pico W. Due to not using any Pico-W exclusive features, it will very likely work on the original Pico.
🛠️ Usage
On Debian, run:
sudo apt update
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential libstdc++-arm-none-eabi-newlib
Clone the repository:
git clone <your-repo-url>
cd pico_rubber_ducky
Get the Pico SDK.
- If you have it, set an environment variable pointing to it:
export PICO_SDK_PATH=/path/to/their/pico-sdk - If not, clone it to the project folder:
git clone -b master https://github.com/raspberrypi/pico-sdk.git cd pico-sdk git submodule update --init cd .. export PICO_SDK_PATH=$(pwd)/pico-sdk
Build the dependencies and environment:
cmake .
Build the .uf2 file:
make
Now you can plug a Raspberry Pi Pico/Pico W on BOOTSEL mode and drag the finished .uf2 file into it.
Tip
If you don't want my test chord and string running, IMMEDIATELY unplug the raspberry pi once it has finished transferring.
🎁 Customization
Open main.c and go to line 168, where you can see several test functions. These are the chords and strings to be executed.
To execute a chord: type_chord("ctrl+alt+t");
To execute a string: type_string("hello!");
🏅 Credits
P7MJ original.
Warning
I do not endorse using this for malicious purposes! This is a test project ONLY.