RN2483/RN2903 LoRa® - Firmware Features and Issues

Setting EEPROM memory with '00' gives an 'invalid parameter' error under v1.0.1 firmware for the RN2483 module. When the I try to modify the EEPROM with the value 00, the module returns an 'invalid error' message. Why is this?

To write '0' as data, you have to issue a command like in the following example:
For address 300, set sys 300 0.

What is the default value for ADRACKREQ?

The RN2483 passed the 'Link ADR request' test and the default value for ADRACKREQ is '32'.

Why is RN2903 dropping packets? Only around one in eight packets is getting through.

RN2903 firmware is designed to match the LoRaWAN™ specification and the specification describes a 64(+8) channel plan, making the best use of the available spectrum in the 915 MHz band. But the reality is that 64(+8) channel gateways are still expensive and so most trials and prototypes use 8-channel gateways, which are cheaper and more widely available.

So if you are using RN2903 with the default settings (all channels on) and you are connecting to an 8-channel gateway, then seven out of eight packets will fall on a channel that the gateway is not listening to; the seven packets are dropped and only one will pass through. This can be easily corrected by using the mac set ch status in a loop to disable all the unused channels.

On the RN2483 with a data rate of '0', it takes a long time to exchange messages (send/receive). What can influence the timing difference between a mac tx command and a mac rx response?

If over-the-air activation (OTAA) is used for activation, you need to consider that the duty cycle for those JoinReq channels is less than 0.1% so there is a delay from this side. Other factors to consider are:

  • Number of uplink channels,
  • current data rate (DR) length of the application data,
  • and end-device transmit duty cycle.

Are the receive windows used by the protocol or can we just send some data from the gateway to the end-nodes?

Most of the time, the end-device stays in sleep. At some point, it wakes and sends data to the server. If the message is sent with an acknowledge (ACK), it waits for the message from the server on the first window. If it doesn't receive the ACK, it opens the second window and waits for it. With device Class A, which is implemented at this point on the RN2483 module, you cannot send messages from the server to the end device; this can be done only when the end-device requests it.

Are the receive windows used only for ACK messages? Can there be defined custom messages sent from the gateway to the end-node in the receive window?

The server responds to the message that was received from the mote depending on how the server is set. Some servers can be configured to send what data you want to the LoRa® mote end-device.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.