Skip to content

DieDutchman/K1-Max-KAMP-CFS-Fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 

Repository files navigation

Section 1: Introduction, Hardware & Zero-Y Calibration

Creality K1 Max + CFS: Professional Hardware & Firmware Optimization

This repository contains a comprehensive configuration for the Creality K1 Max paired with the CFS (Creality Filament System). It is engineered to provide a rock-solid, error-free experience by resolving firmware communication bugs while maximizing hardware performance.

Caution

DISCLAIMER: This repository is a documentation of what worked for my specific hardware setup. It is provided "as-is" without any warranty or official support. I am not responsible for any damage to your printer. Proceed at your own risk.

🚀 Key Features

  • Zero-Y CR-Touch Integration: Full support for the Zero-Y offset mount to eliminate "Y-axis tilt" during probing, ensuring perfect bed meshing.
  • Communication Stability (The "Silent Window"): Resolves Key 60 and Key 61 internal errors by implementing movement buffers and thermal-viscosity management during CFS tool changes.
  • Spoolman Automation: Real-time filament consumption tracking and active spool marking in your Spoolman database.
  • KAMP (Klipper Adaptive Mesh & Purge): Integrated smart leveling and purging, specifically timed to work with CFS load cycles.

📏 Hardware Calibration (Critical)

1. Zero-Y CR-Touch Mount

Using a Zero-Y mount is the best way to get a perfect mesh because the probe is physically aligned with the nozzle's Y-position.

  • Bracket Hardware: This setup utilizes the CR-TOUCH mount K1/K1Max/K1C Zero Y-Offset designed by anavrin72.
  • Z-Offset: After installation, perform a fresh PROBE_CALIBRATE. Live-adjust your Z-offset during a test print and run SAVE_CONFIG.

2. PTFE Tube Slack

The CFS adds extra complexity to the filament path.

  • The Pull Factor: Ensure the PTFE tube leading from the CFS to the toolhead has enough slack to reach the front corners of the bed.
  • The Risk: If the tube is too tight, it can physically pull the toolhead upwards during probing at the front of the bed, resulting in a false "high" reading and a ruined first layer.

Section 2: Software & Macro Setup

🛠️ Software Setup

1. Klipper Configuration

  1. Upload spoolman_cfs.cfg to your configuration folder.
  2. Add [include spoolman_cfs.cfg] to your printer.cfg.
  3. Configure moonraker.conf with your Spoolman server IP and port.

2. START_PRINT Macro

[gcode_macro START_PRINT]
variable_prepare: 0
gcode:
  BOX_START_PRINT                   
  {% set BED_TEMP = params.BED_TEMP|default(60)|float %}
  {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(220)|float %}
  {% set INITIAL_TOOL = params.INITIAL_TOOL|default(0)|int %}

  SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=prepare VALUE=1

  # 1. Home & Initial Thermal Prep
  G90                               
  M140 S{BED_TEMP}                  
  M104 S150                         
  G28                               
  G1 Z50 F3000                      
  
  # 2. Bed Stability (Heat Soak)
  M190 S{BED_TEMP}                  
  M117 Heat Soaking (5 min)...
  G4 P300000                        ; Mandatory 300s soak
  
  # 3. KAMP Adaptive Mesh
  BED_MESH_CLEAR
  BED_MESH_CALIBRATE ADAPTIVE=1     

  # 4. Native CFS Load 
  T{INITIAL_TOOL}                   
  
  # 5. KAMP Final Prep
  SMART_PARK                        
  M109 S{EXTRUDER_TEMP}             
  LINE_PURGE                        

  M117 Printing...

3. Spoolman Control Macros

Command Description
MAP_ALL_SPOOLS Manually assign Spoolman IDs to CFS slots (e.g., MAP_ALL_SPOOLS SLOT0=12 SLOT1=5).
STATUS_SPOOL_MAP Prints the current CFS-to-Spoolman ID assignments in the console.
SYNC_SPOOLMAN Manually triggers an active spool update in the Spoolman database for a specific slot.
CLEAR_CFS_SPOOLS Resets all slot assignments to 0.

Section 3: Slicer Settings & Technical Fix

⚙️ OrcaSlicer Configuration

Machine Start G-code: Pass the initial tool and temperatures to the macro:

START_PRINT BED_TEMP=[first_layer_bed_temperature] EXTRUDER_TEMP=[first_layer_temperature[initial_extruder]] INITIAL_TOOL=[initial_extruder]

Change Filament G-code: This block synchronizes Spoolman and enforces a "Silent Window" to prevent RS485 bus collisions.

; --- Tool Change & Spoolman Sync ---
{if previous_extruder != -1 and previous_extruder != next_extruder}
  M117 Syncing Spoolman Slot {next_extruder}...
  SYNC_SPOOLMAN SLOT=[next_extruder]
  
  M400                              ; Clear movement buffer
  BOX_ERROR_CLEAR                   ; Clear data bus
  G4 P3000                          ; 3s Silent Window for stability
  
  M104 S260                         ; High-temp load to reduce motor torque
  M117 Loading Tool {next_extruder}...
  T[next_extruder]                  ; Call native tool change
  
  M104 S[nozzle_temperature_range_high] ; Return to printing temp range
  M117 Change Complete.
{endif}

🔍 Technical Note: The "Key 60" Fix

The Key 60: Internal error on command:BOX_EXTRUDE_MATERIAL is caused by electrical noise and bus congestion on the RS485 line. This setup resolves it via:

  1. The Silent Window: A 3-second pause and M400 ensure the printer's motion controller is idle before the CFS starts its high-frequency data transmission.
  2. Torque Reduction: Forcing a 260°C load temperature reduces filament viscosity. This significantly lowers the electrical noise generated by the extruder motor, preventing data corruption on the communication bus.
  3. Native T-Command: Utilizing the internal firmware's tool-change logic instead of manual macro calls ensures the CFS handles the "Shadow Move" to the purge station reliably.

Section 4: Full Credits

This final section includes the clickable link to the pellcorp guide that helped with the implementation.

🤝 Credits & Acknowledgments


🚀 Status: Stable

Resolved Key 60/61 errors by moving tool-change logic to a thermal-controlled stationary window. This guide reflects a personal stable build.

About

Fixed KAMP config for Creality K1 Max with CFS and CR-Touch. Fixes Key 61 and Key 172 errors.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors