beegee-tokyo / SX126x-Arduino

Arduino library to use Semtech SX126x LoRa chips and modules to communicate
MIT License
226 stars 64 forks source link

Wish list item: STM32WL support #48

Closed jpmeijers closed 2 years ago

jpmeijers commented 2 years ago

According to https://www.st.com/en/microcontrollers-microprocessors/stm32wl-series.html#overview the

STM32WL microcontrollers feature a sub-GHz radio based-on Semtech SX126x

The STM32 Arduino core is adding support for this series too, and I have been able to program a blink example to my Seeed Studio LORA E5 module. https://github.com/stm32duino/Arduino_Core_STM32

I am wondering if it would be possible, and if it is, how much effort it would be to get this library to work on the STM32WL series of microcontrollers?

beegee-tokyo commented 2 years ago

Hello @jpmeijers Sorry for the late answer. I do not have much experience with the STM32 MCU's and right now I have no time to look into the STM32WL5xx. It should be possible as the STM32 Arduino Core is Mbed and two months ago I adapted the library for the RP2040 where the Arduino Core is Mbed as well.

We have a big product launch at RAK in October, maybe I find time after that.

beegee-tokyo commented 2 years ago

@jpmeijers This will not happen. To get LoRa running on the STM32WL5 you need to use STM32Cube. They did not release how the LoRa transceiver part is connected to the rest of the ARM inside the STM32WL5. Without that information I cannot adapt my library.

We (RAK and me) are now looking for other options.

jpmeijers commented 2 years ago

Thanks for the update @beegee-tokyo. If you happen to find a way to use the STM32WLE5 that is not as complicated as STM32Cube, please let us know. MBed seems ok, but support for other peripherals are limited. Ideally one would want Arduino support.

beegee-tokyo commented 2 years ago

Arduino is our target definitely, it is just not a simple add STM32WL5 job as we had hoped.

cstratton commented 2 years ago

This would no doubt be a complex project, but looking at the data sheets for the STM32WL chips, the internal radio signals are documented as SUBGHZSPI_NSS, _MISO etc as its own functional block like SPI1 and SP2 but distinct and available as an AF on PA4-PA7, and RF_IRQ0, 1, 2

There's also the evoluationary connection between the STM32WL LoRaWAN stack and the LoRaMAC-Node one, such that if you have something in one it should be possible to find the equivalent in the other.

Or given that they're fairly distinct MCU platforms the STM32CubeWL stack could get it's own Arduino frontend

Of course that would make an Arduino library of it, which isn't necessarily the most strategic investment of effort.

beegee-tokyo commented 2 years ago

@cstratton Hi Chris, Making an Arduino library is our target, we have a working solution how to use it with STM32Cube already.

I was looking into it last weekend trying to use what is already available in the STM32 API of the STM32 Arduino and gave up after 6 hours with a headache 🤣 Next weekend I will try again.