I'm working on a protocol that I want to run over a reliable, ordered, error-checked, and flow-controlled Stream like TCP or Websockets, as well as between two micros using a two wire UART connection. I couldn't find anything close to TCP running over UART in the Arduino space, but did find tinyproto which met all my requirements with their Full Duplex implementation except it doesn't operate as a Stream. I added a Stream wrapper around it, and did a bunch of testing and some minor tweaks to tinyproto to make sure it wasn't losing Stream data even when there were frequent line errors, and published my fork here:


It's still a work in progress and I'm hoping it gets integrated into the main tinyproto project at some point, but after a bunch of cleanup I think it's ready for more people to give it a try.