Digital Matter devices, based on LoRaWAN™ technology, will attempt to join a LoRaWAN network. The join is attempted when they are set to Over The Air Activation (OTAA), which is the default setup. The join requires an exchange of messages, initiated by the device, to the network, to do a key exchange and establish the keys for the subsequent communication.


This article explains the expected join schedule of the device. The schedule stops when the join is completed. Complete is when the network accepts and responds to the device, and the device hears the response.


The join may not complete for these reasons, resulting in the schedule of retries described at the bottom of this article:

  • Device is not in range of the network.
  • The network can hear the device, but the device is out of range to hear the response.
  • The device is not setup on a network.
  • The device is setup with the incorrect keys (Dev EUI, App EUI, App Key).


The schedule for attempting the join is as follows:

  • The stack will send up to 3 join requests each time the device would normally transmit (heartbeat, tracking message, stats message). 
  • The requests will be throttled back with a varying duty cycle:
    • 1% transmit duty cycle in the first hour after a reset (~2.5 minutes between the 3 join requests at SF12)
    • 0.1% transmit duty cycle in the next 10 hours (~25 minutes between the 3 join requests at SF12)
    • 0.01% transmit duty cycle thereafter (~250 minutes between the 3 join requests at SF12)
  • If you have the device set to rejoin every 7 days, it will reset after a week, and restart the back off procedure from 1%.
  • So the average time between join requests over a 7 day rejoin period would be in the worst case as low as 2 hours.
  • In the US915 and AS923 regions the default join spreading factor is SF10, so the time between requests is roughly 4x faster, but the average time spent on-air will be the same.


Consider this example:

Time
Event
Action
Comments
0d00h00
Heartbeat Period Expired, day 0
Join Attempt 1
2.5 minutes between attempts since device has just turned on
0d00h03

Join Attempt 2
0d00h06

Join Attempt 3
0d04h00
Trip start
Join Attempt 1
25 minutes between attempts, since more than 1 hour has elapsed
0d04h25

Join Attempt 2
0d04h50

Join Attempt 3
0d05h15
Trip end
Join Attempt 1
0d05h40

Join Attempt 2
0d06h05

Join Attempt 3
1d06h05
Heartbeat Period Expired, day 1
Join Attempt 1
250 minutes between attempts, since more than 11 hours has elapsed
1d10h15

Join Attempt 2
1d14h25

Join Attempt 3
1d20h00
Trip start
Join Attempt 1
2d00h10

Join Attempt 2
2d04h20

Join Attempt 3
2d08h30
Trip end
Join Attempt 1
2d12h40

Join Attempt 2
2d16h50

Join Attempt 3
3d16h50
Heartbeat Period Expired, day 3
Join Attempt 1
3d21h00

Join Attempt 2
4d01h10

Join Attempt 3