Increasing the range of STM32WL devices.
Hi,
I have designed two PCBs that use STM32WLE5C8U6. I am experiencing range problems. The communications does not exceed 15 meters of range. What is the expected range? Below is what I use to initialize the radio. I have an R0 so that I switch between LP and HP. I tried both configurations switching the R0 for various "#define TX_OUTPUT_POWER" values in 14 - 22 range.
I checked with a scope to see the RF_CTRL pin of the switch goes high while transmitting. Also I measure around 1.5V in VR_PA pin. The component values I used are the same as the LP configuration in schematic provided by ST. For antenna I used a commercially sold 433MHz spiral copper antenna, also tried a custom antenna made of wrapping a transformer coil around a cylinder.
Any ideas for increasing the range is appreciated. Only a 50m range would be enough for me.
Regards
#define TX_OUTPUT_POWER 20 /* dBm */
#define LORA_BANDWIDTH 0 /* [0: 125 kHz, 1: 250 kHz, 2: 500 kHz, 3: Reserved] */
#define LORA_SPREADING_FACTOR 7 /* [SF7..SF12] */
#define LORA_CODINGRATE 1 /* [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] */
#define LORA_PREAMBLE_LENGTH 8 /* Same for Tx and Rx */
#define LORA_SYMBOL_TIMEOUT 5 /* Symbols */
#define LORA_FIX_LENGTH_PAYLOAD_ON false
#define LORA_IQ_INVERSION_ON false/* USER CODE BEGIN SubghzApp_Init_2 */
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,
true, 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, true, 0, 0, LORA_IQ_INVERSION_ON, true);
Radio.SetMaxPayloadLength(MODEM_LORA, LORA_CMD_LENGTH_MAX);
Radio.Rx(RX_TIMEOUT_VALUE);
/* USER CODE END SubghzApp_Init_2 */