The Peter Fleury's library ( for UART usage ) seems to be excellent.
The UART library permits buffering in both directions. Also, I suspect that data can be sent to the PC (from Arduino) while the Arduino mainline performs other TWI/I2C comms with an EEPROM (this is my interpretation of Oscilloscope readings). That implies overlaying communication operations (to different devices) occur at the same time.
In transmitting data with this UART library, I would like to be able to determine the space available in the circular buffer before committing to a transmit.
Can this be done ??