MiniSTM32H7B0 Core Board
Overview
The MiniSTM32H7B0 Core board is a compact development board equipped with an STM32H7B0VBT6 microcontroller. It features a variety of peripherals, including a user LED and button, a display, and external SPI and QuadSPI NOR flash memory.
Key Features
STM32 microcontroller in LQFP100 package
USB OTG or full-speed device
1 user LED
User, boot, and reset push-buttons
32.768 kHz and 25MHz HSE crystal oscillators
External NOR Flash memories: 64-Mbit Quad-SPI and 64-Mbit SPI
Board connectors:
Camera (8 bit) connector
ST7735 TFT-LCD 160 x 80 pixels (RGB565 3-SPI)
microSD™ card
USB Type-C Connector
SWD header for external debugger
2x 40-pin GPIO connector
More information about the board can be found on the Mini_STM32H7B0 website.
Hardware
The MiniSTM32H7B0 Core board provides the following hardware components:
STM32H7B0VBT6 in LQFP100 package
ARM 32-bit Cortex-M7 CPU with FPU
Chrom-ART Accelerator
Hardware JPEG Codec
280 MHz max CPU frequency
VDD from 1.62 V to 3.6 V
128 KB Flash
1.4 MB SRAM
High-resolution timer (2.1 ns)
32-bit timers(2)
16-bit timers(10)
SPI(5)
I2C(4)
I2S (4)
USART(5)
UART(5)
USB OTG Full Speed and High Speed(1)
CAN FD(2)
SAI(4)
SPDIF_Rx(4)
HDMI_CEC(1)
Dual Mode Quad SPI(1)
Camera Interface
GPIO (up to 80) with external interrupt capability
16-bit ADC(2) with 16 channels
12-bit DAC with 2 channels(2)
True Random Number Generator (RNG)
16-channel DMA
LCD-TFT Controller with XGA resolution
More information about STM32H7BO can be found here:
Supported Features
The mini_stm32h7b0
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.
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-chip |
STM32 ADC3 |
|
CAN |
on-chip |
STM32H7 series FDCAN CAN FD controller2 |
|
Clock control |
on-chip |
STM32H7 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 Clock multiplexer1 |
||
on-chip |
STM32 Microcontroller Clock Output (MCO)2 |
||
Counter |
on-chip |
STM32 counters12 |
|
Cryptographic accelerator |
on-chip |
STM32 Cryptographic Accelerator1 |
|
DAC |
on-chip |
STM32 family DAC1 |
|
Display |
on-chip |
STM32 LCD-TFT display controller1 |
|
on-board |
ST7735R/ST7735S 160x128 (max) display controller1 |
||
DMA |
on-chip |
STM32 DMA controller (V1)2 |
|
on-chip |
STM32 BDMA controller1 |
||
on-chip |
STM32 DMAMUX controller2 |
||
Ethernet |
on-chip |
STM32H7 Ethernet1 |
|
Flash controller |
on-chip |
STM32 Family flash controller1 |
|
on-board |
STM32 OSPI Flash controller supporting the JEDEC CFI interface1 |
||
GPIO & Headers |
on-chip |
STM32 GPIO Controller11 |
|
I2C |
on-chip |
STM32 I2C V2 controller4 |
|
I2S |
on-chip |
STM32H7 I2S controller4 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
STM32 External Interrupt Controller1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MDIO |
on-chip |
STM32 MDIO Controller1 |
|
Memory controller |
on-chip |
STM32H7 Flexible Memory Controller (FMC)1 |
|
on-chip |
STM32 Flexible Memory Controller (SDRAM controller)1 |
||
MMC |
on-chip |
||
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
STM32 flash memory1 |
|
on-board |
Properties supporting Zephyr spi-nor flash driver (over the Zephyr SPI API) control of serial flash memories using the standard M25P80-based command set1 |
||
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory2 |
||
OCTOSPI |
on-chip |
||
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 |
STM32 PWM12 |
|
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 VBAT1 |
||
on-chip |
STM32 VREF+1 |
||
Serial controller |
on-chip |
STM32 USART4 |
|
on-chip |
STM32 UART4 |
||
on-chip |
STM32 LPUART1 |
||
SMbus |
on-chip |
STM32 SMBus controller4 |
|
SPI |
on-chip |
||
SRAM |
on-chip |
Generic on-chip SRAM description1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
on-chip |
STM32 timers14 |
||
on-chip |
STM32 low-power timer (LPTIM)1 |
||
USB |
on-chip |
STM32 OTGHS controller1 |
|
Video |
on-chip |
STM32 Digital Camera Memory Interface (DCMI)1 |
|
Watchdog |
on-chip |
STM32 watchdog1 |
|
on-chip |
STM32 system window watchdog1 |
Pin Mapping
MiniSTM32H7B0 Core board has 5 GPIO controllers. These controllers are responsible for pin muxing, input/output, pull-up, etc.
For more details please refer to Mini_STM32H7B0 website.
Default Zephyr Peripheral Mapping:
The MiniSTM32H7B0 Core board is configured as follows
USER_LED : PE3
USER_PB : PC13
SPI1 SCK/MISO/MOSI/NSS : PB3/PB4/PD7/PD6 (NOR Flash memory)
SPI4 SCK/MOSI/NSS : PE12/PE14/PE11 (LCD)
QuadSPI CLK/NCS/IO0/IO1/IO2/IO3 : PB2/PB6/PD11/PD12/PE2/PD13 (NOR Flash memory)
SDMMC1 CLK/DCMD/CD/D0/D1/D2/D3 : PC12/PD2/PD4/PC8/PC9/PC10/PC11 (microSD card)
USB DM/DP : PA11/PA12 (USB CDC ACM)
System Clock
The STM32H7B0VB System Clock can be driven by an internal or external oscillator, as well as by the main PLL clock. By default, the System clock is driven by the PLL clock at 280MHz. PLL clock is fed by a 25MHz high speed external clock.
Serial Port (USB CDC ACM)
The Zephyr console output is assigned to the USB CDC ACM virtual serial port. Virtual COM port interface. Default communication settings are 115200 8N1.
Programming and Debugging
The MiniSTM32H7B0 Core board facilitates firmware flashing via the USB DFU bootloader. This method simplifies the process of updating images, although it doesn’t provide debugging capabilities. However, the board provides header pins for the Serial Wire Debug (SWD) interface, which can be used to connect an external debugger, such as ST-Link.
Flashing
To activate the bootloader, follow these steps:
Press and hold the BOOT0 key.
While still holding the BOOT0 key, press and release the RESET key.
Wait for 0.5 seconds, then release the BOOT0 key.
Upon successful execution of these steps, the device will transition into bootloader mode and present itself as a USB DFU Mode device. You can program the device using the west tool or the STM32CubeProgrammer.
Flashing an application to MiniSTM32H7B0
Here is an example for the Hello World application.
First, put the board in bootloader mode as described above. Then build and flash
the application in the usual way. Just add CONFIG_BOOT_DELAY=5000
to the
configuration, so that USB CDC ACM is initialized before any text is printed,
as below:
# From the root of the zephyr repository
west build -b mini_stm32h7b0 samples/hello_world -- -DCONFIG_BOOT_DELAY=5000
west flash
Run a serial host program to connect with your board:
$ minicom -D <tty_device> -b 115200
Then, press the RESET button, you should see the following message after few seconds:
Hello World! mini_stm32h7b0
Replace <tty_device>
with the port where the board XIAO BLE
can be found. For example, under Linux, /dev/ttyACM0
.
Debugging
This current Zephyr port does not support debugging.
Testing the LEDs in the MiniSTM32H7B0
There is a sample that allows to test that LED on the board are working properly with Zephyr:
# From the root of the zephyr repository
west build -b mini_stm32h7b0 samples/basic/blinky -- -DCONFIG_BOOT_DELAY=5000
west flash
You can build and flash the examples to make sure Zephyr is running correctly on your board. The LED definitions can be found in boards/weact/mini_stm32h7b0/mini_stm32h7b0.dts.
Testing shell over USB in the MiniSTM32H7B0
There is a sample that allows to test shell interface over USB CDC ACM interface with Zephyr:
# From the root of the zephyr repository
west build -b mini_stm32h7b0 samples/subsys/shell/shell_module -- -DCONFIG_BOOT_DELAY=5000
west flash