Rather than requiring the AVR to explicitly ack receipt of a packet over the UART, indicating space available in the AVR's buffer for more data, make use of GPIO_0 to signal the ESP whether it can transmit data. This will allow the AVR to trigger flow control in UART receive interrupt context, rather than having to wait until the main thread can send the ack.
This should help to keep the AVR's receive buffer from stalling, and improve overall throughput.
Rather than requiring the AVR to explicitly ack receipt of a packet over the UART, indicating space available in the AVR's buffer for more data, make use of GPIO_0 to signal the ESP whether it can transmit data. This will allow the AVR to trigger flow control in UART receive interrupt context, rather than having to wait until the main thread can send the ack. This should help to keep the AVR's receive buffer from stalling, and improve overall throughput.