.. _olimex_lora_stm32wl_devkit: Olimex LoRa STM32WL DevKit ########################## Overview ******** LoRaWAN development kit based on Olimex BB-STM32WL module using the STM32WLE5CCU6 MCU. .. figure:: ../../../../../../../../../zephyr/boards/arm/olimex_lora_stm32wl_devkit/doc/olimex-stm32wl-devkit.jpg :align: center :alt: Olimex LoRa STM32WL DevKit Olimex LoRa STM32WL DevKit (credit: OLIMEX) Hardware ******** The board has below hardware features: - BB-STM32WL, 256KB Flash, 64KB RAM with external antenna - Lithium battery connector 3V (does not include battery) - UEXT connector for external sensors - BME280 temperature, humidity, pressure sensor - LDR resistor for lighting measurement - IIS2MDCTR 3-axis magnetometer for smart parking - GPIO connector for prototyping - Low power design - 1 User LED - 1 user, 1 boot, and 1 reset push-button - 32.768 kHz LSE crystal oscillator More information about the board and the module can be found here: - `LoRa-STM32WL-DevKit Repository`_ - `LoRa-STM32WL-DevKit page on OLIMEX website`_ - `BB-STM32WL Module website`_ - `STM32WLE5CC reference manual`_ - `STM32WLE5CC on www.st.com`_ Supported Features ================== The Zephyr Olimex LoRa STM32WL Dev Kit configuration supports the following hardware features: +-----------+------------+-------------------------------------+ | Interface | Controller | Driver/Component | +===========+============+=====================================+ | ADC | on-chip | adc | +-----------+------------+-------------------------------------+ | AES | on-chip | crypto | +-----------+------------+-------------------------------------+ | COUNTER | on-chip | rtc | +-----------+------------+-------------------------------------+ | CLOCK | on-chip | reset and clock control | +-----------+------------+-------------------------------------+ | FLASH | on-chip | flash | +-----------+------------+-------------------------------------+ | GPIO | on-chip | gpio | +-----------+------------+-------------------------------------+ | I2C | on-chip | i2c | +-----------+------------+-------------------------------------+ | MPU | on-chip | arch/arm | +-----------+------------+-------------------------------------+ | NVIC | on-chip | arch/arm | +-----------+------------+-------------------------------------+ | PINMUX | on-chip | pinmux | +-----------+------------+-------------------------------------+ | RADIO | on-chip | LoRa | +-----------+------------+-------------------------------------+ | SPI | on-chip | spi | +-----------+------------+-------------------------------------+ | UART | on-chip | serial port-polling; | | | | serial port-interrupt | +-----------+------------+-------------------------------------+ | WATCHDOG | on-chip | independent watchdog | +-----------+------------+-------------------------------------+ Other hardware features are not yet supported on this Zephyr port. The default configuration can be found in the defconfig and dts files: - :zephyr_file:`boards/arm/olimex_lora_stm32wl_devkit/olimex_lora_stm32wl_devkit_defconfig` - :zephyr_file:`boards/arm/olimex_lora_stm32wl_devkit/olimex_lora_stm32wl_devkit.dts` Programming and Debugging ************************* Applications for the ``olimex_lora_stm32wl_devkit`` board configuration can be built the usual way (see :ref:`build_an_application`). The board contains an on-board debug probe which implements the CMSIS-DAP interface. It can also be debugged and flashed with an external debug probe connected to the SWD pins. The built-in debug probe works with pyOCD, but requires installing an additional pack to support the STM32WL: .. code-block:: console $ pyocd pack --update $ pyocd pack --install stm32wl Flashing an application ======================= Connect the board to your host computer and build and flash an application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: olimex_lora_stm32wl_devkit :goals: build flash If you're using devkit revision C or higher, you'll need to specify the appropriate revision letter to enable the VDDIO supply to the UEXT1 connector and CON1 pin header. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: olimex_lora_stm32wl_devkit@D :goals: build flash Run a serial terminal to connect with your board. By default, ``usart1`` is accessible via the built-in USB to UART converter. .. code-block:: console $ picocom --baud 115200 /dev/ttyACM0 Debugging ========= You can debug an application in the usual way. Here is an example for the :zephyr:code-sample:`blinky` application. .. zephyr-app-commands:: :zephyr-app: samples/basic/blinky :board: olimex_lora_stm32wl_devkit :maybe-skip-config: :goals: debug On board revisions C or newer: .. zephyr-app-commands:: :zephyr-app: samples/basic/blinky :board: olimex_lora_stm32wl_devkit@D :maybe-skip-config: :goals: debug .. _LoRa-STM32WL-DevKit Repository: https://github.com/OLIMEX/LoRa-STM32WL-DevKIT .. _LoRa-STM32WL-DevKit page on OLIMEX website: https://www.olimex.com/Products/IoT/LoRa/LoRa-STM32WL-DevKit/open-source-hardware .. _BB-STM32WL Module website: https://www.olimex.com/Products/IoT/LoRa/BB-STM32WL/ .. _STM32WLE5CC on www.st.com: https://www.st.com/en/microcontrollers-microprocessors/stm32wle5cc.html .. _STM32WLE5CC datasheet: https://www.st.com/resource/en/datasheet/stm32wle5cc.pdf .. _STM32WLE5CC reference manual: https://www.st.com/resource/en/reference_manual/dm00530369-stm32wlex-advanced-armbased-32bit-mcus-with-subghz-radio-solution-stmicroelectronics.pdf