In my quest to put together a 3D printer using a Raspberry Pi, I realized that with all the bells and whistles I was thinking of loading the Raspberry Pi up with (receiving files via network, possibly a camera, a color display), since it's running Linux, there may be a very real chance of jitter when printing that could potentially screw up prints.

Also, I'm not super-proficient in C++, but okay with Python. I imagine I'd need C++ to make a suitably fast enough Rpi-only system. With possible jitter using a Pi alone and programming in Python, it makes me think it may be more bullet-proof in the long run if I focus on making a printer that uses a Pi for the transferring of files, networking, camera and display functions, but also have a dedicated real-time Arduino-based board controlling the steppers.

My question is then: is there any reasonably easy-to-read documentation that explains the data format an interpreter like Marlin uses when receiving G-code? And, is there an already existing Linux-based man-in-the-middle G-Code forwarder like I'm proposing that I can run on the Pi to send the G-code to the Atmel driver board?

Thanks for the help!!!