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.
Solved! Go to Solution.
2025-05-21 12:45 AM
The STM32WL3x has no LoRa capability at all - so maybe look at examples for that?
https://www.st.com/en/microcontrollers-microprocessors/stm32wl3x.html
2025-05-21 12:49 AM
Hello @angus123
I may also recommend you the STM32WL3 series. For evaluation, you can use the NUCLEO-WL33CC1. Together with the MRSUBG examples should help you for your use case.
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-21 1:02 AM
Hi Andrew,
Thank you for the recommendation, I will also give this a go
2025-05-21 1:17 AM
Of course, it should still be possible to use the WL55 with non-LoRa modulation - but I've not tried that ...
Does this help: https://forum.digikey.com/t/using-the-low-level-sub-ghz-radio-driver-for-the-stm32wl-series/18253 ?
https://www.st.com/en/embedded-software/stm32cubewl.html
2025-05-21 6:31 AM
Hi all,
I have edited the Ping Pong example to suit my needs. In it, I can specify to use FSK modulation instead of LoRa, with the USE_MODEM_FSK flag. This provided the basic FSK setup and I could play with the FSK_FDEV, FSK_DATARATE, and FSK_BANDWIDTH to reach a payload data rate of 64 bytes at 20 Hz. Thank you all for your help!