Transition from Arduino to STM32 Native

I thought I would post about my transition from using Arduino IDE to a native IDE. The reason for the transition is I want to take advantage of the new STM32WL chip which has integrated LoRaWAN. It's possible to get Arduino support for it, but I wouldn't bank on it. I integrated LoRaWAN with my own Arduino project (automates irrigation to my garden based on environmental conditions), and I have been very pleased with the results.

Before writing about it, would anyone be interested in reading it? I'm sure the vast majority of users on this forum will do just fine using Arduino; however, there are of course advantages and disadvantages.

Wow yes

Garden with multiple types of plants with different watering needs

Since there's only 1 person interested I'll keep it short lol. I have experience with the ESP32, nRF52, SAMD, and now the STM32. I finally decided to learn native with the STM32 since there's a variant for just about every use case.

Arduino Pros

  • Extremely quick to get started
  • Great documentation
  • Great community support and open source libraries
  • Can easily use C++(ish) semantics

Arduino Cons

  • Debugging is tedious. Serial monitor and LED's aren't always the easiest to use for debugging.
  • Normalized set of features
  • IDE features are lacking (this can be remedied by using other IDE's, but that's not covered here)
  • Limited selection of mCU's

STM32 Pros

  • Debugging support!
  • IDE support is great. Visual representation of the chip with generated code
  • Community support is great

STM32 Cons

  • C++ support is clunky
  • Documentation is difficult to go through
  • Getting started takes diligence

In summary, I believe the best combination is probably Arduino + PlatformIO or VSCode; however, debugging is still lacking. Having a native debugger with breakpoints speeds up development quite a bit in the long run. Would I still use Arduino? Absolutely. But, STM32 has a very nice offering both from a hardware and software perspective.

With the unbelievably succesdful success of a micro and RF combined module, ie:ESP8266

I cannot believe that no one else tried to tap the market.

With the unbelievably succesdful success of a micro and RF combined module, ie:ESP8266

The Generic Node from TheThingsIndustries will be a game changer I think in the LoRaWAN space. STM32 released the first SoC for LoRaWAN (STM32WL) which is integrated on this board. I know it's not Arduino, but LoRaWAN isn't usually for most Arduino projects IMO.

Any code examples of your transition from Arduino LoRa to STM32? I would be interested?

dave-in-nj:
With the unbelievably succesdful success of a micro and RF combined module, ie:ESP8266

ESP8266 is not an RF module, its a WiFi module.