LORA Communication AB02S-GPS and ESP32-V2

I do use the AB02S-GPS as sender and ESP32V2 as receiver strictly unidirectional.
It works fine with spreading factors up to 10 but not 11 & 12.

Is this a known problem? Anyone faced the same challenge.

Any advice is highly welcomed…

AB02S-GPS:

#define RF_FREQUENCY 868000000 // Hz
#define TX_OUTPUT_POWER 20 // dBm
#define LORA_BANDWIDTH 0 // 0: 125 kHz,
#define LORA_SPREADING_FACTOR 10 // [SF7…SF12]
#define LORA_CODINGRATE 4 // 4:4/8
#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
#define LORA_SYMBOL_TIMEOUT 0 // Symbols
#define LORA_CRC_ON true // CRC true/false
#define LORA_FIX_LENGTH_PAYLOAD_ON false
#define LORA_IQ_INVERSION_ON false

Radio.SetChannel( RF_FREQUENCY );

Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
LORA_SPREADING_FACTOR, LORA_CODINGRATE,
LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
LORA_CRC_ON, 0, 0, LORA_IQ_INVERSION_ON, TX_TIMEOUT_VALUE);

Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON,
0, LORA_CRC_ON, 0, 0, LORA_IQ_INVERSION_ON, true );

Radio.SetSyncWord(0x1424); // 0x12);

ESP32-V2:

Heltec.begin(false /DisplayEnable Enable/,
true /LoRa Disable/,
false /Serial Enable/,
true /PABOOST Enable/,
868E6 /long BAND/);

LoRa.enableCrc(); // instead: disableCrc()
LoRa.setCodingRate4(8);
LoRa.setPreambleLength(8);
LoRa.setSignalBandwidth(125E3);
LoRa.setSpreadingFactor(10); // 12 not working with LilyGo-T-Beam-1.1 instead of 7
LoRa.setSyncWord(0x12); // standard: 0x12 0x34
LoRa.setTxPower(20,RF_PACONFIG_PASELECT_PABOOST);

How big is the data packet you’re sending? The usual failure mode for these symptoms (works at low SFs, not at SF12) is that it’s too large for the slower SFs (intention limit so it fits in the airtime restrictions). There should be a debug message about that though, from memory.

The data send is 21 bytes. Would the following calculation look fine to you @bwooce ?

42 Bytes for the message due to coding rate
8 Bytes as a preamble
1 Byte for the synch word


51 Bytes

Think the package size for SF10…12 at 125kHz and the 868 band is 51 bytes.

Would you agree? Thanks for the advice already provided.

Tested with smaller message. Unfortunately that is not the problem.