For educational purposes, I’ve been trying to write an application that uses Semtech’s SX1261 modem, embedded on the SX1261MB2BAS shield, to send a message to another LoRa device: Seeed Studio’s HopeRF RFM95-based Grove LoRa module (868MHz version).
I’m using the Nucleo-STM32F103 board (which has an STM32F103RBT6 CPU) to communicate with the SX1261 shield. I have written an application in Rust, which essentially follows the steps in paragraph 14.2: ‘Circuit Configuration for Basic Tx Operation’ from the SX126x data sheet.
On the receiving side, I’m using pyRFM’s rfm95_server example, which prints any received messages in my terminal. I’m using the standard configuration: 125kHz bandwith, coding rate 4/5, Spread factor 7, CRC ON. This works pretty much out pf the box when sending data between two Grove LoRa modules.
However, my application does not seem to be able to send a message to the Grove LoRa module. I have done some logic analysis with a Saleae Logic analyzer, and the analysis seems to show a correct communication sequence between the STM32F103 and the SX1261.
I have uploaded my code to this GitHub repo.
The code is written in Rust. I did add some annotations which should clarify what I’m trying to do.
I have a couple of questions about it:
- Is it at all possible to send LoRa messages directly from an SX1261 to a HopeRF RFM95?
- If so, what am I doing wrong?
Thanks in advance,