# Xbee S2 - when ACK in sent?

**URL:** <https://forums.digi.com/t/xbee-s2-when-ack-in-sent/21113>\
**Category:** XBee & XBee Gateway\
**Tags:** ack, api\
**Created:** [February 10, 2020, 12:01pm UTC](https://forums.digi.com/t/xbee-s2-when-ack-in-sent/21113 "2020-02-10T12:01:18Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Curl](https://avatars.discourse-cdn.com/v4/letter/c/9dc877/32.png) [@Curl](https://forums.digi.com/u/Curl)\
**Post date:** [February 10, 2020, 12:01pm UTC](https://forums.digi.com/t/xbee-s2-when-ack-in-sent/21113/1 "2020-02-10T12:01:18Z")

</div>

When operating in API mode, I would like to know when exactly the ACK is sent to the transmitting module. (1) As soon as the incoming packet was received in the buffer or (2) after it was transferred by UART to the destination microcontroller? If the answer is (1), I think there could be an overwrite in the input buffer, if the transmitting module sent a new packet before it was actually transferred to the receiver.

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [February 12, 2020, 1:29pm UTC](https://forums.digi.com/t/xbee-s2-when-ack-in-sent/21113/2 "2020-02-12T13:29:59Z")

</div>

Curl, ACK over the air is sent after the packet was received and verified for that module by the Zigbee Stack.

Eric  
Digi Support

---

<div class="post-metadata">

**Author:** ![Curl](https://avatars.discourse-cdn.com/v4/letter/c/9dc877/32.png) [@Curl](https://forums.digi.com/u/Curl)\
**Post date:** [February 13, 2020, 1:32pm UTC](https://forums.digi.com/t/xbee-s2-when-ack-in-sent/21113/3 "2020-02-13T13:32:31Z")

</div>

“…Curl, ACK over the air is sent after the packet was received and verified for that module by the Zigbee Stack…”

Eric, thank you for helping. Based on your response (if I undertanding it), the ACK is sent as long as the packet is verified on module, but BEFORE transmitted to application by UART. So, could the input buffer be corrupted by a new incoming packet (the application cannot have time to recover the entire packet).

---

<div class="post-metadata">

**Author:** ![mvut](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.digi.com/mvut/32/31_2.png) [@mvut](https://forums.digi.com/u/mvut)\
**Post date:** [February 13, 2020, 1:42pm UTC](https://forums.digi.com/t/xbee-s2-when-ack-in-sent/21113/4 "2020-02-13T13:42:10Z")

</div>

Curl,

There are multiple buffers on the module. It will only allow one packet or the max number of bytes in that buffer at a time. So you should not worry about having more than one packet at a time as long as you are using hardware flow control.
