Nucleo WB07CC

Overview

The Nucleo WB07CC board is a Bluetooth® Low Energy wireless and ultra-low-power board featuring an ARM Cortex®-M0+ based STM32WB07CCV MCU, embedding a powerful and ultra-low-power radio compliant with the Bluetooth® Low Energy SIG specification v5.4.

More information about the board can be found on the Nucleo WB07CC webpage.

Hardware

Nucleo WB07CC provides the following hardware components:

  • STM32WB07CCV in VFQFPN32 package

  • ARM® 32-bit Cortex®-M0+ CPU

  • 64 MHz maximal CPU frequency

  • 256 KB Flash

  • 64 KB SRAM

More information about STM32WB07CCV can be found here:

Supported Features

The nucleo_wb07cc 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.

nucleo_wb07cc/stm32wb07 target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M0+ CPU1

arm,cortex-m0+

ADC

on-chip

STM32WB0 Analog-to-Digital Converter1

st,stm32wb0-adc

Bluetooth

on-chip

Bluetooth HCI driver for ST STM32WB0 series1

st,hci-stm32wb0

Clock control

on-chip

STM32WB0 RCC (Reset and Clock controller)1

st,stm32wb0-rcc

on-chip

Generic fixed-rate clock provider3 1

fixed-clock

on-chip

STM32 LSE Clock1

st,stm32-lse-clock

on-chip

STM32WB0 LSI Clock1

st,stm32wb0-lsi-clock

Counter

on-chip

STM32 counters1

st,stm32-counter

DMA

on-chip

STM32 DMA controller (V2bis) for the stm32F0, stm32F1 and stm32L1 soc families1

st,stm32-dma-v2bis

on-chip

STM32 DMAMUX controller1

st,stm32-dmamux

Flash controller

on-chip

STM32WB0 series flash controller1

st,stm32wb0-flash-controller

GPIO & Headers

on-chip

STM32 GPIO Controller2

st,stm32-gpio

on-board

GPIO pins exposed on Arduino Uno (R3) headers1

arduino-header-r3

I2C

on-chip

STM32 I2C V2 controller1 1

st,stm32-i2c-v2

Input

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1

arm,v6m-nvic

on-chip

STM32WB0 GPIO Interrupt Controller1

st,stm32wb0-gpio-intc

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MTD

on-chip

STM32 flash memory1

st,stm32-nv-flash

on-board

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

STM32 Pin controller1

st,stm32-pinctrl

Power management

on-chip

STM32WB0 power controller1

st,stm32wb0-pwr

PWM

on-chip

STM32 PWM1

st,stm32-pwm

Reset controller

on-chip

STM32 Reset and Clock Control (RCC) Controller1

st,stm32-rcc-rctl

RNG

on-chip

STM32 Random Number Generator without interrupt line1

st,stm32-rng-noirq

Serial controller

on-chip

STM32 USART1

st,stm32-usart

on-chip

STM32 LPUART1

st,stm32-lpuart

SPI

on-chip

STM32 SPI controller with embedded Rx and Tx FIFOs1 2

st,stm32-spi-fifo

SRAM

on-chip

Generic on-chip SRAM description1

mmio-sram

Timer

on-chip

ARMv6-M System Tick1

arm,armv6m-systick

on-chip

STM32 timers1

st,stm32-timers

Bluetooh support

BLE support is enabled; however, to build a Zephyr sample using this board, you first need to fetch the Bluetooth controller library into Zephyr as a binary BLOB.

To fetch binary BLOBs:

west blobs fetch hal_stm32

Connections and IOs

Default Zephyr Peripheral Mapping:

  • USART1 TX/RX : PA9/PA8 (ST-Link Virtual COM Port)

  • BUTTON (B1) : PA0

  • BUTTON (B2) : PB5

  • BUTTON (B3) : PB9

  • LED (LD1/BLUE) : PB0

  • LED (LD2/GREEN) : PB4

  • LED (LD3/RED) : PB2

For more details, please refer to the Nucleo WB07CC board User Manual.

Programming and Debugging

Nucleo WB07CC board includes an ST-LINK-V3EC embedded debug tool interface.

Applications for the nucleo_wb07cc board target can be built and flashed in the usual way (see Building an Application and Run an Application for more details).

Flashing

The board is configured to be flashed using the west STM32CubeProgrammer runner, so it must be installed beforehand.

Alternatively, OpenOCD can also be used to flash the board using the --runner (or -r) option:

$ west flash --runner openocd

Flashing an application to Nucleo WB07CC

Connect the Nucleo WB07CC to your host computer using the USB port, then run a serial host program to connect with your Nucleo board:

$ minicom -D /dev/ttyACM0

Now build and flash an application. Here is an example for Hello World.

# From the root of the zephyr repository
west build -b nucleo_wb07cc samples/hello_world
west flash

You should see the following message on the console:

Hello World! nucleo_wb07cc/stm32wb07

Debugging

You can debug an application in the usual way. Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b nucleo_wb07cc samples/hello_world
west debug