My configs for Klipper

New ticket tracker added

1 year, 6 months ago

New mailing list added

1 year, 6 months ago

#My 3D Printer Configs

This is the configuration repository for my Ender 5 Pro running Klipper. Comes with GCode macros to make printing setup painless and consistent (for anyone who isn't me writing this initially).


  • To set up Klipper, you'll need a single-board computer with internet connectivity and a USB C connector.
  • For the computer, a Raspberry Pi Zero 2W should be sufficient.
    • Make sure your power supply and cable fully supply the power demands of your computer.
  • I highly reccomend covering the far right (+5V) lead on the USB port connecting the SBC to the printer with a very thin strip of electrical tape. This allows the screen to turn off and prevents accidentally starting a print with the printer turned off.


In order to provide user customization, Perl and M4 are used:

  • On Windows: Strawberry Perl and GNUWin32 m4 should work
  • On OSX, you can use XCode's CLI tools for m4 and the pre-installed perl command
  • On Linux, use GNU m4 and perl (usually packaged as m4 and perl).

You'll also need a plain text editor to edit the configuration file.

  • If you don't already have a preference, Geany and micro are solid choices for general text editing.

Finally, you'll need to install the Perl dependencies of your script.

  1. Install cpanminus` (it comes with Strawberry Perl by default)
  • If you want to use local libraries, use local::lib
  1. Run cpanm --install-deps .



  • To allow for user customization, this repository comes with a configuration script.
  • First, copy config.example.m4 to config.m4 and edit the latter to your liking.
    • Running ./configure.pl will allow you to preview printer.cfg before you send it over.
  • Next, you'll want to update .env to reflect your Raspberry Pi's setup.
  • Finally, you'll want to run sync.pm with Perl to send your config over to the printer.
    • Run sync.pm with the --help option for more info


  • The start folder contains the start GCode to be added into their corresponding slicers.
  • The end.gcode file contains the universal GCode for the end of print in all slicers.