Marlin firmware explained: What it is and how to use it