How to shorten the transmission interval

Hi, my name is Nor from Japan. I have a problem. I can not shorten the transmission time interval on Dragino LoRa Mini Dev. I use the following program code.

 // Schedule next transmission
 os_setTimedCallback(&sendjob, os_getTime() + sec2osticks(TX_INTERVAL), do_send);

So I know program schedules next transmission by using os_setTimeCallback() function. This works OK, and I can see do_send() function queues next transmission request after TX_INTERVAL seconds. But my problem is that even if I shorten, make it small, the TX_INTERVAL the program code sends the packet about 33 seconds after scheduling. I want to make it smaller, like 15 seconds or 10 seconds. But I can’t make it.

I know TTN is not a real time logging system, and found following comment in GitHub forum.

 Remember that TTN has a minimum time of 30 seconds per request

Is this true? Where can I see such restriction? I can not change the minimum value? It’s not recommended?

A good goal is to keep the application payload under 12 bytes, and the interval between messages at least several minutes.

btw we’re watching your community and don’t see any gateways after 2 months ??

Remember that TTN has a minimum time of 30 seconds per request

The fair access policy for TTN, remember it is free to use, restricts you to 30 seconds of air time per day not per request, if you shorten the time between transmissions too much you will exceed this 30 seconds a day limit.

BoRRoZ, LoRa Tracker,

Thank you for your responses.
Now it’s clear. But where can I see such restriction. On what document do you clearly
state such rule? It’s going to be helpful if I see where when I teach to our friends.

Thank you,


The duty cycle is a legal restriction, normally your only allowed to be on air for 1% of the time. A TTN packet could take 1 second (or maybe more) to send if your a long way from the gateway so you would only be allowed to send the 1 second packet every 100 seconds.