Strooom / STM32WLE5x-SX126X-LoRaWAN

Library for driving the SX126X LoRa radio in the LoRa-E5 module
Other
5 stars 1 forks source link

Looking forward to the first release! #2

Open RickerStem opened 1 year ago

RickerStem commented 1 year ago

Hi,

Just wanted to say hi and wanted to let you know I appreciate the effort.

Came across your repo, was looking for alternatives for the STM32CubeWL examples. Got really lost in the ST code base.

Trying/looking into, to make a Class A and C device without the LoRa-E5 (Seeed Studio) AT commands.

Groetjes

Strooom commented 1 year ago

Thank you Rick, I'm still working on it, almost full time. I am ready studying the sx126 datasheet and the LoRaWAN 1.0.4 specification and still confident I will pull it off. I expect to send some first uplinks next week.

RickerStem commented 1 year ago

That sounds great! Will watch your repo closely, maybe I can do some test on my custom board (in a few weeks ready). I also did some research, but I'm not so proficient in coding in C/C++ here some links that just I wanted to share:

https://www.youtube.com/@truestepbystep3763 (This guys is walking trough the code from ST and is explaining functions you needed for uplink, he is also explaining and demonstrating downlink messages and other stuff)

Years ago I setup up this lora gw from a French professor: https://github.com/CongducPham/LowCostLoRaGw This professor made a whole low cost lora gateway framework, he made a lot of changes to make it single channel (not officially LoRaWAN ofc), made some changes to LMIC and has a lot of documentation about the sx12xx drivers and why he made changes etc. maybe interesting?

Good luck!

Strooom commented 1 year ago

Hi Rick, I do have some nodes running with a build from my software and it's all starting to work. I did cut a few corners to go faster, so some things are still missing :

I will keep you posted on our progress here. Kind regards,

Pascal

RickerStem commented 1 year ago

Thats great progress! Thanks for the update!

Strooom commented 1 year ago

In the mean time we have more progress : I have some 10 units in field trials now, and they have been running smooth for about 8 weeks now. Currently working on the ePaper display.

RickerStem commented 11 months ago

That's great to hear, do you mind sharing some more info/updates? I was mainly interested in your devices power consumption. For example, which deepsleep current you are getting on the LoRa-E5-HF?

Maybe you are interested, I read some things about the high transmit power of the LoRa-E5-HF module. There is another less known module (at least I didn't know) the LoRa-E5-LE module (https://www.seeedstudio.com/Wio-E5-LE-Wireless-Module-Tape-Reel-STM32WLE5JC-p-5752.html)

Strooom commented 11 months ago

Hi, good to hear from you. Indeed going in (ultra) low power is quite hard. At this time, my complete board is consuming ~5 uA when in sleep mode (STOP 2 with RTC running). According to the datasheets, the STM32WLE5 itself should be between 1 and 2 uA. I've still to investigate the source of the additional power consumption, but the sensors, display and eeprom is also consuming a bit of power. In the next version of the hardware design, these will all be powered by a separate power-line which can be switched off with a FET. Also on this design I have several test-points to investigate the power consumption in more detail.

I am aware of the Lora-E5 high and low power issues. In fact the STM32WLE5 has 2 output pins : low power until 14 dBm and high power until 22 dBm. But it seems the LoRa-E5 module only brings the high power pin outside. When in Europe, the 14 dBm is the upper limit anyway, so the low-power would be ideal. If you use the high power output, and reduce the power to 14 dBm, it is a lot less efficient, resulting in high current consumption during transmission..

I've learned that this was also the case for the RAK 3172, which is a similar module, but then RAK made a variant of this module, bringing out the low-power HF instead of the high-power.

When you mention the LoRa-E5-LE variant, I assume it's the same thing. It supports the low-power HF io the high power output. For Europe eg. this results in much lower consumption, but you cannot go above 14 dBm. The information you've sent is indeed very useful, so thank you for that.

While developing the firmware, I was forced to use the STM32Cube Ide from ST, but in fact my preferred environment is VSCode with PlatformIO. Unfortunately, the STM32WLE was not yet supported in PlatformIO, but recently I've managed to add the support and so now that I am back in my favorite environment, I should be able to add some more features easily. This activity is happening on another repository, so you may want to follow that : https://github.com/Strooom/STM32WLE_PlatformIO