

Hackducky
The hackclub themed USB rubber ducky ! - Check out hackducky
- Size
- 21 × 42.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 50
- Nets
- 75
- Pads
- 214
- Tracks, vias
- 657, 99
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 3 Feb 2025
- Updated
- 6 Aug 2026
Overview
Hackducky is an open-source printed circuit board by hackclub, from the hackclub/hackducky repository on GitHub. It is a 2-layer board of 21 × 42.4 mm with 50 parts on 75 nets, routed with 657 tracks and 99 vias.
It is built around the RP2040, W25Q16JVSSIQ and USBLC6-2P6, with the AP2112K-3.3, MBR1020VL and WS2812B among its other parts. Its parts include 16 capacitors, 14 resistors, 5 ICs, 4 diodes and 4 connectors. It belongs with the RP2040 boards of this library.
Main components
6RP2040
LQFN-56(7x7)12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)W25Q16JVSSIQ
SOIC-8-208mil-40℃~+85℃ 100,000 cycles 10uA 133MHz 16Mbit 2.7V~3.6V 20 Years 3ms SPI SOIC-8-208mil NOR FLASH ROHSWinbondNOR FLASHUSBLC6-2P6
SOT-666-6-40℃~+125℃ 150nA 17V 2 3.5pF 5.25V 5A@8/20us 6V ESD IEC 61000-4-2 Unidirectional SOT-666-6 ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)AP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedMBR1020VL
SOD-123F-55℃~+125℃ 1 Independent 1A 20V 340mV@1A 45A 600uA@20V SOD-123F Schottky Diodes ROHSonsemiSchottky DiodesWS2812B
5mm X 5mm Surface Mount RGB LED with Intelligent ControlWorldsemiUncategorised
README
README.mdHackDucky - New YSWS!
The hackclub themed USB rubber ducky ! - Check out hackducky
What is this?
Hackducky is hackclubs own version of making a USB rubber ducky built by hackclubers.A usb rubber ducky is basically something that looks like a USB but is actually a trojan. It pretends to be a keyboard to the computer allowing you to basically take control of the computer you plug it into
What you get
- Hackducky Board
- Dual USB ports (USB-A and USB-C)
- LED for the status and spare LED!- you can use it for other things if you like !
- Button for any extra features you may want to add !
- Debug points to use it as a devboard!
Getting Started
- Follow the guide on the website! - hackducky.hackclub.com
- A quick reference of all supported features for the ducky may be found here
Submission Criteria
1. Time Requirement
- Tracking: Minimum of 5 hours tracked with hackatime .
- Note on the requirements. I understand it doesnt take 5 hours to build a single script or even many in duckyscript so here's what you can do, If you want to excecute a python file then compile the file to exe or whatever excecutable form you need, Upload it somewhere public and then create a simple duckyscript to download and run it. You can totally spend more time on the python script and make it complex or for the challenge spend 5 hours on your duckyscript!
2. Originality
- Your project must be an original idea and not a direct copy from a tutorial.
- Tutorials can be referenced, but your submission should be your own creation.
3. Submission Limit
- You can submit multiple projects, but you can only receive one HackDucky.
Setup Guide
We ship a raw hackducky to you. There is no firmware preinstalled. These steps will help you get started with the ducky!
Step 1: Flashing CircuitPython to the board.
- Head to the Raspberry Pi Pico CircuitPython download page
- Download the .uf2 firmware.
- Plug in your HackDucky. A new drive named RPI-RP2 should appear.
- Drag and drop the .uf2 firmware into the drive.
- Eject the HackDucky, then plug it back in. If a drive named CIRCUITPYTHON appears, it was successful!
Step 2: Installing the firmware.
- Clone this repo:
git clone https://github.com/hackclub/hackducky - Open the folder.
- Copy all the files in the firmware folder into the CIRCUITPYTHON drive.
- Make sure to choose to replace existing files, then delete the existing code.py file.
Troubleshooting/FAQ
Read-only filesystem / I don't see a drive, how do I add my script?
Your Ducky is in payload mode.
Press and hold the programming pin (the pin closest to the USB-A port) while plugging it in.
What the LED indicators mean?
- Triple blink: Startup Sequence
- Single blink: Working/Processing - running/Starting Execution
- Rapid blinking: DuckyScript is incorrect / Firmware broke 😭 - Create a PR or new issue desribing the firmware problem
My script isn't working!
- Make sure you are not in programming mode: pull and plug back in
- If that didn't work:
- Open the file debug.log.
- Check for ERROR lines.
- If the error is complaining about your script, check your syntax.
- If it isn't, create an issue!
The keyboard is not recognised!:
- Try different USB port
- Check USB connection
- Verify target system supports USB HID
Safety Notes
- pls dont hack people with this pls - its only ethical
Parts
50| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100nF | Capacitor_SMD:C_0402_1005Metric | C7, C8, C11, C17, C18, C19, C20, C21 |
| 6 | 10k | Resistor_SMD:R_0402_1005Metric | R16, R17, R18, R19, R20, R21 |
| 4 | LOGO | LOGO | G***, G***, G***, G*** |
| 3 | 1uF | Capacitor_SMD:C_0402_1005Metric | C9, C10, C14 |
| 2 | 100n | Capacitor_SMD:C_0402_1005Metric | C16, C22 |
| 2 | 15pF | Capacitor_SMD:C_0402_1005Metric | C12, C13 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R8, R9 |
| 2 | 27.4 | Resistor_SMD:R_0402_1005Metric | R7, R22 |
| 2 | 5.1K | Capacitor_SMD:C_0402_1005Metric | R4, R5 |
| 2 | BOOT_SEL | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW3, SW4 |
| 2 | MBR1020VL | Diode_SMD:D_SOD-123F | D2, D3 |
| 2 | USBLC6-2P6 | Package_TO_SOT_SMD:SOT-666 | U3, U5 |
| 2 | WS2812B | LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mm | D1, D4 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C15 |
| 1 | 5.1K | Resistor_SMD:R_0805_2012Metric | R6 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | Conn_02x02_Top_Bottom | Connector_PinHeader_1.00mm:PinHeader_2x02_P1.00mm_Vertical_SMD | J2 |
| 1 | Crystal_GND24 | Crystal:Crystal_SMD_Abracon_ABM8G-4Pin_3.2x2.5mm | Y1 |
| 1 | DNF | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R15 |
| 1 | Micro_SD_Card | Connector_Card:microSD_HC_Molex_47219-2001 | J3 |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U4 |
| 1 | USB_A | Connector_USB:USB_A_CNCTech_1001-011-01101_Horizontal | J1 |
| 1 | USB_C_Plug | Connector_USB:USB_C_Plug_Molex_105444 | P2 |
| 1 | W25Q16JVSS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U1 |
Questions
How big is the Hackducky PCB?
It measures 21 × 42.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Hackducky use?
50 parts, built around the RP2040, W25Q16JVSSIQ, USBLC6-2P6 and AP2112K-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Hackducky KiCad files?
From the hackclub/hackducky repository on GitHub, at the commit this page was made from: the board is pcb/v3/hackducky.kicad_pcb and its schematic pcb/V2/hackducky.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hackducky design in my own project?
Its repository states no licence, so its author keeps all rights: ask hackclub before reusing the design.
More from hackclub/hackducky
2- 2 layers21 × 49.5 mm

