Black Pill STM32H523
Overview
The WeAct STM32H523CE Core Board is a low-cost and bare-bone development board made in the famous “blackpill” package. It features the STM32H523CE, a high-performance microcontroller based on an Arm Cortex-M33 processor.
Hardware
The STM32H523CE-based Black Pill board provides the following hardware components:
STM32H523CE in 48-pin package
ARM 32-bit Cortex-M33 CPU with FPU
250 MHz max CPU frequency
VDD from 1.7 V to 3.6 V
512 KB Flash
274 KB SRAM
TIM
ADC
USART
I2C
SPI
USB FS
FDCAN
RTC
Supported Features
The blackpill_h523ce
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
blackpill_h523ce/stm32h523xx
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33 CPU1 |
|
ADC |
on-chip |
STM32 ADC1 |
|
CAN |
on-chip |
STM32 FDCAN CAN FD controller1 |
|
Clock control |
on-chip |
STM32H5 RCC (Reset and Clock controller)1 |
|
on-chip |
STM32 HSE Clock1 |
||
on-chip |
STM32 HSI Clock1 |
||
on-chip |
|||
on-chip |
STM32 LSE Clock1 |
||
on-chip |
|||
on-chip |
STM32 Microcontroller Clock Output (MCO)2 |
||
Counter |
on-chip |
STM32 counters4 |
|
DAC |
on-chip |
STM32 family DAC1 |
|
DMA |
on-chip |
STM32U5 DMA controller2 |
|
Ethernet |
on-chip |
STM32 Ethernet Controller1 |
|
on-chip |
STM32H7 Ethernet1 |
||
Flash controller |
on-chip |
STM32 Family flash controller1 |
|
GPIO & Headers |
on-chip |
STM32 GPIO Controller6 |
|
I2C |
on-chip |
||
I2S |
on-chip |
STM32H7 I2S controller3 |
|
on-chip |
STM32 SAI controller2 |
||
I3C |
on-chip |
STM32H5 I3C controller2 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
STM32G0 External Interrupt Controller1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MDIO |
on-chip |
STM32 MDIO Controller1 |
|
Memory controller |
on-chip |
STM32 Flexible Memory Controller (FMC)1 |
|
MMU / MPU |
on-chip |
ARMv8-M MPU (Memory Protection Unit)1 |
|
MTD |
on-chip |
STM32 flash memory1 |
|
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP1 |
|
Pin control |
on-chip |
STM32 Pin controller1 |
|
PWM |
on-chip |
||
Reset controller |
on-chip |
STM32 Reset and Clock Control (RCC) Controller1 |
|
RNG |
on-chip |
STM32 Random Number Generator1 |
|
RTC |
on-chip |
STM32 RTC1 |
|
Sensors |
on-chip |
STM32 Digital Temperature Sensor1 |
|
on-chip |
STM32 family TEMP node for production calibrated sensors with two calibration temperatures1 |
||
on-chip |
STM32 VREF+1 |
||
on-chip |
STM32 VBAT1 |
||
Serial controller |
on-chip |
||
on-chip |
STM32 LPUART1 |
||
SMbus |
on-chip |
STM32 SMBus controller2 |
|
SPI |
on-chip |
||
Timer |
on-chip |
ARMv8-M System Tick1 |
|
on-chip |
STM32 low-power timer (LPTIM)2 |
||
on-chip |
|||
USB |
on-chip |
STM32 USB controller1 |
|
Watchdog |
on-chip |
STM32 watchdog1 |
|
on-chip |
STM32 system window watchdog1 |
Connections and IOs
Default Zephyr Peripheral Mapping:
UART_1 TX/RX : PA9 / PA10
I2C1 SCL/SDA : PB6 / PB7
SPI1 CS/SCK/MISO/MOSI : PA4 / PA5 / PA6 / PA7 (routed to footprint for external flash)
PWM_3_CH3 : PB0
PWM_3_CH4 : PB1
ADC_1 : PA1
USER_PB : PA0
USER_LED : PC13
Programming and Debugging
The blackpill_h523ce
board supports the runners and associated west commands listed below.
flash | debug | rtt | attach | debugserver | |
---|---|---|---|---|---|
blackmagicprobe | ✅ | ✅ | ✅ | ||
dfu-util | ✅ (default) | ||||
jlink | ✅ | ✅ | ✅ | ✅ | ✅ |
openocd | ✅ | ✅ (default) | ✅ | ✅ | ✅ |
There are 2 main entry points for flashing STM32H5X SoCs: one using the ROM bootloader, and another by using the SWD debug port (which requires additional hardware). Flashing using the ROM bootloader requires a special activation pattern, which can be triggered by using the BOOT0 pin.
Flashing
Installing dfu-util
It is recommended to use at least v0.8 of dfu-util. The package available in Debian/Ubuntu can be quite old, so you might have to build dfu-util from source.
There is also a Windows version which works, but you may have to install the right USB drivers with a tool like Zadig.
Flashing an Application
Connect a USB-C cable and the board should power ON. Force the board into DFU mode by keeping the BOOT0 switch pressed while pressing and releasing the NRST switch.
The dfu-util runner is supported on this board and so a sample can be built and tested easily.
# From the root of the zephyr repository
west build -b blackpill_h523ce samples/basic/blinky -- -DCONFIG_BOOT_DELAY=5000
west flash
Debugging
The board can be debugged by installing the included 100 mil (0.1 inch) header, and attaching an SWD debugger to the 3V3 (3.3V), GND, SCK, and DIO pins on that header.