It’t not the feather M0 that would tie you to Arduino, it’s the way MCCI LMiC is written against Arduino IDEs and paradigms regardless of what hardware you use.
I believe however that you can build Arduino type code with platform IO.
I build MCU code exactly the way I build unix-style desktop code.
If you want a non-Arduino-ish LoRaWan implementation, most things that aren’t LMiC based are derived from Semetche’s LoRaMac node code unless they’re entirely proprietary.
Or you can spend a long day or two de-Arduino-ifying LMiC… I did that at one point before evolving it to the point where the only remaining bits of LMiC in the whole project sit in one small file.
It’s big enough, if you read the ESP32 threads you’ll see the state of knowledge for using it.
only a static “Hello World” type thing.
Obviously that was a starting test, but please try to move away from strings, and think about the value justification of each byte sent (technically modulo the 4/5 coding groups applied after the overhead is added)