This is an old revision of the document!
Klipper
Klipper is an alternative firmware for 3D printers' micro-controllers. The default firmware for most 3D printers is Marlin. Klipper consists of 2 parts, the micro-controller firmware to control basic motor and print head and software running on an attached general purpose computer like a Raspberry Pi or a PC.
Details on https://www.klipper3d.org
Octoprint was designed for Malin firmwares, but can work with Klipper through a plugin:
https://all3dp.com/2/install-octoprint-klipper-single-board-computer-sbc/
Installing Klipper and OctoPrint: The tool of our choice is Klipper Installation And Update Helper (KIAUH), which streamlines the installation process by reducing user inputs to the bare minimum and adding a graphical interface. It also helps manage updates and removal of every component.
Arksine/Moonraker is a Python 3 based web server that exposes APIs which client applications can use to interact with Klipper.
There are several Web interfaces that can interact with Klipper through Moonraker's APIs:
Octoprint
Mainsail by Mainsail-Crew
Fluidd by Cadriel
Touchscreen GUI:
KlipperScreen by jordanruthe
Obico for Klipper is a Moonraker plugin that enables the Klipper-based 3D printers to connect to Obico. This provides remote access as well as AI Failure detection.
OctoEverywhere Octoprint Plugin for remote access/monitoring and AI Failure detection
General setup info for Klipper:
https://www.youtube.com/watch?v=WlTzVUTOgXQ&list=PLC4bOo0vesmLKXC2iWGTRBbbjXiHDj3Xz
3D Printer Accelerometer, very useful for improved printing speeds with Klipper:
adxl345 accelerometer
https://www.klipper3d.org/Measuring_Resonances.html
https://www.reddit.com/r/klippers/comments/z38v02/adxl345_via_usb/
https://dfh.fm/products/kusba-adxl345-accelerometer-by-xbst_
Extruder/bed mount design:
https://www.thingiverse.com/thing:5276353/comments
docker setup for klipper/moonraker/mainsail (outdated)
https://www.reddit.com/r/klippers/comments/lv3pxx/docker_setup_for_klippermoonrakermainsail/
Docker setup for klipper/moonraker and various frontends:
https://github.com/mkuf/prind
https://hub.docker.com/r/mkuf/klipper
Cura plugin for improved printing of circular areas with Klipper:
arcwelder cura plugin
Klipper config file for the Creality Ender 3 S1:
https://raw.githubusercontent.com/Klipper3d/klipper/master/config/printer-creality-ender3-s1-2021.cfg
wget https://raw.githubusercontent.com/mkuf/prind/main/docker-compose.extra.make.yaml -O docker-klipper-make.yaml mkdir config touch config/build.config alias make="docker compose -f docker-klipper-make.yaml run --rm make" make menuconfig make #make flash FLASH_DEVICE=/dev/serial/by-id/<my printer> # This file contains pin mappings for the stock 2021 Creality Ender 3 # S1 & S1 Pro. To use this config, check the STM32 Chip on the # Mainboard, during "make menuconfig" select accordingly either the # STM32F103 with "28KiB bootloader" or the STM32F401 with # "64KiB bootloader" and serial (on USART1 PA10/PA9) for both. # For a direct serial connection, in "make menuconfig" select # "Enable extra low-level configuration options" and Serial # (on USART2 PA3/PA2), which is on the 10 pin IDC cable used # for the LCD module as follows: 3: Tx, 4: Rx, 9: GND, 10: VCC # Flash this firmware by copying "out/klipper.bin" to a SD card and # turning on the printer with the card inserted. The filename # must be changed to "firmware.bin" # With STM32F401, you might need to put "firmware.bin" in a # folder on the SD card called "STM32F4_UPDATE" in order to flash. # See docs/Config_Reference.md for a description of parameters. Configuring Klipper/Moonraker All Runtime Configs are stored within config of this Repo. Update config/printer.cfg with your Klipper config, set the serial device and make sure to not remove the existing Macros as they are required by fluidd/mainsail. See Klipper3d Docs for Reference Make sure to update cors_domains and trusted_clients within moonraker.cfg to secure your moonraker api from unwanted access. See Moonraker Docs for Reference https://github.com/mkuf/prind#advanced-topics https://github.com/mkuf/prind#input-shaper-calibration
mount /dev/sdc1 /mnt/usb cp out/klipper.bin /mnt/usb mkdir /mnt/usb/STM32F4_UPDATE cp out/klipper.bin /mnt/usb/STM32F4_UPDATE/firmware.bin umount /mnt/usb
Links
https://github.com/Klipper3d/klipper/blob/master/config/printer-creality-ender3-s1-2021.cfg
https://3dprintbeginner.com/how-to-install-klipper-on-ender-3-s1/
https://github.com/zellneralex/klipper_config/blob/master/moonraker.conf
https://moonraker.readthedocs.io/en/latest/configuration/
https://plugins.octoprint.org/plugins/arc_welder/
https://github.com/FormerLurker/ArcWelderPlugin/#arc-welder-anti-stutter
https://github.com/mkuf/prind/blob/main/docker-compose.yaml
https://github.com/mkuf/prind#input-shaper-calibration
https://hub.docker.com/r/mkuf/klipper
https://raw.githubusercontent.com/Klipper3d/klipper/master/config/printer-creality-ender3-s1-2021.cfg