# 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 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.