| .. _stm32wb5mm_dk_discovery_kit: |
| |
| ST STM32WB5MM-DK |
| ################ |
| |
| Overview |
| ******** |
| |
| The STM32WB5MM-DK Discovery kit is designed as a complete demonstration |
| and development platform for the STMicroelectronics STM32W5MMG module based |
| on the Arm |reg| Cortex |reg|-M4 and Arm |reg| Cortex |reg|-M0+ cores. |
| The STM32 device is a multi-protocol wireless and ultra-low-power device |
| embedding a powerful and ultra-low-power radio compliant with the |
| Bluetooth |reg| Low Energy (BLE) SIG specification v5.2 and with |
| IEEE 802.15.4-2011. |
| |
| |
| STM32WB5MM-DK supports the following features: |
| |
| * STM32WB5MMG (1-Mbyte Flash memory, 256-Kbyte SRAM) |
| - Dual-core 32‑bit (Arm |reg| Cortex |reg|-M4 and M0+) |
| - 2.4 GHz RF transceiver |
| - 0.96-inch 128x64 OLED display |
| - 128-Mbit Quad-SPI NOR Flash Memory |
| - Temperature sensor |
| - Accelerometer/gyroscope sensor |
| - Time-of-Flight and gesture-detection sensor |
| - Digital microphone |
| - RGB LED |
| - Infrared LED |
| - 3 push-buttons (2 users and 1 reset) and 1 touch key button |
| |
| * Board connectors: |
| - STMod+ |
| - ARDUINO |reg| Uno V3 expansion connector |
| - USB user with Micro-B connector |
| - TAG10 10-pin footprint |
| |
| * Flexible power-supply options: |
| - ST-LINK/V2-1 USB connector, |
| - 5 V delivered by: |
| - ARDUINO |reg|, |
| - external connector, |
| - USB charger, or USB power |
| |
| * On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration |
| - Virtual COM port and debug port |
| |
| |
| .. image:: img/STM32WB5MM_DK.jpg |
| :align: center |
| :alt: STM32WB5MM-DK |
| |
| More information about the board can be found in `STM32WB5MM-DK on www.st.com`_. |
| |
| Hardware |
| ******** |
| |
| STM32WB5MMG is an ultra-low-power and small form factor certified 2.4 GHz |
| wireless module. It supports Bluetooth |reg| Low Energy 5.4, Zigbee |reg| 3.0, |
| OpenThread, dynamic, and static concurrent modes, and 802.15.4 proprietary |
| protocols. |
| |
| Based on the STMicroelectronics STM32WB55VGY wireless microcontroller, |
| STM32WB5MMG provides best-in-class RF performance thanks to its high |
| receiver sensitivity and output power signal. Its low-power features |
| enable extended battery life, small coin-cell batteries, and energy harvesting. |
| |
| - Ultra-low-power with FlexPowerControl |
| - Core: ARM |reg| 32-bit Cortex |reg|-M4 CPU with FPU |
| - Radio: |
| |
| - 2.4GHz |
| - RF transceiver supporting: |
| |
| - Bluetooth |reg| 5.4 specification, |
| - IEEE 802.15.4-2011 PHY and MAC, |
| - Zigbee |reg| 3.0 |
| |
| - RX sensitivity: |
| |
| - -96 dBm (Bluetooth |reg| Low Energy at 1 Mbps), |
| - -100 dBm (802.15.4) |
| |
| - Programmable output power up to +6 dBm with 1 dB steps |
| - Integrated balun to reduce BOM |
| - Support for 2 Mbps |
| - Support GATT caching |
| - Support EATT (enhanced ATT) |
| - Support advertising extension |
| - Accurate RSSI to enable power control |
| |
| - Clock Sources: |
| |
| - 32 MHz crystal oscillator with integrated |
| trimming capacitors (Radio and CPU clock) |
| - 32 kHz crystal oscillator for RTC (LSE) |
| - Internal low-power 32 kHz (±5%) RC (LSI1) |
| - Internal low-power 32 kHz (stability |
| ±500 ppm) RC (LSI2) |
| - Internal multispeed 100 kHz to 48 MHz |
| oscillator, auto-trimmed by LSE (better than |
| ±0.25% accuracy) |
| - High speed internal 16 MHz factory |
| trimmed RC (±1%) |
| - 2x PLL for system clock, USB, SAI, ADC |
| |
| More information about STM32WB55RG can be found here: |
| |
| - `STM32WB5MM-DK on www.st.com`_ |
| - `STM32WB5MMG datasheet`_ |
| |
| Supported Features |
| ================== |
| |
| The Zephyr STM32WB5MM-DK board configuration supports the following hardware features: |
| |
| +-----------+------------+-------------------------------------+ |
| | Interface | Controller | Driver/Component | |
| +===========+============+=====================================+ |
| | UART | on-chip | serial port-polling; | |
| | | | serial port-interrupt | |
| +-----------+------------+-------------------------------------+ |
| |
| |
| Other hardware features are not yet supported on this Zephyr port. |
| |
| The default configuration can be found in the defconfig file: |
| :zephyr_file:`boards/st/stm32wb5mm_dk/stm32wb5mm_dk_defconfig` |
| |
| Bluetooth and compatibility with STM32WB Copro Wireless Binaries |
| ================================================================ |
| |
| To operate bluetooth on STM32WB5MMG, Cortex-M0 core should be flashed with |
| a valid STM32WB Coprocessor binaries (either 'Full stack' or 'HCI Layer'). |
| These binaries are delivered in STM32WB Cube packages, under |
| ``Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/``. |
| |
| For compatibility information with the various versions of these binaries, |
| please check `modules/hal/stm32/lib/stm32wb/hci/README`_ |
| in the ``hal_stm32`` repo. |
| |
| Note that since STM32WB Cube package V1.13.2, `"full stack"` binaries are not |
| compatible anymore for a use in Zephyr and only `"HCI Only"` versions should be |
| used on the M0 side. |
| |
| Connections and IOs |
| =================== |
| |
| |
| Default Zephyr Peripheral Mapping: |
| ---------------------------------- |
| |
| .. rst-class:: rst-columns |
| |
| - UART_1 TX/RX : PB7/PB6 ( Connected to ST-Link VCP) |
| - LPUART_1 TX/RX : PA3/PA2 |
| - USB : PA11/PA12 |
| - SWD : PA13/PA14 |
| |
| System Clock |
| ------------ |
| |
| STM32WB5MMG System Clock could be driven by internal or external oscillator, |
| as well as main PLL clock. By default System clock is driven by HSE clock at 32MHz. |
| |
| Serial Port |
| ----------- |
| |
| STM32WB5MM-DK board has 2 (LP)U(S)ARTs. The Zephyr console output is assigned to USART1. |
| Default settings are ``115200 8N1``. |
| |
| |
| Programming and Debugging |
| ************************* |
| |
| Applications for the ``stm32wb5mm_dk`` board configuration can be built the |
| usual way (see :ref:`build_an_application`). |
| |
| Flashing |
| ======== |
| |
| STM32WB5MM-DK has an on-board ST-Link to flash and debug the firmware on the |
| module. |
| |
| |
| Flashing ``hello_world`` application to STM32WB5MM-DK |
| ------------------------------------------------------ |
| |
| Connect the STM32WB5MM-DK to your host computer using the USB port (CN11). |
| Then build and flash an application. Here is an example for the ``hello_world`` |
| application. |
| |
| Run a serial host program to connect with your STM32WB5MM-DK board: |
| |
| .. code-block:: console |
| |
| $ minicom -D /dev/ttyACM0 |
| |
| Then first build and flash the application for the STM32WB5MM-DK board. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: stm32wb5mm_dk |
| :goals: build flash |
| |
| Reset the board and you should see the following messages on the console: |
| |
| .. code-block:: console |
| |
| Hello World! stm32w5mm_dk |
| |
| Debugging |
| ========= |
| |
| You can debug an application in the usual way. Here is an example for the |
| `Hello_World`_ application. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: stm32wb5mm_dk |
| :maybe-skip-config: |
| :goals: debug |
| |
| .. _STM32WB5MM-DK on www.st.com: |
| https://www.st.com/en/evaluation-tools/stm32wb5mm-dk.html |
| .. _STM32WB5MMG datasheet: |
| https://www.st.com/resource/en/datasheet/stm32wb5mmg.pdf |
| .. _modules/hal/stm32/lib/stm32wb/hci/README: |
| https://github.com/zephyrproject-rtos/hal_stm32/blob/main/lib/stm32wb/hci/README |
| .. _Hello_World: |
| https://docs.zephyrproject.org/latest/samples/hello_world/README.html |