Klipper is a 3D printer firmware. It helps your 3D printers to print faster and better. Today we are going to talk about how to prepare Klipper firmware for Kingroon KP3S 3.0 3D printer by using Fluiddpi.
* Please be noted the tutorial only applys to Kingroon KP3S with MCU STM32 F103 mainboard and MCU GD32F303 mainboard. The Kingroon KP3S with MCU STM32F407 version of mainboard does NOT apply to this tutorial.
Get Kingroon KP3S Mianbord with Klipper firmware flashed HERE.
To use Klipper, we need the help of Fluiddpi, it’s a powerful project like Octopi. It contains Klipper in its image, so you don’t have to download and install it from the beginning. Of course, we will show you a better plan on Kliiper soon, which is how to use it on Octopi. You can get all the information you need on docs.fluidd.xyz.
Step 1 - Flash Fluiddpi
First, visit https://github.com/cadriel/FluiddPI/releases/latest to download the latest Fluiddpi image.
Once you finished, use the Raspberry Pi Imager to flash it. Click “Choose OS”, scroll to the bottom, select “Use custom”, then choose the file you just downloaded. Then press keys to preset wifi(On Windows control shift x. On Mac comand shift x). If you don’t know how, please check our last tutorial on how to set up Octopi to print on your KP3S. Please enable ssh and remember the password. And the WIFI signal cannot be 5G.
After flashing the image, you can set your Pi up, our last tutorial will show you how. If you have an extra SD card, you can switch between Octopi and Fluiddpi, all you need to do is changing the SD card.
Step 2 - Update Fluiddpi
Power up the pi, wait for a while, then visit http://fluiddpi.local to go to Fluiddpi’s dashboard. Please make sure your computer and pi are at the same network. If you don’t have a WIFI adapter, you can use cable network to instead.
Scroll down to the bottom, click the gear icon, update everything to the latest, it will take some time.
Since Klipper has changed its configure rules recently, the old “printer.cfg” files you download is no longer working. So we will use the latest Klipper as a start, and next time we will show you how to config this version to print.
Step 3 - Prepare Klipper Firmware
Once you finished, proceed to the next step. Open terminal on your computer, enter following commands.
ssh pi@fluiddpi.local
If this doesn’t work, you need to go find out the Pi’s IP address and use that instead of “fluiddpi.local”. For example, ssh pi@192.168.50.177. Then you need to enter the SSH password.
After that enter the following command to config the firmware.
Mac Users:
cd ~/klipper/
export LC_ALL=en_GB.UTF-8
make menuconfig
Windows Users:
cd ~/klipper/
make menuconfig
Then you will enter the config settings. Here are what you need to do:
1.Enable extra low-level configuration options
2.Set the Bootloader offeset as 28 KiB
3.Set the “Micro-controller Architecture” as “STMicroelectronics STM32”
4.Set the Communication interface as “USART3 PB11/PB10”
5.Enter the last option, enter “!PC6, !PD13”, the. Press enter key
Then press Q and enter “yes”, after that, the setup is done.
After that, enter “make” to build the firmware. It will take some time. Once you see “klipper.bin”, you’re successful. Then enter the rest two commands to finish this step.
/scripts/update_mks_robin.py ./out/klipper.bin ./out/Robin_nano.bin
cp out/Robin_nano.bin ~/fluidd/
Next, go to the browser, visit “http://fluiddpi.local/Robin_nano.bin” . You will get a bin file, put it into the SD card. You are ready to flash the Klipper firmware to Kingroon KP3S 3D printer.
Step 4 - Flash Klipper Firmware
Put the SD Card into KP3S, turn it on, the firmware should start to flash. Once you see “100%”, you are all set. Now you are ready to use Klipper Firmware on Kingroon KP3S. We will show you guys how to config Klipper to print on the coming blogs.
After that, connect the printer with raspberry. Then go to the Terminal, enter below command.
ssh pi@fluiddpi.local
(Then enter password to login)
cd ~/klipper/
ls /dev/serial/by-id/*
Then copy the marked line, paste it to the note, you will use it later.
Step 5, Configuration
Go visit this link and download its file.
https://github.com/nehilo/klipper_KP3S
After that, unzip the file and go to http://fluiddpi.local/#/configure
Upload all the config files.
Since KP3S use a Titan extruder, it is necessary to correct the microsteps from 64 to 32. Click to open the stepper.cfg, rewrite the microsteps to 32.
After that, click “save&restart”.
Next, open the printer.cfg, find the [mcu] area, overwrite the serial with the line we copied on the note. (Ours are /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0)
Then click “save&restart”.
If you get below error.
Enter the following command:
cd ~/moonraker/scripts
./set-policykit-rules.sh
If it is still not working, open “moonraker.conf” and modify the server area as below:
[server]
host: 0.0.0.0
port: 7125
[file_manager]
config_path: ~/klipper_config
log_path: ~/klipper_logs
[data_store]
temperature_store_size: 600
gcode_store_size: 1000
the Orignal look like following:
[server]
host: 0.0.0.0
port: 7125
temperature_store_size: 600
gcode_store_size: 1000
config_path: ~/klipper_config
log_path: ~/klipper_logs
You can find the reference in https://moonraker.readthedocs.io/en/latest/configuration/#option-moved-deprecations
After that, you are all set.
You should revise the downloaded configuration file according to your own situation, for example, whether you're using auto bed leveling or not, or if you're using Klipper screen or not. If you want to save time, you can just download file through below links.
Please be aware that Klipper is a third-party project that may cause warranty loss, you are doing it at your own risk. Please follow the steps and choose the right bundles. Those models don’t share the settings. If you are using different models or different boards, please check https://www.klipper3d.org/ to find more help.
KP3S Klipper Bundles:
https://drive.google.com/drive/folders/1ofdt3cI-jaq-3vhi_M0x7jDb05TNDMH6?usp=sharing
KP5L Klipper Bundles:
https://drive.google.com/drive/folders/1usUqXXuqWOOKNAJOO1SQJdmYKYkSXeEB?usp=sharing
KP5M Klipper Bundles:
https://drive.google.com/drive/folders/1nwKD_oI6Vh5pbRGr2isVEDNofsdcVhZM?usp=sharing
KP3S Pro Klipper Bundles:
https://drive.google.com/drive/folders/1wlxhkYVkU_tr-NuFbUkt7umakp2xaN5K?usp=sharing
Orange Pi Zero 2 Klipper Bundles(Tutorial Available Soon):
https://drive.google.com/drive/folders/1ZK4M_jXE4-4-cLwCiCDr9w8sy6MrX7j3?usp=sharing
Also, you can watch this video and learn Klipper configuration set-up for Kingroon KP3S 3D printer.
Next, we are going to publish further settings and show you what Klipper can do.
@scors
Thanks for your advice! Linear Advance is a great feature that improves the print results a lot, we will make it happen if the mainboard supports it. So I will bring your advice to our technical team, see if it is possible. According to my knowledge, it is highly likely our mainboard doesn’t support Linear Advance, that’s why a Raspberry Pi is needed. As our article mentioned, Klipper firmware let the Raspberry take control of the printer. In this case, the original mainboard is no longer in charge. But it would be wonderful if we can build this feature into our factory firmware. We will let you know if we have any updates on it. Have a good day!
@Timothy
Don’t worry, the mainboard won’t break by flashing firmware. You can always flashback to the stock firmware to make everything back to normal. We will make and upload the related tutorials soon. Please check the below links to download the stock firmware for your printer.
The Stock Firmware for Kingroon KP3S:
STM32F103/GD32F303:https://drive.google.com/file/d/1KlmqRbSG3QIUD1PtQzZl_d2SViOwb_Ny/view?usp=sharing
STM32F407:https://drive.google.com/file/d/1L0blIRQVKSnWLjHYZfrcu6rVo_yLhVFZ/view?usp=sharing
I’m tempted to try this but I am worried if I brick my board with GD32F303, this guide is for STM32F103 which should be the same for GD32F303 right? How come it is mentioned that you will publish a new tutorial for Kingroon KP3s with GD32F303 and STM32F407?
Users put other firmware in order to access Linear Advance and its counterparts. Why not brow this option to your basic firmware and many users will not need to look for alternative firmware.