

Business card proto
BusinessCard USB - CH552G
- Size
- 86.4 × 54 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 17
- Nets
- 20
- Pads
- 52
- Tracks, vias
- 154, 24
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 11 Jun 2026
- Updated
- 11 Jun 2026
Overview
Business card proto is an open-source printed circuit board by NetRunSecurity, from the NetRunSecurity/BusinessCardUSB repository on GitHub. It is a 2-layer board of 86.4 × 54 mm with 17 parts on 20 nets, routed with 154 tracks and 24 vias.
Its parts include 4 resistors, 3 capacitors, 2 ICs, 2 switches and 1 diode. It belongs with the interfaces and adapters boards of this library.
README
README.mdUSB Business Card (CH552G)
A real, working USB business card. It's shaped like a card, but the bottom edge is cut into a USB-A male connector, plug it straight into any port, no cable, no adapter. Powered by a CH552G with native USB (no USB-to-serial bridge chip), two capacitive touch pads, a status LED, and a UART debug header.
It's a business card, a hacking tool, and a flex in one.
📖 Full build write-up, schematics and pinout: https://wiki.netrunsecurity.com/electronics/sao/business-card/

What's in this repo
.
├─ hardware/
│ ├─ card/
│ │ ├─ v4/ # current editable KiCad design (source of truth)
│ │ └─ v3/ # validated production build, gerbers only
│ └─ shim/ # USB-tab PCB shim (KiCad source + gerbers)
├─ firmware/
│ ├─ rubber-ducky/ # HID keystroke injection (opens a URL on plug-in)
│ ├─ touchpad-testing/ # capacitive Touch-Key + LED demo
│ ├─ ctf/ # USB serial CLI with hidden flags
│ └─ usb-uart-bridge/ # USB ↔ UART bridge for debugging IoT targets
├─ docs/ # photos, schematic PDF, fabrication files (BOM)
├─ LICENSE # TAPR OHL 1.0, hardware
└─ firmware/LICENSE # GPL-3.0, firmwareVersions
| Version | Status | Files |
|---|---|---|
| V3 | Soldered & tested, the build in the photos | Gerbers (archived) |
| V4 | Same circuit, current revision | Full KiCad sources |
V3 and V4 are electrically identical. R6 was a redundant RST pull-down (R5 already pulls RST to VCC) and was left unpopulated on V3, so it never affected the circuit. V4 removes the footprint to prevent accidental population and updates the silkscreen text. The V4 sources faithfully represent the validated V3 build.
⚠️ The original
v00110100board had a reversed USB edge-connector polarity that destroyed chips on plug-in. Do not fabricate that revision. Use V3/V4.
Hardware
- MCU: WCH CH552G (8051 core, native USB)
- USB: PCB-edge USB-A male connector, no bridge IC
- Input: 2× capacitive Touch-Key pads (read through the solder mask)
- Indicator: status LED
- Debug / flash: 1×4 UART header + BOOT/RESET buttons
- Mechanical: card + glued USB-tab shim (~2.4 mm total) for a snug USB-A fit
- EDA: KiCad

Bill of Materials
| Ref | Qty | Value / Part | Package | MPN | LCSC |
|---|---|---|---|---|---|
| U1 | 1 | CH552G — 8-bit USB MCU | SOP-16 | CH552G | C111292 |
| C1 | 1 | 10 µF 16 V X5R | 0805 | CL21A106KOQNNNE | C1713 |
| C2, C3 | 2 | 100 nF 50 V X7R | 0805 | CC0805KRX7R9BB104 | C49678 |
| R1, R2 | 2 | 1 kΩ 1% | 0805 | 0805W8F1001T5E | C17513 |
| R4, R5 | 2 | 10 kΩ 1% | 0805 | 0805W8F1002T5E | C17414 |
| D1 | 1 | Red LED 630 nm | 0805 | NCD0805R1 | C84256 |
| SW1, SW2 | 2 | Tactile switch SPST | SMD 5.2×5.2 mm | TL3342F260QG | C2886894 |
| J2 | 1 | 1×4 pin header 2.54 mm (UART) | THT | HX PH254-01-04 | C52016392 |
R6 is not populated (removed in V4). TP1/TP2 are copper touch pads and U2 is the PCB-edge USB connector — neither is a placed part.

Firmware
Several firmwares, each demoing a different capability of the platform:
- rubber-ducky: enumerates as a USB keyboard and types a payload (opens a URL).
- touchpad-testing: exercises the two Touch-Key pads and the LED.
- ctf: exposes a USB serial CLI with a small command set and hidden flags.
- usb-uart-bridge: bridges the on-board UART to the host for field debugging.
Build & flash instructions are in firmware/README.md
(Arduino IDE 2.x + ch55xduino).
Fabricate / assemble your own
- Send the gerbers in
hardware/card/v4/(orv3/) to any fab. - Order parts from the assembly BOM in
docs/(LCSC part numbers included). - Glue the shim under the USB tab.
- Flash a firmware, see
firmware/README.md.
A few hard-won notes: hand-solder the SOP-16 (no hot air), verify USB edge-pad polarity against the socket before ordering, and keep a USB power meter handy for first power-up.
License
This is open hardware, dual-licensed:
- Hardware (PCB design, schematic, gerbers): TAPR Open Hardware License 1.0, see
LICENSE. - Firmware (code): GPL-3.0, see
firmware/LICENSE.
Derivatives welcome, credit the original and highlight your changes.
Author
Designed by AlrikRr, NetRunSecurity · wiki · linktr.ee
Parts
17| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | , | ||
| 2 | 100nF | Capacitor_SMD:C_0805_2012Metric | C2, C3 |
| 2 | 10k | Resistor_SMD:R_0805_2012Metric | R4, R5 |
| 2 | 1k | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | ~ | NetRun_Library:TouchPad_Circle_10mm | TP1, TP2 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | SW_BOOT | Button_Switch_SMD:SW_SPST_TL3342 | SW2 |
| 1 | SW_RST | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | UART | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | ~ | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | ~ | NetRun_Library:PCB_USB | U2 |
Questions
How big is the Business card proto PCB?
It measures 86.4 × 54 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Business card proto use?
17 parts. 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 Business card proto KiCad files?
From the NetRunSecurity/BusinessCardUSB repository on GitHub, at the commit this page was made from: the board is hardware/card/v4/Business-card-proto.kicad_pcb and its schematic hardware/card/v4/Business-card-proto.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Business card proto design in my own project?
Its repository states no licence, so its author keeps all rights: ask NetRunSecurity before reusing the design.
Similar boards
- 2 layers50 × 35 mm

- 2 layers139.7 × 62.2 mm

- 2 layers29.2 × 55.9 mm

Deniseadapter
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
17 parts1kGPL-3.0 - 2 layers24.5 × 36.5 mm

- 2 layers56.3 × 55.7 mm

StarNecklace
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
17 parts915 - 2 layers25 × 25 mm

SmallEncoder
DDeGonge/OS-ARM
This arm is not industrial and it will not be fast, but that is not my goal. But it will hopefully be a very nice looking arm fully capable of 6dof motion, cheap enough to keep it accessable but capable enough to…
17 parts498MIT - 2 layers38.9 × 16.1 mm

- 2 layers36 × 51 mm
