2025-05-20 3:01 AM - last edited on 2025-05-20 3:30 AM by Andrew Neil
Hi There,
I am developing an RF link application where I need to transmit 64 bytes of data at 20-50 Hz over a range of 5-10m with some obstacles in the way. For robustness, I was looking at sub GHz devices, such as the STM32WL55. I purchased some NUCLEO-WL55JC1 for testing, and have been testing the example applications provided in the STM32Cube_FW_WL_V1.3.1, such as STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Applications\SubGHz_Phy\SubGHz_Phy_LrFhss. However, the radio sending is far too slow for my application. I removed the dependancy on the sequencer and call Radio.Send from my main loop (see below). It takes 1900ms for the TX to be done, see screenshot below.
My question is can this chip even send 64 bytes at 20 Hz? Am I just using the wrong example code, or is this chip just designed for a different application than mine (much longer range, lower datarate) and I am wasting my time here? Thanks for taking the time to read this and I hope to hear from you soon :)
void my_app_loop(void)
{
while(1)
{
// APP_PRINTF("%u\r\n", (current_tick - previous_tick));
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
RadioTxDone_flag = 0;
if (Radio.Send(my_payload, payloadLen) == RADIO_STATUS_OK)
{
uint32_t radio_send_complete_tick = HAL_GetTick();
while(!RadioTxDone_flag) // Wait for tx to be complete
{
continue;
}
uint32_t radio_tx_done = HAL_GetTick();
APP_PRINTF("%u\r\n", (radio_tx_done - radio_send_complete_tick));
}
HAL_Delay(1000);
}
}
Edited to apply source code formatting - please see How to insert source code for future reference.
2025-05-20 3:50 AM
I also attempted to run the STM32Cube_FW_WL_V1.3.1\Projects\NUCLEO-WL55JC\Demonstrations\LocalNetwork example but my two NUCLEO-WL55JC1 boards would not connect. I verified their RF connection does work as the ping pong example works perfectly.
2025-05-20 4:34 AM
Hello @angus123 and welcome to the ST Community.
As you can see on the product webpage, the STM32WL5 and the STM32WLE work on the frequency range of 150 MHz to 960 MHz. So, the 20-50 Hz is not covered by those products.
Best Regards
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-05-20 6:15 AM
Hi There, thanks for the reply!
I think you misunderstand my question. I want to send packets with 64 bytes of payload data 20 times per second, i.e. every 50 ms. The frequency used by the radio does not matter, as you say it is in the range of 150-960 MHz. The trouble I am running into is that the time it takes to send a 64-byte packet is around 1900ms, so far too slow for my needs. Is the SubGHz_Phy_LrFhss example what I should be using to try send data this frequently? Is it even possible with this chip?