LoRaWAN, Raspberry Pi Pico, HOPERF Module RFM95W, The Things Network V3

We are facing this challenge:
LoRaWAN, Raspberry Pi Pico, HOPERF Module RFM95W, The Things Network V3 doesn’t work.

Can anybody help please?

See here:

and here:
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=313977
and here:

Any ideas what might be missing, what next we should try?

Thanks

D.

What tells you that it doesn’t work - debug log, any form of output from the Pico, console logs etc etc

Well, the only evidence is it timeouts on the join.
We tried multiple settings but always the same.
=========== MLME-Confirm ============
STATUS : Rx 2 timeout

From the same place, same RFM module with Arduino with Arduino lib, TTNv2 and another LoRaWan provider works.

Happy to try more, enable more diagnostics settings but we are currently running out of ideas.
Is our configuration for TTNv3 reasonably correct?:

It would be useful to know the entire log from startup, just in case there is something that pops out.

TTN tends to use Rx2 using SF9.

LoRaMac-node is v1.0.4 which brings a whole pile of ‘other’ to the party so that may well be the show stopper for you.

I haven’t got to using the RFM95 with a Pico yet, so if the LoRaWAN version isn’t the issue, I can give it a quick run on Sunday.

I appreciate sir! What are the options so I can increase log output and post it here?

You need to change things on the console as suggested above, both I think will be jamming you up.

As for the log, I haven’t got to using the RFM95 with a Pico yet …

Hey @descartes - please did you have chance to have a look on this?

Arrrggggh, no, got tied up over the weekend - no, not that way - family tech support etc.

Have set a reminder

Hello dans / Nick (all the best for the holiday season …)

I see this is an old post 6months old, but I"m stuck too. My RFM95 is working with CircuitPython and the Pi Pico (I see messages in TTN V3) but no joy on this with C++
Pico LoRaWAN - Hello ABP

Initilizating LoRaWAN …

=========== CTXS RESTORED ===========

Size : 2208

success!
Joining LoRaWAN network …

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

=========== MLME-Confirm ============

STATUS : Rx 2 timeout

and then I get …

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : Duty-cycle restricted
Next Tx in : 3505658 [ms]

=========== MLME-Request ============
MLME_JOIN
=====================================

STATUS : OK

Did you make any headway finally ?

I’m new to this and still learning … many moving parts in this ecosystem!!!

cheers,

Please be aware that that TinyLoRa doesn’t receive any of the network commands that are sent by TTS so there are some configuration details that will reduce the gateway transmissions - you need to set all eight frequencies so that they repeatedly sent as a setup and ideally tune your data rate for the distance from the server - the stack may still try to send ADR commands but at least your DR will be good for the radio environment.

I haven’t revisited the Pico option of late, there wasn’t a feasible way to reduce sleep power consumption when on battery without too many shenanigans.

However my toolkit of modules has increased so it should be feasible to take this for a spin - if only to benchmark some edge ML libraries on the Pico which, with solar power (a rare event in Bolton), may make the Pico viable with some external timer chip.

*Please be aware ...*.

ok thanks for the feedback on this plus all the other posts I see you reply to as well ! I’ve got a lot to learn, and I’ll need to invest a lot more time if want to become halfway compentent. …not sure if this tech is for hobbyists like me. Maybe Arduino LMIC/MCCI is a better learning environment?

a rare event in Bolton

… never been there, but I did spend some time around Leeds about 20 years ago . Pretty part of the country - even if it is grey!

This stuff has both a forward and reverse half-life - you get to half-way and then a quarter then an eighth and then a sixteenth but never the end - meanwhile the tech gets more complicated so if you stand still you go in reverse.

It’s for everyone, they just have ranges of success depending on how they apply themselves, it and ask good questions.

To start out, I’d say yes, if only because there is the LMIC-node that is a wrapper to LMIC that will insulate you from some of the finicky details, supports a range of hardware (hint, I’d start with the Adafruit Feather M0 with RFM95) and there is a body of knowledge on here (including the LMIC-node author) to help you get started. Arduino kit also plays nicely with batteries, which is one of the key aspects of LoRa.

The Pico library from Sandeep is an implementation of LoRaMAC-node, the official reference implementation and is somewhat like having your brains beaten out by a gold bar wrapped in lemon, or, as I prefer to call it, a Pan Galactic Gargle Blaster. It is useable but it’s not the shallow end of the pool by any means.

Yes.

Try LMIC-node, works out of the box with Raspberry Pi Pico + RFM95.

See output example from serial monitor here.

For required wiring and other details check the following file: bsf_pico.h

LMIC-node:

I missed the memo, cool beans!

=>nice to know ! Thanks

what memo? :crazy_face:

anyhow I have lots of options => my local supplier has M0+RFM95 so I migt pick one up. I was just looking in my supplies bin and I see I have a Rak811 PHat too. I might give this a spin.
@Nick, I see you are over at the RAK forums too. Nice to see all the support from you => :beers:

1 Like

This is directly supported by raw LMIC as well as LMIC-node and has potential for 3+ years battery life.

The Pico+RFM95 experience with LMIC-node will be identical to the Feather on LMIC-node but I’ve not got much less than 900uA on the Pico in sleep mode.

So either is fine for on the desk, but for deployment, it’s all about the power source.

Different sort of beast, same end result - you pipe faux AT commands through a serial port and the module gets on with the heavy lifting. There are attempts to get LMIC with an RFM95 working on the Pi, most of them succeed to some extent, but Raspberry OS is not real time so it can glitch the LMIC timings occasionally.