RAK4631 Helium OTAA join fail

Hello everyone,

Unfortunately I am not very experienced with Arduino or Wisblock devices and ran into an issue. I am using a RAK Helium Dev Kit for my project. I started based on the GPS Tracker example, and have been working through the details in Arduino IDE, getting the GPS and the BME680 environmental sensor data and using a Google Sheets integration via the Helium Console. It has worked as expected until yesterday when I upgraded the bootloader via the USB method on Windows following this guide. I did not see an issue immediately after upgrading, and it seemed more stable and worked fine. I powered off the PC and RAK at the end of the day.

Today, the board is no longer joining the Helium network and the “OTAA join failed” message appears on the serial console. There was no change in code that could cause the problem.

I can see the Join Request and Join Accept messages in the Helium console.

I am sure the keys are correct and there are Helium hotspots in range. I also have one, but the join messages are from another gateway nearby.

Here are the old and new versions I extracted from the info files before/after the upgrade:

Old (factory):

UF2 Bootloader 0.3.2-109-gd6b28e6-dirty lib/nrfx (v2.0.0) lib/tinyusb (0.6.0-272-g4e6aa0d8) lib/uf2 (heads/master)
Model: Adafruit Feather nRF52840 Express
Board-ID: nRF52840-Feather-revD
SoftDevice: S140 version 6.1.1
Date: Jun 16 2020

New installed 2022-01-31:

UF2 Bootloader 0.4.2 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-293-gaf8e5a90) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: WisBlock RAK4631 Board
Board-ID: WisBlock-RAK4631-Board
Date: Dec 1 2021
SoftDevice: S140 6.1.1

Thank you in advance for any suggestions.

Small addition: I tried a clean copy of the example GPS Tracker code (except for replacing the keys) on the board and it still failed the OTAA Join.
I also tried the clean code on the second RAK4631 board that comes in the Helium kit - I did not upgrade the bootloader on this, so it’s on the “old” version above - and it also failed to join.

Hello @PredatoryPie, welcome to the forum.

The bootloader has nothing to do with the LoRaWan application running in the application, as you already experienced by testing a device with the older bootloader.

If a device that could join the Helium network before fails now I have no clear answer to it. Could be

  • Helium Gateway is too busy with syncing its block chain (experienced that by myself) to handle LoRaWan packets
  • Problem with latest Helium Gateway firmware update (my devices failed to connect for more than a month because LoRaWan setup was messed up)
  • something on hardware side changed
    • antenna connection got loose, either on the gateway or on the node
    • power supply
    • ???

Sorry that I cannot offer a solution, I had the same problem you have, it disappeared after two or three Helium gateway firmware updates.

Hello @beegee , thank you for the quick reply and the insight about Helium gateway availability.

I was worried the bootloader upgrade has affected the behavior.

I verified that all the “Join Accept” entries in the Helium Console came from the same hotspot, and I know for sure yesterday the board was successfully connecting to my own gateway.

Is there a way to force the RAK4631 to connect to a random gateway from the list of gateways in range?

Otherwise I will have to wait and retry until it randomly picks a different gateway by itself.



Unfortunately LoRaWan doesn’t let you select a specific gateway. It just sends out the Join Request hoping a gateway receives it and forwards it to the correct LoRaWan server (there are more than Helium Console).

My proposal,

  • wait some days and check if the device can connect again
  • get a “real” gateway, connected to another LoRaWan server (like TheThingsNetwork) to transmit your data more reliable


I have a feeling the Helium network is not mature enough for real-life applications, or I ran into the worst case scenario here. Either way, we can’t afford to wait some days for our collected data to get pushed to the cloud storage.

I will look into a non-Helium gateway.

Thank you again.

That’s exactly what I am doing.

I have a RAK7258 indoor in my garage connected to an 5.8dBi antenna on my roof for testing. And that’s what I use for customer support and for my own projects.

We have a good selection of professional indoor and outdoor gateways in our WisGate Edge products or developer gateways based on Raspberry Pi in our WisGate Developer products.

The Helium Miner is just for customer support if questions come up.

@beegee thank you for the links. Is it possible to operate a Helium and a non-Helium LoRaWan (eg RAK2245 Pi HAT via TTN) gateway at the same location without interference or other RF issues?

If you keep the antennas fare enough from each other it works.
I have my RAK7258’s 5.8 dBi for “normal” LoRaWAN on the garage roof and the miner is in the window of my living room. Both are set for AS923-3 and so far I saw no problems.