diff --git a/boards/lora-e5-dev/doc.txt b/boards/lora-e5-dev/doc.txt index f79b3759ba..483cbb0502 100644 --- a/boards/lora-e5-dev/doc.txt +++ b/boards/lora-e5-dev/doc.txt @@ -1,13 +1,24 @@ /** * @defgroup boards_lora-e5-dev LoRa-E5 Development Board - STM32WLE5JC * @ingroup boards - * @brief Support for the LoRa-E5 Development Board - STM32WLE5JC board. + * @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 | @@ -30,7 +41,9 @@ * * ![lora-e5-dev](https://files.seeedstudio.com/wiki/LoRa-E5_Development_Kit/hardware%20overview/4071615359366_.pic_hd.jpg) * - * ### User Interface + * 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: * @@ -45,25 +58,95 @@ * | Color | red | * | Pin | PB5 | * - * ### Flash the board + * ### Power Lines * - * The BOARD comes pre-flashed with a Factory AT Firmware with RDP (Read Protection) - * level 1, this needs to be removed to enable subsequent flashing. The easiest - * way is with [STM32CubeProgramer](https://www.st.com/en/development-tools/stm32cubeprog.html) - * as described in [seedstudio wiki](https://wiki.seeedstudio.com/LoRa-E5_STM32WLE5JC_Module/#2-develop-with-stm32cube-mcu-package). + * 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. * - * Once read protection is removed subsequent flashing can be performed with and - * attached ST-LINK on the SWD pins (do not connect RST but only GND, SWCLK and SWDIO). + * | 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 * ``` * - * The default used programmer is OpenOCD. - * * ### 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`. + * */