Notes on the RYLR689 LoRa Radio Module
Copyright (C) Bruce MacKinnon, 2025. Contact info at bottom of the page for comments/corrections.
This module is manufactured by REYAX Technology Corporation, LTD, based in Taiwan. The Vendor datasheet is here.
The module is based on the Semtech LLCC68 radio/modem chip.
The module is packaged as a daughter-card with castellated pads for SMD mounting on a PCB.
Notes vs SX1276
- Only supports 125, 250, and 500 kHz bandwidths.
- Only supports SF5-9 on 125 kHz, SF5-10 on 250 kHz, and SF5-11 on 500 kHZ.
- LLCC68 has added a BUSY pin. When BUSY is low it indicates that the internal state machine is in the idle mode and that the radio is ready to accept a command from the host.
Driver Notes
- At power-up or after reset there is a period during which the chip is busy (i.e. BUSY high). Wait for this condition to clear before sending commands.
- Calibration is one of the things that is happening during this initial period.
- DIO1 is the generic IRQ line. Any of the interrupts can be mapped to this line.
- FS mode is used for test purposes of the PLL.
- We need to pay attention to the RFSW pins on the RYLR689 module
since these appear to control the RF paths during RX/TX:
- RX: RFSW_V1 =1, RFSW_V2=0
- TX: RFSW_V1=0, RFSW_V2=1
- Sleep mode: RFSW_V1=0, RFSW_V2=0
Notes Related to “Sniff Mode”
This is a unique feature of the LLCC68 that causes the chip to alternate between RX state and SLEEP state automatically. See section 13.1.7 of the datasheet.
The duty cycle determines the relative lengths of the sleeping and listening phases. The duration of those two phases is set in the SetRxDutyCycle transaction. During the SLEEP phase nothing can happen (unless the NSS pin is explicitly toggled, falling edge). During the RX phase the radio is listening for a LoRa preamble. If one is heard an interrupt is generated with the RxDone IRQ set.
Care must be taken to make sure the transmissions frequency/length are compatible with the RX part of the sniffing duty cycle.
KiCad Notes
I’ve created a KiCad footprint for this module:

Here’s the footprint w/ dimensions:
