#LoRa max data rate

1 messages · Page 1 of 1 (latest)

unkempt lantern
#

Just wondering what the gains would be if I get this running into some sort of Arduino/C form factor.

ashen hound
#

Which library did you use with CP -- adafruit_rfm9x or adafruit_rfm? Did you use the default configuration (SF,BW...)? Can you post the code you used? There are many factors taht will impact the transmission rate. Also curious of you tried measign theother way -- RPi to RP2040?

ashen hound
unkempt lantern
#

Adafruit_rfm with tx power at 23. I can paste the code but I also just wanted a gut check from someone here. The latest issues I've run into our how to handle sending and receiving data "simultaneously". It seems like switching between the send/receive contexts is not easy for CircuitPython / LoRa.

ashen hound
unkempt lantern
#

Yeah, I think I need to give up on CircuitPython for this. Thanks.

unkempt lantern
#

FYI, slightly (like barely) better performance with Arduino. ~27 packets/second at 4 bytes. ~3 for big 248 byte messages.

ashen hound
#

Thanks for the update. Have you experimented with adjusting the Spreading factor and /or bandwidth settings? If you want to post your test code for both Arduino and CircuitPython, I’ll be happy to run some tests for comparison.

ashen hound
#

Have you looked at the datasheet for the SX1276 module? See section 4 for information on the bitrate and how it varies with BW and SF settings.https://semtech.my.salesforce.com/sfc/p/#E0000000JelG/a/2R0000001Rbr/6EfVZUorrpoKFfvaF_Fkpgp5kzjiNyiAbqcpqh9qSjE At the default setting of BW 125000 and SF 7 - the expected bitrate is only about 5.5 Kbps using this calculator https://unsigned.io/understanding-lora-parameters/ Your big packets are > 2Kbits so getting 3/second is actually doing pretty well unless I am misunderstading something. For the small packet, there is a lot of extra overhead so even a 4 byte packet is more something like 16 bytes by the time it gets sent. It is not clear to me that the code is the problem. You may be able to increase the datarate by raising the Bandwidth or lowering the SF but that may have other consequences regarding range.