Looks like I was able to solve all major known problems with my DIY long range radio system Crossbow. I'm writing known, since no idea what lies beneath… Anyhow… What changed? Quite a lot:

  • I've extended Arduino-LoRa library with ability to transfer full packet in single SPI transaction. Right now, each read of write to SX1276 uses single transaction. Previously, there were 2 transactions per byte…
  • The same library now has ability to send packets in async mode. Previously it was blocking code execution until LoRa packet was transmitted. Huge waste on processing time
  • With OpenTX 2.2.1 on the loose, I was finally able to drop PPM input from Taranis to TX module and replace it with S.BUS. But not without problems. According to specification, S.Bus should be SERIAL_8E2. But my Taranis clearly outputs it as SERIAL_8N2
  • For now, OLED display is disabled. It was taking too much time to update it using I2C and TX module was loosing S.Bus packets
  • I've improved RC channels processing time, time required for encoding/decoding went down by 1ms
  • It is still LoRa32u4 II 868MHz based but I'm considering different hardware. For example ESP32 with LoRa. Time will show

Crossbow LRS development with LoRa32u4 and SX1276

Next test hopefully this weekend. If weather allows, of course. We have very wet autumn this winter in central Europe this year...