1.. zephyr:board:: nucleo_wb05kz
2
3Overview
4********
5
6The Nucleo WB05KZ board is a Bluetooth |reg| Low Energy wireless and ultra-low-power
7board featuring an ARM Cortex |reg|-M0+ based STM32WB05KZV MCU, embedding a
8powerful and ultra-low-power radio compliant with the Bluetooth® Low Energy
9SIG specification v5.4.
10
11More information about the board can be found on the `Nucleo WB05KZ webpage`_.
12
13Hardware
14********
15
16Nucleo WB05KZ provides the following hardware components:
17
18- STM32WB05KZV in VFQFPN32 package
19- ARM |reg| 32-bit Cortex |reg|-M0+ CPU
20- 64 MHz maximal CPU frequebct
21- 192 KB Flash
22- 24 KB SRAM
23
24More information about STM32WB05KZV can be found here:
25
26- `WB05KZ on www.st.com`_
27- `STM32WB05 reference manual`_
28
29
30Supported Features
31==================
32
33The Zephyr ``nucleo_wb05kz`` board target supports the following hardware features:
34
35+-----------+------------+-------------------------------------+
36| Interface | Controller | Driver/Component                    |
37+===========+============+=====================================+
38| NVIC      | on-chip    | nested vector interrupt controller  |
39+-----------+------------+-------------------------------------+
40| UART      | on-chip    | serial port-polling;                |
41|           |            | serial port-interrupt               |
42+-----------+------------+-------------------------------------+
43| PINMUX    | on-chip    | pinmux                              |
44+-----------+------------+-------------------------------------+
45| GPIO      | on-chip    | gpio                                |
46+-----------+------------+-------------------------------------+
47| FLASH     | on-chip    | internal flash memory               |
48+-----------+------------+-------------------------------------+
49| I2C       | on-chip    | i2c                                 |
50+-----------+------------+-------------------------------------+
51| SPI       | on-chip    | spi                                 |
52+-----------+------------+-------------------------------------+
53| ADC       | on-chip    | adc                                 |
54+-----------+------------+-------------------------------------+
55| RADIO     | on-chip    | Bluetooth Low Energy                |
56+-----------+------------+-------------------------------------+
57
58
59Other hardware features are not yet supported on this Zephyr port.
60
61The default configuration can be found in the defconfig file:
62:zephyr_file:`boards/st/nucleo_wb09ke/nucleo_wb09ke_defconfig`
63
64Bluetooh support
65----------------
66
67BLE support is enabled; however, to build a Zephyr sample using this board,
68you first need to fetch the Bluetooth controller library into Zephyr as a binary BLOB.
69
70To fetch binary BLOBs:
71
72.. code-block:: console
73
74   west blobs fetch hal_stm32
75
76Connections and IOs
77===================
78
79Default Zephyr Peripheral Mapping:
80----------------------------------
81
82- USART1 TX/RX       : PA1/PB0 (ST-Link Virtual COM Port)
83- BUTTON (B1)        : PA0
84- BUTTON (B2)        : PB5
85- BUTTON (B3)        : PB14
86- LED (LD1/BLUE)     : PB1
87- LED (LD2/GREEN)    : PB4
88- LED (LD3/RED)      : PB2
89
90For more details, please refer to the `Nucleo WB05KZ board User Manual`_.
91
92Programming and Debugging
93*************************
94
95Nucleo WB05KZ board includes an ST-LINK-V3EC embedded debug tool interface.
96
97Applications for the ``nucleo_w05kz`` board target can be built and flashed
98in the usual way (see :ref:`build_an_application` and :ref:`application_run`
99for more details).
100
101Flashing
102========
103
104The board is configured to be flashed using the west `STM32CubeProgrammer`_ runner,
105so :ref:`it must be installed <stm32cubeprog-flash-host-tools>` beforehand.
106
107Alternatively, OpenOCD can also be used to flash the board using the
108``--runner`` (or ``-r``) option:
109
110.. code-block:: console
111
112   $ west flash --runner openocd
113
114Flashing an application to Nucleo WB05KZ
115----------------------------------------
116
117Connect the Nucleo WB05KZ to your host computer using the USB port,
118then run a serial host program to connect with your Nucleo board:
119
120.. code-block:: console
121
122   $ minicom -D /dev/ttyACM0
123
124Now build and flash an application. Here is an example for
125:zephyr:code-sample:`hello_world`.
126
127.. zephyr-app-commands::
128   :zephyr-app: samples/hello_world
129   :board: nucleo_wb05kz
130   :goals: build flash
131
132You should see the following message on the console:
133
134.. code-block:: console
135
136   Hello World! nucleo_wb05kz/stm32wb05
137
138
139Debugging
140=========
141
142You can debug an application in the usual way.  Here is an example for the
143:zephyr:code-sample:`hello_world` application.
144
145.. zephyr-app-commands::
146   :zephyr-app: samples/hello_world
147   :board: nucleo_wb05kz
148   :maybe-skip-config:
149   :goals: debug
150
151.. _`Nucleo WB05KZ webpage`:
152   https://www.st.com/en/evaluation-tools/nucleo-wb05kz.html
153
154.. _`WB05KZ on www.st.com`:
155   https://www.st.com/en/microcontrollers-microprocessors/stm32wb05kz.html
156
157.. _`STM32WB05 reference manual`:
158   https://www.st.com/resource/en/reference_manual/rm0529-stm32wb05xz-ultralow-power-wireless-32bit-mcu-armbased-cortexm0-with-bluetooth-low-energy-and-24-ghz-radio-solution-stmicroelectronics.pdf
159
160.. _`Nucleo WB05KZ board User Manual`:
161   https://www.st.com/resource/en/user_manual/um3343-stm32wb05-nucleo64-board-mb1801-and-mb2032-stmicroelectronics.pdf
162
163.. _STM32CubeProgrammer:
164   https://www.st.com/en/development-tools/stm32cubeprog.html
165