stm32-usbd-devboards

STM32C0

The STM32C0 variant is based on the STM32C071K8T6 (ARM Cortex-M0+, 48 MHz) -- the newest addition to the lineup. Like the STM32F0 variant, it runs crystal-free using the HSIUSB48 internal oscillator self-calibrated via USB SOF packets, with an optional HSE crystal footprint on the board. The Cortex-M0+ core offers improved power efficiency over the Cortex-M0 in the F0, and this variant provides the largest pin count of the three boards with 2x14 headers exposing 28 GPIO + power pins.

Current Revision (20251110)

STM32C0 USB Development Board

STM32C0 USB Development Board

Resources:

Supported Microcontrollers

The board uses the CMSIS device identifier STM32C071xx.

Part Number Flash RAM
STM32C071K8T6 64 KB 24 KB

Pinout

Two 1x14 pin headers at 2.54 mm pitch -- the largest of the three variants.

J3 (Left) Pin J4 (Right)
GND 1 GND
3V3 2 +5V
B3 3 A10
B4 4 C6
B5 5 A9
B6 6 A8
B7 7 B2
B8 8 B1
B9 9 B0
C15 10 A7
C14 11 A6
A0 12 A5
A1 13 A4
A2 14 A3

Note

Pins C14 and C15 are unconnected by default. Closing solder bridge JP1 connects board pin C15 to GPIO PC15. Closing JP2 connects board pin C14 to GPIO PC14. These solder bridges must not be closed if an HSE crystal is installed, as PC14/PC15 are shared with the crystal oscillator pins.

Clocking

The default clock source is the HSIUSB48 internal oscillator at 48 MHz, self-calibrated via USB SOF packets from the host -- the same approach used by the F0 variant. No external crystal is needed for USB operation. For USB, firmware must enable the Clock Recovery System (CRS) peripheral synced from USB so that SOF packets continuously calibrate HSIUSB48. Without CRS enabled, the oscillator frequency will drift outside USB tolerance and communication will fail. CRS synced from USB is usually already enabled on reset.

An optional 48 MHz HSE crystal (Y1, HC49 package) can be installed if HSE is required for your application. When using HSE, it serves as the system clock directly -- STM32C0 devices have no PLL -- and HSIUSB48 is not needed. The solder bridges JP1/JP2 must remain open when HSE is installed, since PC14/PC15 serve as the oscillator pins.

The maximum system clock frequency is 48 MHz.

SWD and DFU Bootloader

The C0 variant uses a combined SWD + Bootloader header (J2) -- a single 5-pin vertical header that consolidates the separate SWD and bootloader headers found on the F0 and G4 variants.

Pin Signal
1 3V3
2 SWCLK
3 GND
4 SWDIO
5 NRST

Note

On STM32C0 devices, the BOOT0 pin behavior needs to be configured via option bytes according to the STM32: Enable Legacy Boot document. Refer to the STM32C0 reference manual and the generic Hardware Build Manual for details on USB DFU flashing.

Board-Specific Build Notes

  • HSE crystal (Y1): Optional. 48 MHz, HC49 package. Only install if HSE is required.
  • Solder bridges JP1/JP2: Open by default. Close only if the HSE crystal is not installed, to route PC14/PC15 to the header pins.
  • LED (D1): Green 3 mm PTH, horizontal mount.

For the complete build process, see the generic Hardware Build Manual.

Firmware Development

For project setup, build system configuration, toolchain usage, and flashing instructions, refer to the cmake-cmsis-stm32 documentation. The CMSIS device identifier for this board is STM32C071xx.

For register-level details on clock configuration, CRS, USB peripheral, and GPIO, refer to the STM32C0 reference manual (RM0490).