"The sad thing is that it's easier to do this using a protocol that suits the Arduino and is more resilient. "
You have something in mind ? Any siggestion ? I'm starting to think I'd better wrote it myself. I'm not a lazy man and I have some experience on the subject. ( But not with the Arduino .)
Any advice welcome as long as I can write it in C.