TTN/LoRaWAN with Raspberry PICO and Micropython

I’m very new to LoRaWAN and TTN and also to MicroPython. But does anybody know if it’s possible to use a Raspberry PICO using Micropython as an endnode communicating with TTN?
I saw some tryouts but mostly for point-2-point. Is there such a project?

Yes, see here:

1 Like

Im looking for a combination of PICO and the RFM95W module. Got it working with LMIC on an ESP32. But was hoping for a micropython solution interfacing directly with the RFM95W module.

Given that the Pico has been out for just over two months, pretty much everything that people want is waiting on someone else to do the porting.

I’m not aware of any python based LoRaWAN solutions that will work satisfactorily with the v3 stack, so anything that is around now has a very finite lifespan

Try reading Raspberry Pi Pico กับ LoRaWAN. ใช้มอดูล Maxiiot-DL7612-AS923-TH | by Somsak Lima | Medium.

Sorry, it is not English. I use Maxiiot DL7612 which is LoRa MAC 1.0.2.

That’s an AT command based module like the RAK. The OP wants to drive the radio chip natively.

May try ulora lib if using with RFM95. GitHub - fantasticdonkey/uLoRa: LoRa / LoRaWAN + TTN for MicroPython (ESP32)
uLoRa lib is very limit in function. It only supports ABP and uplink.

I wrote some examples at
I use ESP32 with RFM95 but I think it should also work with MicroPython on PICO.

Which makes it inappropriate for use with TTN, particularly the v3 stack, where OTAA with the ability to process downlink MAC commands is the expected norm.

There is plenty of room, even a whole core could be used, for porting LoRaMac-node.

Uplink only is not LoRaWAN and should not be used with TTN. It can not be used with V3 without creating serious issues for other users. LoRaWAN compliant nodes should receive and process MAC commands. If they don’t TTN will send a downlink for each uplink the node sends, this causes the gateway(s) near the node to transmit unnecessarily which increases the chance uplinks are not received. Not social and totally not cool.

For the time being I think its better to stay with ESP+RFM95 module for me as a beginner then. Thanx for the info.

There currently appears to be no public LoRaWAN compliant library available for SX127x/RFM9x or SX1262 LoRa modules that can be used with MicroPython.
Existing libraries support uplink traffic only which is not LoRaWAN compliant.

This is not just limited to the Raspberry Pi Pico but relates to all microcontrollers running MicroPython (Adafruit boards and CircuitPython included).

So what are the best options to build a diy node for starters? ESP32 with RFMxx module using LMIC?

Adafruit Feather M0 with RFM95 using the MCCI LMiC software.

Solid hardware, just needs a link adding, a first class supported hardware for the software.

Any Arduino with 2Kb RAM is too small for LMiC, despite what you may try to be sold.

If you are going DIY, we strongly recommend a gateway so you can debug the whole lot - mostly works first time, quite often doesn’t.

If you want to start with something that is cheaper you could also try a Heltec CubeCell [ASR650x] or Heltec Wireless Stick (Lite) [ESP32] board. The CubeCell has the LoRaWAN stack already included. The Wireless Stick (Lite) can be used with the MCCI LMIC library.
For more information check the CubeCell or Big ESP32 topics.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.