Skip to content

jorgeig-space/lorawan-wl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoRaWAN on STM32WL

This is a PoC implementation of LoRaWAN using a STM32WL MCU and RTIC. This example uses a NUCLEO-WL55JC board as hardware.

If you are using other boards, modify rfswitch accordingly to reflect your configuration.

WIP This is not a working implementation (yet)!

Thanks to newAM, ivajloip, and all the contributors of stm32wl-hal, rust-lorawan and the Rust embedded community. This wouldn't be possible without them.

Problems & Learnings

  • --JoinRequest is sent and acknowledge only below SF9. When using lower data rates (i.e. higher Spreading Factor) the gateway does not see packets.--
    • Solved: Needed to use LoRa SyncWord Public. The Public vs Private nomenclature means LoRaWAN vs. non-LoRaWAN, instead of public/private LoRaWAN networks.
  • When JoinAccept is generated by the gateway, nothing is seen at the MCU.
    • Solved: A JoinAccept is 17 bytes long and in SF12 takes longer than 1 second to be fully received. The LoRaWAN spec, section 3.3.1 Receiver activity during receive windows states that a receiver should stay active until the frame is demodulated if a preamble is detected during the RX window. This means using the PreambleDetected interrupt to stop the timers from closing the window. In the first version of this code, we used RxDone, so the timers to close the RX window (800 ms) always triggered before the frame reception was complete.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published