RAK3172 LoRa P2P: CRC Bit Flipping in 44-Byte Payloads

Hello, I’m Santosh. I’m new to LoRa P2P mesh networking and am currently working on a project utilizing RAK3172 modules.

In my LoRa P2P mesh network using RAK3172 modules, I have a node transmitting 44-byte payloads (including a 2-byte CRC). The other five nodes send 20-byte payloads (also including a 2-byte CRC).
All nodes are configured with the following parameters:​

  • Spreading Factor (SF):10​
  • Bandwidth (BW):125 kHz​
  • Frequency:865 MHz​
  • Coding Rate (CR): 4/5
  • Preamble Length: 8​
  • TX Power: 22 dBm​
  • Transmission Delay: Random between 0–3000 ms

The issue arises when the node sends the 44-byte payload: the receiving nodes have bit flips specifically in the 2-byte CRC portion of the payload. This problem doesn’t occur with the 20-byte payloads from the other nodes.​This is unexpected, given that the theoretical maximum payload size at SF10 is 51 bytes.

Additional Observations: Notably, this CRC bit-flipping issue only manifests when the node operates within the full mesh network. When the device is isolated or when a few other nodes are turned off, the issue does not occur.

Troubleshooting Steps Taken:

  • Verified that all nodes share identical configuration parameters.​.​
  • Ensured firmware versions are consistent across all nodes.​
  • Confirmed that the issue is isolated to the 44-byte payload transmissions.​
  • Experimented by adjusting the coding rate specifically for the node in question, testing all available coding rates—CR 4/5 (0), 4/6 (1), 4/7 (2), and 4/8 (3)—but these adjustments did not mitigate the problem.

Questions:

  • Is there a recommended maximum payload size for reliable transmission at SF10, considering the current configuration?​
  • Are there known issues when using different payload sizes across nodes in a LoRa P2P network?​
  • Could the issue be influenced by network congestion or collisions inherent in the mesh topology?​
  • Are there any best practices to prevent such CRC bit-flipping issues in similar scenarios?

I would greatly appreciate any guidance or suggestions on how to resolve this CRC bit-flipping issue in the 44-byte payloads. If anyone has encountered similar problems or has insights into potential causes and solutions, your expertise would be invaluable.​

Thank you in advance for your support!