

BadUSB
A CH552G powered BadUSB keystroke injection tool that emulates a standard USB keyboard to execute automated payloads.
- Size
- 16.5 × 53.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 15
- Nets
- 20
- Pads
- 44
- Tracks, vias
- 65, 7
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 27 Aug 2026
- Updated
- 30 Sep 2026
Overview
BadUSB is an open-source printed circuit board by hackerskill, from the hackerskill/badUSB repository on GitHub, published under the AGPL-3.0 licence. It is a 2-layer board of 16.5 × 53.5 mm with 15 parts on 20 nets, routed with 65 tracks and 7 vias.
It is built around the CH552G. Its parts include 4 resistors, 3 diodes, 2 capacitors, 2 switches and 1 IC. It belongs with the 8051 (CH55x, STC, AT89) boards of this library.
Main components
1README
README.mdbadUSB
A CH552G powered BadUSB keystroke injection tool that emulates a standard USB keyboard to execute automated payloads.
A compact usb stick style badUSB based on CH552G.
USB stick style device to emulate a keyboard for automating payload execution.
Features
- CH552G acts as the main microcontroller
- Fast injection speed
- USB A connectivity
- LEDs for visual status and feedback
- Compact USB stick style PCB
Schematics-
PCB-
How It Works
-
CH552G emulates a standard keyboard.
-
Depending on code, it either waits for bottom button input or automatically injects the payload coded in it.
-
The upper button in pressed while plugging in to enter programming mode.
BOM-
| Component Name | Description | Quantity |
|---|---|---|
| CH552G | Chipset | 1 |
| Resistors | Resistors for Led | 4 |
| Capacitors | Capacitors for decoupling | 2 |
| Leds | Led for showing status | 3 |
| Buttons | Buttons for mode switching | 2 |
| Custom PCB | Custom PCB | 1 |
Made by hackerskill
Parts
15| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 330R | Resistor_SMD:R_0603_1608Metric | R2, R3, R4 |
| 3 | LED | LED_SMD:LED_0805_2012Metric | D1, D2, D3 |
| 2 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | SW_Push | Button_Switch_SMD:SW_Tactile_SPST_NO_Straight_CK_PTS636Sx25SMTRLFS | SW1, SW2 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 3.7mm | MountingHole:MountingHole_3.7mm | 3.7mm |
| 1 | CH552G | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | MountingHole_3.2mm_M3 | MountingHole:MountingHole_3.2mm_M3 | M3 |
| 1 | USB_A | footprint:USB-A | J1 |
Questions
How big is the BadUSB PCB?
It measures 16.5 × 53.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the BadUSB use?
15 parts, built around the CH552G. 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 BadUSB KiCad files?
From the hackerskill/badUSB repository on GitHub, at the commit this page was made from: the board is badUSB/badUSB.kicad_pcb and its schematic badUSB/badUSB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the BadUSB design in my own project?
Its repository publishes it under the AGPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers30.4 × 12.7 mm

- 2 layers40.6 × 27.9 mm

- 2 layers40 × 40 mm

- 2 layers38.6 × 15.7 mm

LIPS V3.2
milar111/L.I.P.S.
OpenSource Affordable SipAndPuff device: Linear Interface for Paralysis Support
21 parts13 - 2 layers28.4 × 15.9 mm

- 2 layers51 × 44 mm

- 2 layers105.9 × 83.1 mm

BSidesDFW 2019
gowenrw/BSidesDFW_2019_Badge
This is where all the files for the BSidesDFW 2019 Badge will be stored. This includes code and art and cab and fab files. All the things.
30 parts5MIT - 2 layers43.2 × 24.9 mm
