The Waveshare RP2350-USB-C is a tiny, high-performance microcontroller board built around Raspberry Pi’s RP2350A chip. It features a unique dual-port setup: a primary USB-C connector for power, debugging, and programming, alongside a secondary USB-C connection powered by the RP2350's programmable I/O (PIO-USB). This layout lets the board act simultaneously as a microcontroller and a USB host or device bridge—ideal for building custom keyboards, USB dongles, macro pads, or hardware emulators.
Female Port vs. Male Plug: Which One Should You Choose?
Both board variants share identical internal hardware, memory, processor power, and pinout arrangements. The only difference is the physical configuration of the secondary PIO-USB interface:
| Feature / Use Case | RP2350-USB-C (Female Connector) | RP2350-USB-CM (Male Plug) |
| Secondary Port Style | Female USB-C receptacle | Male USB-C plug |
| Connection Method | Accepts external USB cables | Plugs directly into host ports |
| Best Used For | Host applications (connecting peripherals) | Dongle/Keystroke/Peripheral emulation |
| Ideal Ideal Projects | Custom USB hubs, macro keypads, hardware tools accepting external USB inputs | USB security keys (Passkeys/YubiKey style), BadUSB / rubber ducky tools, compact PC expansion dongles |
Choose the Female (RP2350-USB-C) variant if: You want to plug standard cables or USB devices (like mice, flash drives, or keyboards) into the board to read their data.
Choose the Male (RP2350-USB-CM) variant if: You want to plug the board directly into a computer, tablet, or phone's USB-C port without using a cable, allowing it to function like a compact USB stick or dongle.
Technical Specifications
| Component | Specification |
| Microcontroller | Raspberry Pi RP2350A |
| CPU Architecture | Dual-core ARM Cortex-M33 / Dual-core Hazard3 RISC-V (up to 150 MHz) |
| Memory | 520 KB SRAM + 2 MB Onboard NOR Flash |
| Primary Interface | USB Type-C (Power, Flashing & Native USB 1.1) |
| Secondary Interface | PIO-Driven USB (Available as Female Receptacle or Male Plug) |
| GPIO Pinout | 15× Multifunction GPIO pins via castellated header pads |
| Peripherals | 2× SPI, 2× I2C, 2× UART, 4× 12-bit ADC, PWM channels |
| Onboard Features | WS2812 RGB LED, BOOT button, RESET button, 500mA LDO power regulator |
| Programming Support | C/C++ SDK, MicroPython, CircuitPython, Arduino IDE |