December 10, 2025
Description
UPDATE 29/9/25: I will soon be introducing new code so you can also control the acceleration of the wiping motion. Please be considerate with the values because it will wear out your nozzle brush much quicker. I recommend values 10-12k accel. If you set it to 20K, you'll probably cause a belt skip so do it at your own risk!!!
UPDATE: 19/10/25
NEW CODE ADDED. TEST AT YOUR OWN DISCRETION!!! File is called “k1c acceleration nozzle brush wipe” I am NOT responsible for any damages to your printer so please be considerate with your acceleration values!
==========
DISCLAIMER
==========
I am not responsible for any damages to your machine. If you proceed to do this mod, it will be in your own endeavours and you should be aware of the risks.
For those that print remotely, want to make constant changes on the fly or if an update overwrites the function and you aren't around, you will need root access/SSH to change the config file.
======
NOTES
======
I own a Creality K1C and recently had to do some maintenance. Since Creality does not sell the nozzle brush separately, I have decided to use the ones for the Bambu A1. There will be two major steps; a nozzle brush holder and modified gcode. I have written a separate wiping function called NOZZLE_BRUSH. Creality's CX_NOZZLE_CLEAR can work, but it will move incredibly slowly. My slicer is Orcaslicer and I will be accessing Klipper through the Fluidd interface.
This should work for K1 and K1 Max owners as well. I saw this issue online where others wanted the fast brush wiping motion, but it appeared that the forums never got a proper answer.
https://www.printables.com/model/803777-creality-k1c-silicone-nozzle-cleaner-mod-easy-bed
I am publishing this as a remix and as free so others can have an easier time finding it. If you can improve it, feel free to do so.
Please print the nozzle brush holder in something temperature resistant. I have printed it in PETG. Do NOT use PLA, it'll melt upon contact with the nozzle.
============
INSTALLATION
============
For those that cannot be bothered to check documentation:
[gcode_macro NOZZLE_BRUSH]
description: Faster and wider horizontal nozzle brushing
gcode:
G90
G1 Z10 F1000 ; Raise to safe height
G1 X110 Y224 F5000 ; Move above center of the brush
G1 Z3.5 F600 ; Lower gently onto brush
{% for i in range(5) %}
G1 X95 F4000 ; Swipe left (wider and faster)
G1 X125 F4000 ; Swipe right (wider and faster)
{% endfor %}
G1 Z10 F1000 ; Lift off brush
[gcode_macro START_PRINT]
variable_prepare: 0
gcode:
WAIT_TEMP_END
CLEAR_PAUSE
{% set g28_extruder_temp = printer.custom_macro.g28_ext_temp %}
{% set bed_temp = printer.custom_macro.default_bed_temp %}
{% set extruder_temp = printer.custom_macro.default_extruder_temp %}
{% if 'BED_TEMP' in params|upper and (params.BED_TEMP|float) %}
{% set bed_temp = params.BED_TEMP %}
{% endif %}
{% if 'EXTRUDER_TEMP' in params|upper and (params.EXTRUDER_TEMP|float) %}
{% set extruder_temp = params.EXTRUDER_TEMP %}
{% endif %}
{% if printer['gcode_macro START_PRINT'].prepare|int == 0 %}
{action_respond_info("not prepare.\n")}
PRINT_PREPARE_CLEAR
CX_ROUGH_G28 EXTRUDER_TEMP={extruder_temp} BED_TEMP={bed_temp}
NOZZLE_BRUSH
#CX_NOZZLE_CLEAR
ACCURATE_G28
#CX_PRINT_LEVELING_CALIBRATION
{% else %}
PRINT_PREPARE_CLEAR
{% endif %}
CX_PRINT_DRAW_ONE_LINE
License:
Creative Commons — Attribution — Noncommercial — Share Alike
7