Solana Badge v1 · rev lcd
Solana Badge v1, back face
77.6 × 116.3 mm · back face (mirrored) · 19 parts highlighted

to move between modules

07 / 09 · Connectivity

USB-C and serial

One USB-C port, two possible owners, and a slide switch to pick between them.

Port
USB-C 2.0, 16P
Bridge
CH340C (U3)
Selector
S1 · DPDT
Native USB
GPIO19 / GPIO20

J1 is the only data port on the badge, and S1 decides who gets it. The connector's D+/D− pair — ESD-protected by D2, with 5K1 CC resistors R4/R5 — routes either to the CH340C USB-serial bridge or straight to the ESP32-S3's native USB pins through 22 Ω series resistors R29/R30.

The two paths are mutually exclusive. Flip S1 toward UART and you get a classic serial port with auto-programming: Q1 and Q2 translate the CH340C's DTR and RTS into GPIO0 and EN, so esptool can reset the chip into download mode without anyone touching a button. Flip it toward HID and the ESP32 enumerates directly — USB CDC, TinyUSB, DFU, HID.

BOOT1 and RST1 are the manual version of the same thing: hold BOOT1, tap RST1, release BOOT1. UART0 on GPIO43/44 stays wired to the CH340C throughout, and the firmware mirrors its log to both UART0 and the USB CDC port so a board can be diagnosed over whichever one you have.

Pins

PinNetRoleFunction
GPIO19ED−USB D−Native USB D−, through 22 Ω R29 to S1.
GPIO20ED+USB D+Native USB D+, through 22 Ω R30 to S1.
GPIO43TX0UART0 TXUART0 TX to the CH340C for upload and serial monitor.
GPIO44RX0UART0 RXUART0 RX from the CH340C via 220 Ω series R16.

Parts

  • J1 USB-C receptacle, USB 2.0 16P Power in and the single data pair
  • S1 MST-22D18G2 DPDT slide switch — routes D+/D− to the CH340C or to native USB
  • U3 CH340C USB-to-UART bridge on UART0
  • D2 SRV05-4 ESD protection on the USB data pair
  • Q1 / Q2 SS8050 Auto-program circuit — DTR → GPIO0, RTS → EN
  • BOOT1 / RST1 B3U-1000P Manual download-mode and reset buttons

Notes

  • Native USB and CH340C serial cannot be active at the same time — the switch is the arbiter.
  • The USB HID mouse path in the test firmware only compiles under the USB-OTG / TinyUSB USB mode; the default Hardware CDC build reports “HID OFF” and skips it.
Solana Badge · DEF CON Generated from pcb/v1, pinout/ and firmware/testkit/testkit.ino