We are currently developing two LoRaWAN-based products using STM32WL55J (battery powered and Mains AC). Both devices are designed to sample sensor data every 30 seconds and transmit it according to a defined daily duty cycle.
However, we are facing challenges in maintaining accurate timing synchronization:
- The internal RTC is already being utilized by the Sub-GHz radio stack, limiting our flexibility.
- Using the Timer Utility for periodic alarms leads to cumulative delays over time - for example, if the first alarm triggers at 12:00:30, subsequent triggers drift gradually and no longer align with real local time (e.g., 12:01:00, 12:01:30, etc.).
We are looking for general design guidelines for STM32-based LoRaWAN devices that require long-term periodic data acquisition synchronized with real time. Specifically:
- Is it common or recommended to use an external RTC (e.g., via I²C/SPI) in such designs?
- Are there firmware design patterns or best practices for maintaining real-time synchronization while using the internal RTC that is also accessed by the Sub-GHz stack?
- Any reference designs or application notes that ST recommends for this scenario would be greatly appreciated.
Our goal is to achieve reliable 30-second synchronized data sampling over long durations without cumulative drift.