Marlin comes pre-installed on most 3D printers and for non-programmers this can be a pain to build. Building is useful for those who want up to date firmware or features which aren't usually enabled.
Build A Marlin will download the latest supported Marlin, apply a selected configuration and build the firmware to flash onto your printer.
Feel free to open an issue if you are having problems.
I offer no warranty, support or guarantees. Any changes to your 3D printer firmware and the consequences of these changes are your responsibility. If you do not understand what you are doing then I suggest you do not continue.
- Clone or download a zip of this repository
- Unzip to a folder, for example:
- Windows:
C:/build-a-marlin/
- Linux/Mac:
~/build-a-marlin/
- Windows:
- Ensure you have Python 3.x installed. Download here.
- Open a command prompt on Windows or terminal on Linux/Mac
- Type (Note this is the same folder as in step 2):
- Windows:
cd C:/build-a-marlin/
- Linux/Mac:
cd ~/build-a-marlin/
- Windows:
- Type:
- Windows
python scripts/marlin_build.py
- Linux/Mac:
python3 scripts/marlin_build.py
- Windows
- There will be a lot of text flying past which is a good thing, once it's stopped firmware should be built and available in the
output
folder. Check forfirmware.bin
Unfortunately now you have to follow your own printers instructions on how to flash firmware.bin
to it. I will add useful links for popular printers here if people share them.
- If you're going to flash a new firmware, why not just use Klipper?
- Klipper will mean learning a whole new software ecosystem. This is a valuable learning project and one I suggest to those who seek it. However if you just want your printer to operate in the same way, but with better features: Marlin is the way to go.
- Feature wise Klipper used to be king, however the Marlin team are catching up with features such as linear advance and input shaping which are now both available.
- You absolutely need an additional computer (usually a Rapsberry Pi) constantly plugged into your printer. Not a problem for most of us who use Octoprint/OctoPi but still worth noting. Using Klipper your printer will not operate without this.
- The existing TFT screen will no longer work, there are great projects such as Klipperscreen which will work with a screen plugged into your Raspberry Pi but this is extra hardware still.
- Why Python and not X, Y or Z?
- I wanted this to work on as many platforms as possible. Python allows for this and is often installed on many peoples machines anyway. It's worth noting that building Marlin doesn't work on a Raspberry Pi at this point in time, this is a limitation of the toolchains and nothing I can control.
- The amazing Marlin project: https://github.com/MarlinFirmware/Marlin
- Based on my Marlin for Artillery Sidewinder X2 specific project here: https://github.com/markrossington/sidewinder-x2-marlin