One of our fun learning builds is MPCNC. Their use of marlin is based on the fact that MPCNC is actually a build resulting from printing the parts. Wat a concept, and this is how i got started. I purchased a 3d printer, next thing you know i am printing a cnc router machine.
Marlin is the operating system preferred for this build and is the same for my 3d printer so the learning process was less frustrating. I say less because this computer control stuff is a bitch to transition into for a mechanical mind.