LoRaBEE SF7 or no reception at all


I have a Multitech gateway on my desk and an Autonomo+LoRaBee.
While testing on my desk everything is working ok but i wanted to take my testing outside and find out what range i can get.

My range is only a few hundred meters but if I look in the (old) TTN-API it shows only packages with SF7BW125 (and nothing else).

Is my LoRaBee somehow stuck at SF7 ?
Can this be caused by old firmware of the RN?
(ifso, I did not find a sketch to update the RN-firmware. is the only way to detach it from Autonomo and attach an FTDI?)

THNX mac set adr <state>
<state>: string value representing the state, either on or off. Response: ok if state is valid
 invalid_param if state is not valid
 This command sets if the adaptive data rate (ADR) is to be enabled, or disabled. The server is informed about the
 status of the module’s ADR in every uplink frame it receives from the ADR field in uplink data packet. If ADR is enabled,
 the server will optimize the data rate and the transmission power of the module based on the information collected
 from the network.

You can set adr on during initOTA or initABP

 bool Sodaq_RN2483::initOTA(Stream& stream, const uint8_t devEUI[8], const uint8_t appEUI[8], const uint8_t appKey[16], bool adr)

 bool Sodaq_RN2483::initABP(Stream& stream, const uint8_t devAddr[4], const uint8_t appSKey[16], const uint8_t nwkSKey[16], bool adr)

The server needs to support ACK for it to work correctly. Also keep in mind when you are doing distance measurements it is better to set a fixed datarate. mac set dr <dataRate>
<dataRate>: decimal number representing the data rate, from 0 and 7, but within the
 limits of the data rate range for the defined channels. Response: ok if data rate is valid
 invalid_param if data rate is not valid
 This command sets the data rate to be used for the next transmission. 
 Please refer to the LoRaWANTM Specification for the description of data rates and the corresponding spreading factors.
 Example: mac set dr 5 // On EU863-870; SF7/125 kHz.

I am doing a distance-check with a GPS so no problem with variable datarate… but…
I already have ADR set to true… but still just SF7…

What to do?


Hi Adri,

SF7 (datarate 5) is the default value of the RN module and will not change when the gateway does not support ADR.

You can change these settings as mentioned by w4e by using the RN interface command ‘mac set dr’.

For test purposes I added a function to the RN2483 class to be able to set the datarate (and power index) manually:

//#define STR_PWRIDX "pwridx "
//#define STR_DATARATE "dr "

bool Sodaq_RN2483::setPowerParameters(uint8_t powerLevel, uint8_t datarate)
return setMacParam(STR_DATARATE, (uint8_t)datarate) &&
setMacParam(STR_PWRIDX, (uint8_t)powerLevel);

From your sketch, you can experiment with it by using:

LoRaBee.setPowerParameters(1,0); // Maximum power/dr

Could someone explain how to add this?

What i did:

added to .h:
bool setPowerParameters(uint8_t powerLevel, uint8_t datarate);

added to .cpp:
//#define STR_PWRIDX “pwridx "
//#define STR_DATARATE “dr "
bool Sodaq_RN2483::setPowerParameters(uint8_t powerLevel, uint8_t datarate)
return setMacParam(STR_DATARATE, (uint8_t)datarate) &&
setMacParam(STR_PWRIDX, (uint8_t)powerLevel);

And called from the project:

LoRaBee.setPowerParameters(1,0); // Maximum power/dr

When i try to verify the code it says that class sodaq_rn2483 has no member named setpowerparameters…

It works… Guess i did something wrong with copy paste / keeping the .cpp / .h open /…