The ESP32, Raspberry PI Pico, and M5Stack using MicroPython meet LoRaWAN.
Check out these articles for more information:
- M5Stack Atom Matrix: LoRaWAN node running MicroPython
- Tutorial: ESP32 running MicroPython sends data over LoRaWAN
- Raspberry Pi Pico: The RP2040 meets LoRaWAN
Use VSCode and the PyMakr extension to upload the code. If you are new on MicroPython, this tutorial can help you to install the firmware on a ESP32.
Follow these steps to deploy the project:
- Rename the file
config.sample.pytoconfig.py - Configure the SPI pins to connect to the SX127x module. I've included the following example connections:
- ES32 TTGO v1.0
- M5Stack ATOM connected to LoRa v2.0 board.
- M5Stack Fire connected to the LoRa868 Module.
- Raspberry Pi Pico connected to LoRa v2.0 board.
- Configure the
devaddr,nwkey, andappof thettn_configvariable following the instruction from this link.
- Wemos® TTGO LORA32 868/915Mhz board.
- SparkFun® LoRa Gateway - 1-Channel board.
- M5Stack ATOM connected to LoRa v2.0 board. M5Stack Fire connected to the LoRa868 Module.
- 0.2v - first commit with LoRaWAN support
- Apache 2.0
Two screenshots from the TTN website:

- SX127x driver is based on: Wei1234c GitHub. The project was cleaned and made compatible with the Wemos® TTGO LORA32 868/915Mhz board.
- LoRaWAN connection is based on: Adafruit_CircuitPython_TinyLoRa
