Mei Hi Mei,
This behavior is related to the sleep logic of the low-power mode:
The module automatically enters sleep mode when no data is received via the UART for more than 5 seconds. The first UART data packet after waking up is used solely to wake the module and will be discarded;
The first data packet sent from the remote Bluetooth device can wake the module and will not be discarded.
Solution:
Before sending valid data, send a dummy data packet (e.g., empty bytes or redundant data), wait approximately 100 milliseconds, and then send the actual data. Example workflow:
Send wake-up packet → Delay 100ms → Send real data
This ensures the module is fully awake and prevents the first data packet from being lost.