Skip to content

Commit 8202d5f

Browse files
committed
boards: st: Add stm32wba65i-dk1
Add stm32wba65i-dk1 board support with UART console, LEDs, joystick keys using ADC channel 6. Board YAML file does not list 'supported' tags since the board is very similar to nucleo_wba65ri for which supported features are already covered. Signed-off-by: Etienne Carriere <[email protected]>
1 parent 06daf0e commit 8202d5f

File tree

11 files changed

+551
-0
lines changed

11 files changed

+551
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# STM32WBA65I Discovery kit board configuration
2+
3+
# Copyright (c) 2025 STMicroelectronics
4+
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
if BOARD_STM32WBA65I_DK1
8+
9+
config SPI_STM32_INTERRUPT
10+
default y
11+
depends on SPI
12+
13+
endif # BOARD_STM32WBA65I_DK1
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 STMicroelectronics
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_STM32WBA65I_DK1
5+
select SOC_STM32WBA65XX
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Copyright (c) 2025 STMicroelectronics
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/dt-bindings/gpio/arduino-header-r3.h>
8+
9+
/ {
10+
arduino_header: connector {
11+
compatible = "arduino-header-r3";
12+
#gpio-cells = <2>;
13+
gpio-map-mask = <0xffffffff 0xffffffc0>;
14+
gpio-map-pass-thru = <0 0x3f>;
15+
gpio-map = <ARDUINO_HEADER_R3_A0 0 &gpioa 4 0>,
16+
<ARDUINO_HEADER_R3_A1 0 &gpioa 6 0>,
17+
<ARDUINO_HEADER_R3_A2 0 &gpioa 2 0>,
18+
<ARDUINO_HEADER_R3_A3 0 &gpioa 1 0>,
19+
<ARDUINO_HEADER_R3_A4 0 &gpioa 5 0>,
20+
<ARDUINO_HEADER_R3_A5 0 &gpioa 0 0>,
21+
<ARDUINO_HEADER_R3_D0 0 &gpioa 11 0>,
22+
<ARDUINO_HEADER_R3_D1 0 &gpioa 12 0>,
23+
<ARDUINO_HEADER_R3_D2 0 &gpioe 0 0>,
24+
<ARDUINO_HEADER_R3_D3 0 &gpiob 13 0>,
25+
<ARDUINO_HEADER_R3_D4 0 &gpioa 3 0>,
26+
<ARDUINO_HEADER_R3_D5 0 &gpiob 14 0>,
27+
<ARDUINO_HEADER_R3_D6 0 &gpiob 0 0>,
28+
<ARDUINO_HEADER_R3_D7 0 &gpiod 14 0>,
29+
<ARDUINO_HEADER_R3_D8 0 &gpioa 10 0>,
30+
<ARDUINO_HEADER_R3_D9 0 &gpiob 11 0>,
31+
<ARDUINO_HEADER_R3_D10 0 &gpiob 9 0>,
32+
<ARDUINO_HEADER_R3_D11 0 &gpioc 3 0>,
33+
<ARDUINO_HEADER_R3_D12 0 &gpioa 9 0>,
34+
<ARDUINO_HEADER_R3_D13 0 &gpiob 10 0>,
35+
<ARDUINO_HEADER_R3_D14 0 &gpiob 1 0>,
36+
<ARDUINO_HEADER_R3_D15 0 &gpiob 2 0>;
37+
};
38+
};
39+
40+
arduino_i2c: &i2c1 {};
41+
arduino_spi: &spi1 {};
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2025 STMicroelectronics
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw")
5+
6+
include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake)
7+
include(${ZEPHYR_BASE}/boards/common/openocd-stm32.board.cmake)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: stm32wba65i_dk1
3+
full_name: STM32WBA65I Discovery kit
4+
vendor: st
5+
socs:
6+
- name: stm32wba65xx
39.5 KB
Loading
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
.. zephyr:board:: stm32wba65i_dk1
2+
3+
Overview
4+
********
5+
6+
STM32WBA65I-DK1 is a Bluetooth |reg| Low Energy, 802.15.4 and Zigbee |reg|
7+
wireless and ultra-low-power board embedding a powerful and ultra-low-power
8+
radio compliant with the Bluetooth |reg| Low Energy SIG specification v5.4
9+
with IEEE 802.15.4-2015 and Zigbee |reg| specifications.
10+
11+
The ARDUINO |reg| Uno V3 connectivity support and the ST morpho headers allow
12+
the easy expansion of the functionality of the STM32 Discovery kit open
13+
development platform with a wide choice of specialized shields.
14+
15+
- Ultra-low-power wireless STM32WBA65RI microcontroller based on the Arm |reg|
16+
Cortex |reg| ‑M33 core with TrustZone |reg|, MPU, DSP, and FPU, that operates
17+
at a frequency of up to 100 MHz, featuring 2 Mbyte of flash memory and 512
18+
Kbytes of SRAM in a VFQFPN68 package
19+
20+
- MCU RF board (MB2130):
21+
22+
- 2.4 GHz RF transceiver supporting Bluetooth |reg| specification v5.4
23+
- Arm |reg| Cortex |reg| M33 CPU with TrustZone |reg|, MPU, DSP, and FPU
24+
- Integrated PCB antenna
25+
26+
- Three user LEDs (incl. one default not connected)
27+
- One reset push-buttons
28+
- One Joystick
29+
30+
- Board connectors:
31+
32+
- 2 USB Type-C
33+
- ARDUINO |reg| Uno V3 expansion connector
34+
- ST morpho headers for full access to all STM32 I/Os
35+
36+
- Flexible power-supply options: ST-LINK USB VBUS or external sources
37+
- On-board STLINK-V3MODS debugger/programmer with USB re-enumeration capability:
38+
mass storage, Virtual COM port, and debug port
39+
40+
Hardware
41+
********
42+
43+
The STM32WBA65xx multiprotocol wireless and ultralow power devices embed a
44+
powerful and ultralow power radio compliant with the Bluetooth |reg| SIG Low
45+
Energy specification 5.4.
46+
47+
- Includes ST state-of-the-art patented technology
48+
49+
- Ultra low power radio:
50+
51+
- 2.4 GHz radio
52+
- RF transceiver supporting Bluetooth |reg| Low Energy 5.4 specification
53+
IEEE 802.15.4-2015 PHY and MAC, supporting Thread, Matter and Zigbee |reg|
54+
- Proprietary protocols
55+
- RX sensitivity: -96 dBm (Bluetooth |reg| Low Energy at 1 Mbps)
56+
and -100 dBm (IEEE 802.15.4 at 250 kbps)
57+
- Programmable output power, up to +10 dBm with 1 dB steps
58+
- Support for external PA
59+
- Integrated balun to reduce BOM
60+
- Suitable for systems requiring compliance with radio frequency regulations
61+
ETSI EN 300 328, EN 300 440, FCC CFR47 Part 15 and ARIB STD-T66
62+
63+
- Ultra low power platform with FlexPowerControl:
64+
65+
- 1.71 to 3.6 V power supply
66+
- - 40 °C to 85 °C temperature range
67+
- Autonomous peripherals with DMA, functional down to Stop 1 mode
68+
- 120 nA Standby mode (16 wake-up pins)
69+
- 1.68 |micro| A Standby mode with 64 KB SRAM with RTC
70+
- 5.58 |micro| A Stop 2 mode with 64 KB SRAM with RTC
71+
- 28.75 |micro| A/MHz Run mode at 3.3 V
72+
- Radio: Rx 4.26 mA / Tx at 0 dBm 5.94 mA
73+
74+
- ART Accelerator |trade|: 8-Kbyte instruction cache allowing 0-wait-state execution
75+
from flash memory (frequency up to 100 MHz, 150 DMIPS)
76+
- Power management: embedded regulator LDO and SMPS step-down converter
77+
- Supporting switch on-the-fly and voltage scaling
78+
79+
- Benchmarks:
80+
81+
- 1.5 DMIPS/MHz (Drystone 2.1)
82+
- 410 CoreMark |reg| (4.10 CoreMark/MHz)
83+
84+
- Clock sources:
85+
86+
- 32 MHz crystal oscillator
87+
- 32 kHz crystal oscillator (LSE)
88+
- Internal low-power 32 kHz (±5%) RC
89+
- Internal 16 MHz factory trimmed RC (±1%)
90+
- PLL for system clock and ADC
91+
92+
- Memories:
93+
94+
- 2 MB flash memory with ECC, including 256 Kbytes with 100 cycles
95+
- 512 KB SRAM, including 64 KB with parity check
96+
- 512-byte (32 rows) OTP
97+
98+
- Rich analog peripherals (independent supply):
99+
100+
- 12-bit ADC 2.5 Msps with hardware oversampling
101+
102+
- Communication peripherals:
103+
104+
- Four UARTs (ISO 7816, IrDA, modem)
105+
- Three SPIs
106+
- Four I2C Fm+ (1 Mbit/s), SMBus/PMBus |reg|
107+
108+
- System peripherals:
109+
110+
- Touch sensing controller, up to 24 sensors, supporting touch key, linear,
111+
rotary touch sensors
112+
- One 16-bit, advanced motor control timer
113+
- Three 16-bit timers
114+
- Two 32-bit timer
115+
- Two low-power 16-bit timers (available in Stop mode)
116+
- Two Systick timers
117+
- RTC with hardware calendar and calibration
118+
- Two watchdogs
119+
- 8-channel DMA controller, functional in Stop mode
120+
121+
- Security and cryptography:
122+
123+
- Arm |reg| TrustZone |reg| and securable I/Os, memories, and peripherals
124+
- Flexible life cycle scheme with RDP and password protected debug
125+
- Root of trust thanks to unique boot entry and secure hide protection area (HDP)
126+
- SFI (secure firmware installation) thanks to embedded RSS (root secure services)
127+
- Secure data storage with root hardware unique key (RHUK)
128+
- Secure firmware upgrade support with TF-M
129+
- Two AES co-processors, including one with DPA resistance
130+
- Public key accelerator, DPA resistant
131+
- HASH hardware accelerator
132+
- True random number generator, NIST SP800-90B compliant
133+
- 96-bit unique ID
134+
- Active tampers
135+
- CRC calculation unit
136+
137+
- Up to 86 I/Os (most of them 5 V-tolerant) with interrupt capability
138+
139+
- Development support:
140+
141+
- Serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade|
142+
143+
- ECOPACK2 compliant package
144+
145+
More information about STM32WBA series can be found here:
146+
147+
- `STM32WBA Series on www.st.com`_
148+
149+
Supported Features
150+
==================
151+
152+
.. zephyr:board-supported-hw::
153+
154+
Connections and IOs
155+
===================
156+
157+
STM32WBA65I-DK1 board has 4 GPIO controllers. These controllers are responsible for pin muxing,
158+
input/output, pull-up, etc.
159+
160+
Default Zephyr Peripheral Mapping:
161+
----------------------------------
162+
163+
.. rst-class:: rst-columns
164+
165+
- USART_1 TX/RX : PB12/PA8
166+
- I2C_1_SCL : PB2
167+
- I2C_1_SDA : PB1
168+
- LD6 : PD8
169+
- SPI_1_NSS : PA12 (arduino_spi)
170+
- SPI_1_SCK : PB4 (arduino_spi)
171+
- SPI_1_MISO : PB3 (arduino_spi)
172+
- SPI_1_MOSI : PA15 (arduino_spi)
173+
174+
System Clock
175+
------------
176+
177+
STM32WBA65I-DK1 System Clock could be driven by internal or external oscillator,
178+
as well as main PLL clock. By default System clock is driven by HSE+PLL clock at 100MHz.
179+
180+
Serial Port
181+
-----------
182+
183+
STM32WBA65I-DK1 board has 3 U(S)ARTs. The Zephyr console output is assigned to USART1.
184+
Default settings are 115200 8N1.
185+
186+
187+
Programming and Debugging
188+
*************************
189+
190+
.. zephyr:board-supported-runners::
191+
192+
STM32WBA65I-DK1 board includes an ST-LINK/V3 embedded debug tool interface.
193+
It could be used for flash and debug using STM32Cube ecosystem tools.
194+
195+
Flashing
196+
========
197+
198+
The board is configured to be flashed using west `STM32CubeProgrammer`_ runner,
199+
so its :ref:`installation <stm32cubeprog-flash-host-tools>` is required.
200+
201+
Flashing an application to a STM32WBA65I-DK1
202+
--------------------------------------------
203+
204+
Here is an example for the :zephyr:code-sample:`blinky` application.
205+
206+
.. zephyr-app-commands::
207+
:zephyr-app: samples/basic/blinky
208+
:board: stm32wba65i_dk1
209+
:goals: build flash
210+
211+
You will see the LED blinking every second.
212+
213+
Debugging
214+
=========
215+
216+
Debugging using OpenOCD
217+
-----------------------
218+
219+
You can debug an application in the usual way using OpenOCD. Here is an example for the
220+
:zephyr:code-sample:`blinky` application.
221+
222+
.. zephyr-app-commands::
223+
:zephyr-app: samples/basic/blinky
224+
:board: stm32wba65i_dk1
225+
:maybe-skip-config:
226+
:goals: debug
227+
228+
.. _STM32WBA Series on www.st.com:
229+
https://www.st.com/en/microcontrollers-microprocessors/stm32wba-series.html
230+
231+
.. _STM32CubeProgrammer:
232+
https://www.st.com/en/development-tools/stm32cubeprog.html

0 commit comments

Comments
 (0)