Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040 based board using a Semtech SX1276 radio module.
Based on the Semtech's LoRaWAN end-device stack implementation and example projects.
- RP2040 board
- Semtech SX1276 board
| Raspberry Pi Pico / RP2040 | Semtech SX1276 |
|---|---|
| 3.3V | VCC |
| GND | GND |
| GPIO 18 | SCK |
| GPIO 19 | MOSI |
| GPIO 16 | MISO |
| GPIO 7 | DIO0 / G0 |
| GPIO 8 | NSS / CS |
| GPIO 9 | RESET |
| GPIO 10 | DIO1 / G1 |
GPIO pins are configurable in examples or API.
See examples folder.
There is a config.h file to your ABP or OTAA node configuration for each example.
git clone --recurse-submodules https://github.com/sandeepmistry/pico-lorawan.git - Set up the Pico C/C++ SDK
- Set
PICO_SDK_PATH
export PICO_SDK_PATH=/path/to/pico-sdk- Create
builddir, runcmakeandmake:
mkdir build cd build cmake .. -DPICO_BOARD=pico make - Copy example
.uf2to Pico when in BOOT mode.
This library uses the last page of flash as non-volatile memory (NVM) storage.
You can erase it using the erase_nvm example, when:
- Changing the devices configuration
- If your board is timing out with joining the network
A big thanks to Alasdair Allan for his initial testing of EU868 support!
This project was created on behalf of the Arm Software Developers team, follow them on Twitter: @ArmSoftwareDev and YouTube: Arm Software Developers for more resources!