- 2 layers70 × 19 mm

Hackducky v1
hackclub/hackducky
The hackclub themed USB rubber ducky ! - Check out hackducky
45 parts33
Similar boards
- 4 layers73 × 41 mm

- 2 layers73 × 41 mm

Badge
hackclub/reflow
A YSWS for the northern hemisphere's summer and the aussie's winter. Run by @pmnlla, with love and loads of carrots.
68 parts2 - 4 layers52.8 × 61.2 mm

GameboyCartridgeV2.1
shilga/rp-gameboy-cartridge-hw
You should order with ENIG (electroless nickel immersion gold) plating. While the cartridge will work with HASL you will getter contact with ENIG and it is less prone to wearing down.
81 parts72CERN-OHL-P-2.0 - 2 layers80 × 90 mm

Macro keypad
johnppilli/macro-keypad
Custom USB-C mechanical macro keypad - KiCad PCB design around an RP2040
70 parts - 4 layers26 × 57.1 mm

RS2040
Gopinath-T-Z/RS2040-Development-board
RP2040-based custom development board designed in KiCad (4-layer PCB).
54 parts - 2 layers39.1 × 57.5 mm

Rasp pi pico
Srushti-D-Hebbar/raspberry-pi-pico-development-board
Custom Raspberry Pi Pico-compatible development board designed from scratch in KiCad 10 using the RP2040 microcontroller.
50 partsMIT - 4 layers52.7 × 42.5 mm

OmniProbe
emertcakir/OmniProbe
Open-source SWD, JTAG, UART, SPI, I2C and Logic Analyzer platform powered by RP2040
77 parts4MIT - 2 layers104.2 × 118.7 mm
