KoenVanduffel / CR-6_Klipper

A repository for Klipper firmware details for the Creality CR-6 printers.
GNU General Public License v3.0
94 stars 14 forks source link

Here is Help for Installing and Configuring Klipper on CR6 printers

PLEASE NOTE:

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.

What is Klipper?

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:

Where to Download Klipper:

Download the FluidPI or Mainsail image of the Klipper package from the FluiddPI or Mainsail GitHub repo:

Where to Install Klipper:

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.

How to Install the Fluidd or Mainsail Klipper package onto the Pi:

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

Find the applicable CR6.cfg file and the Printer.motherboard.cfg files in the Klipper_config folder of this repository

In the klipper_config folder of this repo, you will find the following files:

Install those two cfg files onto the pi

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"

Now make the Klipper firmware.bin file that you will flash to the printer mainboard

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:

image

The screen should now look exactly like this for the BTT CR6 board:

image

          Q and save the configuration
make

Copy the bin file output by the "make" command to an SD Card, and flash it to the printer

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

The SDcard used to flash the motherboard MUST be formatted as FAT32 with 4096 bits sector size.

Any other format and the processor simply cannot read the SD card.

A micro-SDcard in an SD adapter works perfectly fine, as long as the formatting is correct.

Obtain the USB connection address and update the [mcu] section of printer.cfg

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

From this point on, you should have a working Klipper installation, the full functionality of which you should now verify.

Proceed to the functionality checks as described on the Klipper site: https://www.klipper3d.org/Config_checks.html