1.. zephyr:board:: nucleo_wb09ke 2 3Overview 4******** 5 6The Nucleo WB09KE board is a Bluetooth |reg| Low Energy wireless and ultra-low-power 7board featuring an ARM Cortex |reg|-M0+ based STM32WB09KEV 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 WB09KE webpage`_. 12 13Hardware 14******** 15 16Nucleo WB09KE provides the following hardware components: 17 18- STM32WB09KEV in VFQFPN32 package 19- ARM |reg| 32-bit Cortex |reg|-M0+ CPU 20- 64 MHz maximal CPU frequebct 21- 512 KB Flash 22- 64 KB SRAM 23 24More information about STM32WB09KEV can be found here: 25 26- `WB09KE on www.st.com`_ 27- `STM32WB09 reference manual`_ 28 29 30Supported Features 31================== 32 33The Zephyr ``nucleo_wb09ke`` 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 WB09KE board User Manual`_. 91 92Programming and Debugging 93************************* 94 95Nucleo WB09KE board includes an ST-LINK-V3EC embedded debug tool interface. 96 97Applications for the ``nucleo_w09ke`` 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 WB09KE 115---------------------------------------- 116 117Connect the Nucleo WB09KE 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_wb09ke 130 :goals: build flash 131 132You should see the following message on the console: 133 134.. code-block:: console 135 136 Hello World! nucleo_wb09ke/stm32wb09 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_wb09ke 148 :maybe-skip-config: 149 :goals: debug 150 151.. _`Nucleo WB09KE webpage`: 152 https://www.st.com/en/evaluation-tools/nucleo-wb09ke.html 153 154.. _`WB09KE on www.st.com`: 155 https://www.st.com/en/microcontrollers-microprocessors/stm32wb09ke.html 156 157.. _`STM32WB09 reference manual`: 158 https://www.st.com/resource/en/reference_manual/rm0505-stm32wb09xe-ultralow-power-wireless-32bit-mcu-armbased-cortexm0-with-bluetooth-low-energy-and-24-ghz-radio-solution-stmicroelectronics.pdf 159 160.. _`Nucleo WB09KE board User Manual`: 161 https://www.st.com/resource/en/user_manual/um3345-stm32wb09-nucleo64-board-mb1801-and-mb2032-stmicroelectronics.pdf 162 163.. _STM32CubeProgrammer: 164 https://www.st.com/en/development-tools/stm32cubeprog.html 165