PLEASE NOTE:
This GitHub repository provides pre-compiled resources and "how-to" guideance sufficient for you to find, install and configure Klipper firmware on Creality CR-6 printers.
This is NOT an in-depth tutorial on Klipper itself. You may need to supplement the information here and research answers to some questions elsewhere, before being able to understand and use some elements on this site.
YouTuber NERO3D is one reliable source of more detailed information and tutorials for installing and configuring Klipper. This tutorial of his for installing the Fluidd/Klipper combo on an Ender3 V2 is a good example: https://www.youtube.com/watch?v=gfZ9Lbyh8qU
NERO3D uses Balena Etcher instead of the Raspberry Pi Imager, to flash Fluidd to his SD. Either should be ok. In this author's experience, though, Raspberry Pi Imager succeeded where Balena Etcher consistently reported, "flash Failed!"
This repo focusses on using Klipper with the Fluidd front end.
With this configuration, there is no need for OctoPi - Fluidd is much more responsive than OctoPi.
These resources have been tested on a CR6-SE printer with a BTT SKR CR6 board. The 4.5.2, 4.5.3 and ERA boards have been reported to work correctly with these resources.
Bear in mind that the CR-6 screen will not work (yet) with Klipper.
The Fluid interface runs on any PC or mobile device in a standard web browser.
As an alternative to the CR-6 screen, KlipperScreen can be used. KlipperScreen runs on a series of Raspberry pi touch screens or on an old phone. Please check out the KlipperScreen GitHub for detailed info.
Klipper is a complete package to run your 3D printer.
Unlike Marlin and the Marlin-based Community Firmware:
The Klipper package is comprised of 3 main tools:
Download the FluidPI or Mainsail image of the Klipper package from the FluiddPI or Mainsail GitHub repo:
NOTE: For now, at least, this repo assumes you will install the Mainsail or Fluidd Klipper package on a Raspberry Pi. If you intend to install Klipper on a different host, you will need to research the particulars of how that is done, elsewhere.
Once you have Klipper installed and configured on the Pi, you must also "make" a binary file to flash to your printer's motherboard(s) (Klipper can support connecting multiple motherboards to the same Pi and the same printer) The pi and Klipper will control the printer, via serial communications over the USB cable, with the bin file on the motherboard.
You can burn the FLuidd or Mainsail Klipper image to an SDcard usng the Raspberry Pi Imager application, as described here:
In the Raspberry pi Imager click Chose OS - Use Custom and select the just downloaded image. The rest of the install procedure is the same as on the raspberry page.
Setup WiFi if needed:
The default user and password are pi and raspberry. We need to change the default password.
Use MobaXterm (or equivalent) as it is an SSH client and remote file system in one to change the password and copy a few files onto the PI.
For people not used to work with Raspberry PI's https://www.raspberrypi-spy.co.uk/2018/12/remote-access-pi-using-mobaxterm/ has a good description how to get into the PI.
After starting up the PI FIRST run :
sudo raspi-config
set a new password (option 1, S3), optionally change the system name
sudo reboot
The latest Raspberry Pi imager V1.7.1 and higher lets us set the username and password from the imager.
Also SSH can be enabled from the imager. This is done through the Settings gearwheel in the bottom right corner.
Mainsail can now be downloaded and installed directly through the Raspberry Pi Imager
In the klipper_config folder of this repo, you will find the following files:
Copy CR6.cfg to /home/pi/klipper_config on the pi Do NOT rename that file
Copy the appropriate printer.motherboard.cfg file to /home/pi/klipper_config on the pi Rename that file from "printer.motherboard.cfg" to "printer.cfg"
For all stock creality boards, set the following config:
cd klipper
sudo service klipper stop
make menuconfig
select microcontroller - "STM32"
processor model "STM32F103" (is the default)
Bootloader - "28KiB"
Communication interface "Serial (on USART1 PA10/PA9)"
For the BTT CR6 board:
tick "enable extra low-level configuration options"
select microcontroller - "STM32"
processor model "STM32F103" (is the default)
Bootloader - "28KiB"
communication interface USB (is the default)
set GPIO pins to set at micro-controller startup to "!PA14"
The screen should now look exactly like this for the 4.5.2, 4.5.3 and ERA boards:
The screen should now look exactly like this for the BTT CR6 board:
Q and save the configuration
make
The make command will build the actual firmware to be flashed to the printer and will output the file as klipper.bin in the pi directory /home/pi/klipper/out/
Download klipper.bin, rename it to firmware.bin and write it to an SD card
A micro-SDcard in an SD adapter works perfectly fine, as long as the formatting is correct.
The last step is to give Klipper the correct address for the USB connection. To obtain the address in the ssh terminal, run:
ls /dev/serial/by-id/*
the output should look like this (NOTE: the actual address will differ on yours):
/dev/serial/by-id/usb-Klipper_stm32f103xe_36FFD8054255373740662057-if00
Replace the placeholder string in the [mcu] section of print.cfg with actual output string displayed in your terminal
Proceed to the functionality checks as described on the Klipper site: https://www.klipper3d.org/Config_checks.html