Not wanting to use an interrupt with the comms is going to be hard to not miss data.
Why not use hardware serial and an interrupt?