@defgroup boards_lora-e5-dev LoRa-E5 Development Board - STM32WLE5JC @ingroup boards @brief Support for the LoRa-E5 Development Board - STM32WLE5JC. @warning This BOARD comes with arduino style pin headers, but the gpio mapping does not map to arduino BOARDs, even 3.3V and 5V pins are placed differently, so don't use arduino expansion-boards since these might short-circuit the mcu and/or expansion-board. The LoRa-E5 Dev Board is an evaluation board for the Seeed Studio LoRa-E5 STM32WLE5JC module. The cpu includes a radio supporting multiple LPWAN protocols in the 868/915 MHz frequency bands, including LoRa, capable of 20.8dBm output at 3.3V. Convenient interfaces as Grove and RS-485 are mapped out, and the many pins map most of the modules GPIOs. But watch out! Although it features Arduino style pin headers, they are not arduino compatible. The board also includes a JST battery connector as well as control over the external power lines which can be enabled or disabled by software. ### MCU | MCU | STM32WL5EJC | |:---------- |:--------------------------------------------------------- | | Family | ARM Cortex-M4 | | Vendor | ST Microelectronics | | RAM | 64KiB | | Flash | 256KiB | | Frequency | up to 48MHz | | FPU | no | | Vcc | 1.8 V - 3.6V | | Datasheet | [Datasheet](https://files.seeedstudio.com/products/317990687/res/STM32WLE5JC%20Datasheet.pdf) | | Reference Manual | [Reference Manual](https://www.st.com/resource/en/reference_manual/rm0461-stm32wlex-advanced-armbased-32bit-mcus-with-subghz-radio-solution-stmicroelectronics.pdf) | | Board Manual | [Board Manual](https://www.st.com/resource/en/data_brief/nucleo-wl55jc.pdf) | | Board Schematic | [Board Schematic](https://files.seeedstudio.com/products/113990934/LoRa-E5%20Dev%20Board%20v1.0.pdf) | | LoRa-E5 STM32WL5EJC Module wiki | https://wiki.seeedstudio.com/LoRa-E5_STM32WLE5JC_Module/#2-develop-with-stm32cube-mcu-package | ### Pinout ![lora-e5-dev](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/hardware%20overview/4071615359366_.pic_hd.jpg) The default Peripheral Mapping is specified [here](https://github.com/RIOT-OS/RIOT/blob/master/boards/lora-e5-dev/include/periph_conf.h) ### Board Interface 3 Buttons: | NAME | BOOT | D0 | RESET | |:------ |:---------|:--------- |:----- | | Pin | PA0 (IN) | PB13 (IN) | NRST | 1 LED: | NAME | D5 | | ----- | ----- | | Color | red | | Pin | PB5 | ### Power Lines All power lines are on by default, but some of them can optionally be disabled, namely 3.3V and 5V. These feed all external pins as well as the internal LM75A, more details are available on the schematic. | Name | Controlled By | Alias | |:---- |:------------- |:--------------------------- | | 3.3V | PA9 | LORA_E5_DEV_3P3V_ENABLE_PIN | | 3.3V | PB10 | LORA_E5_DEV_5V_ENABLE_PIN | | | | | ### Flashing #### Disabling Read Protection The board comes pre-flashed with a DFU bootloader, an AT command Firmware and read protection enabled and set to 1. So before being able to program anything else, read protection needs to be set back to level 0. The easiest way of doing this is with the [STM32CubeProgramer](https://www.st.com/en/development-tools/stm32cubeprog.html) GUI and setting the RDP option byte to `AA` ![LoRa-E5 STM32CubeProgramer1](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/wiki%20images/program1.png) ![LoRa-E5 STM32CubeProgramer2](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/wiki%20images/program2.png) Alternatively you can use the STM32_Programer_CLI: ``` $ STM32_Programmer_CLI --connect port=swd --readunprotect ``` #### Programming with an external ST-LINK Since there is no ST-LINK programmer on the board an external one needs to be connected. Any Nucleo or STM32Discovery board can be used for this by simply removing the ST-LINK jumpers and connecting on the CN4 headers (see [UM1724 6.2.4](https://www.st.com/resource/en/user_manual/um1724-stm32-nucleo64-boards-mb1136-stmicroelectronics.pdf) for more details). An example is seen in the following image: ![LoRa-E5 Dev ST-LINK](https://stm32python.gitlab.io/fr-version-lora/site/assets/images/lora/seeestudio_lora_e5_dev_connection.png) ``` CN4 LoRa-E5 Dev (Dark Blue Header) Pin 1: VDD_TARGET N/C Pin 2: SWCLK ----> Yellow Cable ----> CLK Pin 3: GND ----> Black Cable ----> GND Pin 4: SWDIO ----> Blue Cable ----> DIO Pin 5: NRST N/C Pin 6: SWO N/C ``` Flashing can then be performed seamlessly with OpenOCD: ``` BOARD=lora-e5-dev make flash ``` ### Serial connection The default serial connection is through the USB-C port mapping to PB7 (RX) and PB6 (TX) UART pins (a second UART and an LPUART interface is also exposed). ``` BOARD=lora-e5-dev make term ``` ### Debugging For Debugging an external programmer is required, connected as depicted in the above picture, then the debugger can be attached with: ``` BOARD=lora-e5-dev make debug ``` ### LoRa This board comes embedded with an `sx126x` based LoRa radio. The precise module that needs to be selected is `USEMODULE += sx126x_stm32wl`, this is also selected with `USEMODULE += netdev_default`. Differently from other `stm32wl` chips this module only transmits through `RFO_HP`. ### Sensors This board includes a @ref drivers_lm75 temperature sensor. It can be included with `USEMODULE += lm75a` or through `USEMODULE += saul_default`.