Spark Logic

Blue Pill USB HID game controller pinout

An STM32F103 presents a game controller to the host using the USBComposite HID library. A first test can use one GPIO button and the native USB data pair.

STM32F103C8T6 Blue Pill

49 contacts Current package

Spark Logic project archive · The documented blue PCB has two 20-contact headers, SWD and Micro USB. Its PC13 user LED is active low. The USB D+ pull-up varies across production boards.

STM32F103C8T6 Blue Pill pinout

Header 1
Use the board connector marking and locate contact 1 before wiring.
Header 2
Use the board connector marking and locate contact 1 before wiring.
SWD header
Use the board connector marking and locate contact 1 before wiring.
USB connector
Use the board connector marking and locate contact 1 before wiring.
Selected pin details

H2-1 · 3.3

Power · Power

Connects to 3V3. Use the specified board power connection.

STM32F103C8T6 Blue Pill connector map

Electrical limits · Link to this pin

All 49 pins

PinSignalDirectionFunction
H1-1VB PowerPower Connects to VBAT. Use the specified board power connection.
H1-2C13 Configurable I/OConfigurable I/O Routes to MCU PC13. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-3C14 Configurable I/OConfigurable I/O Routes to MCU PC14. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-4C15 Configurable I/OConfigurable I/O Routes to MCU PC15. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-5A0 Configurable I/OConfigurable I/O Routes to MCU PA0. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-6A1 Configurable I/OConfigurable I/O Routes to MCU PA1. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-7A2 Configurable I/OConfigurable I/O Routes to MCU PA2. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-8A3 Configurable I/OConfigurable I/O Routes to MCU PA3. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-9A4 Configurable I/OConfigurable I/O Routes to MCU PA4. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-10A5 Configurable I/OConfigurable I/O Routes to MCU PA5. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-11A6 Configurable I/OConfigurable I/O Routes to MCU PA6. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-12A7 Configurable I/OConfigurable I/O Routes to MCU PA7. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-13B0 Configurable I/OConfigurable I/O Routes to MCU PB0. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-14B1 Configurable I/OConfigurable I/O Routes to MCU PB1. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-15B10 Configurable I/OConfigurable I/O Routes to MCU PB10. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-16B11 Configurable I/OConfigurable I/O Routes to MCU PB11. Choose the applicable GPIO or peripheral function in the MCU documentation.
H1-17R Active-low resetActive-low reset Connects to MCU NRST. Use a compatible open-drain reset signal.
H1-183.3 PowerPower Connects to 3V3. Use the specified board power connection.
H1-19G ReturnReturn Connects to the board’s ground plane.
H1-20G ReturnReturn Connects to the board’s ground plane.
H2-13.3 PowerPower Connects to 3V3. Use the specified board power connection.
H2-2G ReturnReturn Connects to the board’s ground plane.
H2-35V PowerPower Connects to 5V. Use the specified board power connection.
H2-4B9 Configurable I/OConfigurable I/O Routes to MCU PB9. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-5B8 Configurable I/OConfigurable I/O Routes to MCU PB8. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-6B7 Configurable I/OConfigurable I/O Routes to MCU PB7. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-7B6 Configurable I/OConfigurable I/O Routes to MCU PB6. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-8B5 Configurable I/OConfigurable I/O Routes to MCU PB5. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-9B4 Configurable I/OConfigurable I/O Routes to MCU PB4. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-10B3 Configurable I/OConfigurable I/O Routes to MCU PB3. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-11A15 Configurable I/OConfigurable I/O Routes to MCU PA15. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-12A12 Configurable I/OConfigurable I/O Routes to MCU PA12. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-13A11 Configurable I/OConfigurable I/O Routes to MCU PA11. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-14A10 Configurable I/OConfigurable I/O Routes to MCU PA10. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-15A9 Configurable I/OConfigurable I/O Routes to MCU PA9. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-16A8 Configurable I/OConfigurable I/O Routes to MCU PA8. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-17B15 Configurable I/OConfigurable I/O Routes to MCU PB15. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-18B14 Configurable I/OConfigurable I/O Routes to MCU PB14. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-19B13 Configurable I/OConfigurable I/O Routes to MCU PB13. Choose the applicable GPIO or peripheral function in the MCU documentation.
H2-20B12 Configurable I/OConfigurable I/O Routes to MCU PB12. Choose the applicable GPIO or peripheral function in the MCU documentation.
H3-13V3 PowerPower Connects to 3V3. Use the specified board power connection.
H3-2DIO Configurable I/OConfigurable I/O Routes to MCU PA13. Choose the applicable GPIO or peripheral function in the MCU documentation.
H3-3CLK Configurable I/OConfigurable I/O Routes to MCU PA14. Choose the applicable GPIO or peripheral function in the MCU documentation.
H3-4GND ReturnReturn Connects to the board’s ground plane.
H4-1VBUS PowerPower Connects to 5V. Use the specified board power connection.
H4-2D- BidirectionalBidirectional USB data line. PCB net destination is PA11.
H4-3D+ BidirectionalBidirectional USB data line. PCB net destination is PA12.
H4-4ID UnconfirmedUnconfirmed The board source supplies no net for this position. Consult the schematic before use.
H4-5GND ReturnReturn Connects to the board’s ground plane.

Signal assignments

USB device data pair

PA12 is USB D+ and PA11 is USB D−. Use the Blue Pill’s native connector and a data-capable cable.

Electrical limits

ParameterLimitConditions and source
USB signallingFull SpeedFull Speed Use the required 48 MHz USB peripheral clock and the correct D+ pull-up on the PCB. STMicroelectronics RM0008, USB full-speed device interface
Button input3.3 V pull-up3.3 V pull-up A normally-open switch pulls PA0 low. The proposed pull-up is 10 kΩ. Bench circuit design

Models and documents

The companion shows a one-button bench circuit with the joystick class. The button GPIO and resistor are choices for this example.

STM32F103C8T6 Blue Pill
The documented blue PCB has two 20-contact headers, SWD and Micro USB. Its PC13 user LED is active low. The USB D+ pull-up varies across production boards.