Firmware for the USB Business Card (CH552G), built with the ch55xduino core under Arduino IDE 2.x.
Full hardware, pinout and schematics: https://wiki.netrunsecurity.com/electronics/sao/business-card/
| Folder | What it does |
|---|---|
rubber-ducky/ |
USB 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 |
- Install Arduino IDE 2.x : https://www.arduino.cc/en/software
- File → Preferences → Additional Boards Manager URLs, add:
https://raw.githubusercontent.com/DeqingSun/ch55xduino/ch55xduino/package_ch55xduino_mcs51_index.json - Tools → Board → Boards Manager → search
ch55xduino→ install.
Board : CH552
Clock Source : 16 MHz (internal)
Upload method : USB
USB Settings : USER CODE w/ 148B USB ram
⚠️ USER CODE w/ 148B USB ramis mandatory. With any other USB setting, the HID / serial headers are not found and compilation fails. This is the #1 gotcha.
HID / serial sketches (rubber-ducky, serial-ctf) need the USB source files
that ship with the ch55xduino examples:
- File → Examples → CH55xDuino → HidKeyboard (or the matching USB example).
- Replace the sketch code with the
.inofrom this repo. - Sketch → Verify/Compile.
Opening the example first is required, a blank sketch is missing the USB header sources and will not compile.
Plain sketches (touch-led-test): no example needed. Open the .ino and
Verify/Compile directly.
- Hold SW2 (BOOT), plug the card in, release after ~1 s.
- Device enumerates as
VID_4348 PID_55E0. - Sketch → Upload, or flash the built binary with WCHISPTool.
- Unplug / replug to run.