How seeed-studio/lorawan-e5-node works
This repository is STM32WL firmware and board support for LoRa-E5 mini/Development Kit, with LoRaWAN end-node, FreeRTOS, AT-command, and low-power examples. The documented end-node workflow configures LoRaWAN identity and region, joins through a gateway/network server, and periodically sends uplinks; the tree also shows sensor, payload-encoding, serial-command, and radio layers. Source excerpts are partial, so links between unsampled application modules are omitted unless the README or excerpts support them.
Main entry points: app_lorawan.c LoRaWAN application · main.c End-node loop · lora_at.c AT command app · lora_command.c LoRa commands
Components 22
End-node applications
- End-node loop
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/Core/Src/main.c - LoRaWAN application
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/App/app_lorawan.c - LoRa app logic
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/App/lora_app.c - Sensor interface
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/Core/Src/sys_sensors.c - Cayenne LPP
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/App/CayenneLpp.c - AT command app
Projects/Applications/FreeRTOS/FreeRTOS_LoRaWAN_AT/LoRaWAN/App/lora_at.c - LoRa commands
Projects/Applications/FreeRTOS/FreeRTOS_LoRaWAN_AT/LoRaWAN/App/lora_command.c - FreeRTOS LoRaWAN
Projects/Applications/FreeRTOS/FreeRTOS_LoRaWAN/Core/Src/main.c - FreeRTOS AT entry
Projects/Applications/FreeRTOS/FreeRTOS_LoRaWAN_AT/Core/Src/main.c
LoRaWAN stack boundary
- Device credentials
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/App/se-identity.h - Region settings
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/App/lora_app.h - LoRaWAN target config
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/Target/lorawan_conf.h
Board and radio
- Radio board adapter
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/LoRaWAN/Target/radio_board_if.c - BSP radio driver
Drivers/BSP/STM32WLxx_LoRa_E5_mini/stm32wlxx_LoRa_E5_mini_radio.c
MCU platform
- Sub-GHz peripheral
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/Core/Src/subghz.c - STM32 HAL
Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal.c - ADC acquisition
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/Core/Src/adc_if.c - UART interface
Projects/Applications/LoRaWAN/LoRaWAN_End_Node/Core/Src/usart_if.c - Low-power support
Utilities/lpm/tiny_lpm/stm32_lpm.c
Other components
- Firmware operator
- LoRaWAN gateway
- Network server
Connections 18
- Firmware operator → Device credentials: sets credentials
- Firmware operator → Region settings: selects region
- End-node loop → LoRaWAN application: processes LoRaWAN
- LoRaWAN application → LoRaWAN gateway: joins and uplinks
- LoRaWAN gateway → Network server: forwards packets
- Network server → LoRaWAN application: join response
- LoRaWAN application → Device credentials: uses keys
- LoRaWAN application → Region settings: uses region
- LoRaWAN application → LoRaWAN target config: uses configuration
- Radio board adapter → BSP radio driver: calls radio driver
- BSP radio driver → Sub-GHz peripheral: controls radio
- Sub-GHz peripheral → STM32 HAL: uses HAL
- Sensor interface → ADC acquisition: reads measurements
- FreeRTOS AT entry → AT command app: runs AT app
- AT command app → LoRa commands: dispatches commands
- LoRa commands → UART interface: uses serial interface
- FreeRTOS LoRaWAN → LoRaWAN application: processes LoRaWAN
- Low-power support → End-node loop: supports sleep