RN2483A Problems - No serial communication

We have also this problem with the new RN2483 - it is running just OK for 1 hour - after that - nothing. You have to disconnect power and a running again 1 hour. We have just tried 3 pcs of them - same problem. Old RN2483 is running just OK. Anybody has solution?

Hm… I have only tried one of them for over an hour but it seemed to work fine. Are you getting no response at all or getting an error/invalid parameter?

I think no response , because reset also not works for us. Only power off/on. I will keep posted details of this problem next week. We also have a reduction board and one profi-developed node where an old RN2483 runs without problem - new RN2483 has problems :frowning:

I am having the same issue, did you guys ever get to the bottom of this ?

Thanks

I have my RN2483A running for around 4 days now without problems using the ttn lib. The reset works fine for me now.

yup. I just built a second one and it works fine. Seems the first one has some sort of issue…

Hello,

I have tested also the RN2483A and have problems with sending comands to it.I use the rn2xx3 from https://github.com/jpmeijers/RN2483-Arduino-Library
And I see that the module resets it self when I issue a command for TX. And after i put it to sleep it does not output nothing on the serial.

Do you have any suggestion on how to fix this?

The library works great on RN2483 with old firmware.

Here is the output for the firmware version:
RN2483 1.0.3 Mar 22 2017 06:00:42

Thx,

Dan

For the first problem, check the power supply. It’s possible its voltage drops too low when the RN2483 is under load (i.e. transmitting).
For the second problem, it’s the expected behavior. When you issue the sleep command, the RN2483 doesn’t answer anything, until it wakes up, at which point it says “ok”.
You can prematurely wake up the module by issuing a break command (like the autobauding command).

hello,

Thx for you quick reply.

Regarding the power supply my circuit has 4000uF capacitors on the power supply and the other consumer is just a Atmega328P running at 8Mhz @3.3V.The power supply is for the moment via an UART converter , that works fine with a similar circuit but with the last version of the RN2483 running Atmega328P 328p 16Mhz @3,3 V When I put the RN2483A to sleep - an try to send over serial “U” character the UART interface fails and the RN will not respond until I power cycle it.I even try to change the oscilator on the MCU but no joy. the RN2483 uses the UART via software serial. I even tried to brigde the Software serial and the HW serial to send command from my PC and it works. The sleep works fine if no caracter is sent to the serial port and I get the ok at the end. the only problem is when I try wake it up via the serial interface.

Did you ever encountered this issue?

thx,

Dan

Hello the RN2483 has a strange behavior . After issue the sleep command for 24 seconds - the UART interface fails when I issue mac tx uncnf 1 01.I use a library from ttn for rn2483.

– STATUS
EUI: 0004A30B001E845E
Battery: 3243
AppEUI: A60100D07ED5B371
DevEUI: 0004A30B001E845E
Data Rate: 0
RX Delay 1: 1000
RX Delay 2: 2000
– JOIN
Model: RN2483
Version: 1.0.3
Sending: mac set deveui 0004A30B001E845E
Sending: mac set adr off
Sending: mac set deveui 0004A30B001E845E
Sending: mac set appeui A60100D07ED5B371
Sending: mac set appkey 0000000000000000000000000000AAA1
Sending: mac save
Sending: mac set rx2 3 869525000
Sending: mac set ch drrange 1 0 6
Sending: mac set ch dcycle 0 799
Sending: mac set ch dcycle 1 799
Sending: mac set ch dcycle 2 799
Sending: mac set ch dcycle 3 799
Sending: mac set ch freq 3 867100000
Sending: mac set ch drrange 3 0 5
Sending: mac set ch status 3 on
Sending: mac set ch dcycle 4 799
Sending: mac set ch freq 4 867300000
Sending: mac set ch drrange 4 0 5
Sending: mac set ch status 4 on
Sending: mac set ch dcycle 5 799
Sending: mac set ch freq 5 867500000
Sending: mac set ch drrange 5 0 5
Sending: mac set ch status 5 on
Sending: mac set ch dcycle 6 799
Sending: mac set ch freq 6 867700000
Sending: mac set ch drrange 6 0 5
Sending: mac set ch status 6 on
Sending: mac set ch dcycle 7 799
Sending: mac set ch freq 7 867900000
Sending: mac set ch drrange 7 0 5
Sending: mac set ch status 7 on
Sending: mac set pwridx 1
Sending: mac set retx 7
Sending: mac set dr 5
Sending: mac join otaa
Join accepted. Status: 00000001
DevAddr: 6486152A
– LOOP
ok

Sending: sys sleep 24000
– LOOP

Sending: sys sleep 24000
– LOOP

Sending: sys sleep 24000
– LOOP

Sending: sys sleep 24000

Are you sure that the RN2483 is awake when you issue the tx command?

Hello,

here is the code I use:

the build in libary command : ttn.sendBytes(payload, sizeof(payload)); does not have this problem.
But I want to use loraSerial.println(“mac tx uncnf 1 01”); because the ttn.sendBytes(payload, sizeof(payload)); take to much to execute and increases my wake up time for my device.ttn.sendBytes(payload, sizeof(payload)); takes 3 seconds to run.

// ttn.sendBytes(payload, sizeof(payload));
loraSerial.println(“mac tx uncnf 1 01”);
String str = loraSerial.readStringUntil(’\n’);
debugSerial.println(str);
loraSerial.println(“mac pause”);
str = loraSerial.readStringUntil(’\n’);
debugSerial.println(str);

delay(10);
ttn.sleep(24000);
delay(10);
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
delay(100);
loraSerial.println(“mac resume”);
str = loraSerial.readStringUntil(’\n’);
debugSerial.println(str);
//loraSerial.write(0x55);

It’s a little unreliable to put the module in sleep mode for 24s and set the MCU wait to approximately 24 seconds, theoretical. As first thing to be sure the RN2483 is back in operation I would wait a few more seconds. Also, I don’t understand the necessity to use “mac pause/resume”

Tie the TX pin of the RN2483 to MCU D2 or D3. Then attach the interrupt before calling the SLEEP_FOREVER instead of SLEEP_8S after putting the RN2483 to sleep. So, if you want both RN2483 and module to sleep say 24s, both will sleep at the same time using this approach. What you are doing currently is not efficient.

This piece of code can be helpful in understanding what he meant:

void loop() {



//taskSendTTN();


// Radio enter power down state
sleepRadio();

// MCU enter power down state
sleepController();
}

void sleepController() {
attachInterrupt(1, awake, CHANGE);
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
detachInterrupt(1);
if (loraSerial.available()) loraSerial.read();
}

void sleepRadio() {
ttn.sleep(sleepRadioTime);
if (loraSerial.available()) loraSerial.read();
}

Alex

That is because the module waits for possible response and the controller needs to wait for the modules responses. If you issue another command within those three seconds the behavior is undefined, the command may well be ignored or an error generated.
After issuing the transmit command you need to wait for two response strings before proceeding with the next command.

Hello,

By working before with the RN2483 I managed to get the duration of the TX to 410 ms In that duration the Tx and sleep command were issued. . Now with the RN2483A the UART interface fails for some reason with the same code.Waiting 3 seconds for the RN to send some printout via serial will not make the module battery friendly.

Regards,

Dan

As final suggestion… use the functions provided by the library to avoid any strange behavior and exploit all the features of the protocol as the downlink.

If you do not know all the details of the protocol and the operation of the RN2483 module it does not make much sense to go for attempts, such as the use of the"mac pause/resume" … that you have not explained us yet.

Alex

You might have been able to do this with firmware <1.0.3 but as it violates the API you can not rely on it to stay working. It will probably result in the stack going to an undefined state at some point in time.
When it comes to power consumption, yes it consumes more power. About 10ma for 3 seconds. Not an enormous amount… if it is too much you could look into using the rfm95 and your own LoRaWAN stack. Then you can tweak all you want.

Is there already a good solution?
I also have two RN2483A chips on Dr. Azzy board with pass thru script on Arduino Nano 3.3V and FTDI232 with 3.3V. Both boards are not accessible via serial communication. Similar setup worked with “old” RN2483 chips I had.

I tested with both 57600 and 9600 but both doesn’t work properly.
And I double checked my TX-RX wiring. :wink:

Any help is appriciated!

Best regards,

Peter