Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Klipper Ender 5 Plus stock printer config
# This file contains pin mappings for the Creality Ender 5 Plus.
# Ender 5 Plus stock uses a Creality v2.2 board, similar to CR-20 Pro.
# To use this config, the firmware should be compiled for the AVR atmega2560.
# See the example.cfg file for a description of available parameters.
[stepper_x]
step_pin: PF0
dir_pin: PF1
enable_pin: !PD7
step_distance: .0125
endstop_pin: ^PE5
position_endstop: 350
position_max: 350
homing_speed: 100
[stepper_y]
step_pin: PF6
dir_pin: PF7
enable_pin: !PF2
step_distance: .0125
endstop_pin: ^PJ1
position_endstop: 350
position_max: 350
homing_speed: 100
[stepper_z]
step_pin: PL3
dir_pin: PL1
enable_pin: !PK0
step_distance: .001266
#step_distance: .0025
endstop_pin: probe:z_virtual_endstop
position_max: 400
position_min: -5 #set position_min to a negative value such as -5 when probing to set z offset, then revert to 0
homing_speed: 10.0
[extruder]
step_pin: PA4
dir_pin: PA6
enable_pin: !PA2
step_distance: .010526
nozzle_diameter: 0.400
filament_diameter: 1.750
#pressure_advance: 0.617 # high value for stock long bowden tube, uncomment to enable pressure advance
#pressure_advance_smooth_time: 0.010 # uncomment to enable pressure advance
heater_pin: PB4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 260
[safe_z_home]
home_xy_position: 180, 180
speed: 100
z_hop: 10 # Move up 10mm, so the probe doesnt hit anything
z_hop_speed: 5
[bltouch]
sensor_pin: ^PD3
control_pin: PB5
x_offset: -45
y_offset: 0
#z_offset: 0
speed: 3.0
samples: 1
pin_up_reports_not_triggered: True
pin_up_touch_mode_reports_triggered: False
[bed_mesh]
speed: 100
horizontal_move_z: 8
mesh_min: 50, 50
mesh_max: 300,300
probe_count: 3,3 # 3,3 or 5,5
[gcode_macro G29]
gcode:
G28
BED_MESH_CALIBRATE
BED_MESH_PROFILE SAVE=p1
G1 X0 Y0 Z5 F4000
[heater_bed]
heater_pin: PH5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK6
control: pid
pid_Kp: 690.34
pid_Ki: 111.47
pid_Kd: 1068.83
min_temp: 0
max_temp: 130
[fan]
pin: PH6
[mcu]
serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AK06VNAB-if00-port0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 2000 # 20x print speed recommended
max_z_velocity: 5
max_z_accel: 100
#[display]
# Not sure this is supported for E5+
@totalitarian

This comment has been minimized.

Copy link

@totalitarian totalitarian commented Jun 13, 2020

Did you get the BLTouch working OK with klipper?

@mihaiserban

This comment has been minimized.

Copy link
Owner Author

@mihaiserban mihaiserban commented Jun 13, 2020

Yes, no issues

@totalitarian

This comment has been minimized.

Copy link

@totalitarian totalitarian commented Jun 14, 2020

Great! Occasionally I get an error about BL touch failed to raise probe, doesn’t seem to cause an issue though

@mihaiserban

This comment has been minimized.

Copy link
Owner Author

@mihaiserban mihaiserban commented Jun 14, 2020

i get that as well if i run 5,5 probes, 2 of the probes give an error, the rest are fine.
for a 3,3 mesh is works fine.
i suspect it has something to do with the probing speed.
but since it worked i ignored it.

@mnrivera210

This comment has been minimized.

Copy link

@mnrivera210 mnrivera210 commented Dec 10, 2020

Hey thanks for the config. Have you been able to get the stock filament sensor to work with klipper?

@Bob90

This comment has been minimized.

Copy link

@Bob90 Bob90 commented Dec 11, 2020

Got the stock filament sensor working. I used a multimeter to find the MCU pin name and played around with some macros from other Githhub users.

[pause_resume]
recover_velocity: 50 #allows pause resume functionality.

#filament runout sensor
[filament_switch_sensor filament_sensor]
switch_pin:PE4
pause_on_runout: false #pause handled by macro
runout_gcode:
  M600 #calls a macro with the name M600 (so it can be called by slicers too)
insert_gcode:
  M117 Filament inserted #just a throwaway GCode command to have something in this space. You can add your own.
#   A list of G-Code commands to execute after a filament insert is
#   detected. See docs/Command_Templates.md for G-Code format. The
#   default is not to run any G-Code commands, which disables insert
#   detection.
event_delay: 3.0
pause_delay: 0.0001

I use the macros linked from here: #KevinOConnor/klipper#1354 by Hywelmartin and change the extrusion length to be within my config maximum

@mnrivera210

This comment has been minimized.

Copy link

@mnrivera210 mnrivera210 commented Dec 11, 2020

@Bob90

Thank you so much for sharing. I was trying for the life of me find the right Pin. Once my print finishes I'll load your code in and see how it goes.

@Bob90

This comment has been minimized.

Copy link

@Bob90 Bob90 commented Dec 12, 2020

@mnrivera210 I found the pin using my multimeter. First time I've used it for something like this :)

@mnrivera210

This comment has been minimized.

Copy link

@mnrivera210 mnrivera210 commented Dec 20, 2020

@Bob90
I've been using your config with great success! Only issue is after some time it appears to timeout and clear its position not allowing it to resume. Any idea how to keep it "Paused".

Also I've been trying to get the stock screen to work with no success so I tried to replace it with an lcd 12864, however I'm having a hard time getting the EXP1 & EXP2 pins to work. If you happen to know the pin out that would be great.

[display]
lcd_type: st7920
cs_pin: EXP1_4
sclk_pin: EXP1_5
sid_pin: EXP1_3
encoder_pins: ^EXP2_3, ^EXP2_5
click_pin: ^!EXP1_2
#kill_pin: ^!EXP2_8

[output_pin beeper]
pin: EXP1_1

Thank you again, you've really helped with getting the 5 Plus to be fully compatible with Klipper.

@Bob90

This comment has been minimized.

Copy link

@Bob90 Bob90 commented Dec 20, 2020

Hi, no idea on the LCD as I haven't tried yet.

There is an idle timeout setting that klipper has. Not sure on the default, but some suggested setting it yourself to a value of, say, 3000s (or 5 mins)

@mnrivera210

This comment has been minimized.

Copy link

@mnrivera210 mnrivera210 commented Dec 20, 2020

Hi, no idea on the LCD as I haven't tried yet.

There is an idle timeout setting that klipper has. Not sure on the default, but some suggested setting it yourself to a value of, say, 3000s (or 5 mins)

Does that mean after 5 mins it will timeout? Currently it takes about that time for it to timeout, is there a way to have indefinite?

@Bob90

This comment has been minimized.

Copy link

@Bob90 Bob90 commented Dec 21, 2020

I have mine set for 7200, but you should be able to set it higher. I haven't tested/checked this to see if Klipper has a limit that you need to override.

@pnog73

This comment has been minimized.

Copy link

@pnog73 pnog73 commented May 25, 2021

My Ender 5 Plus gives-me this error. I just installed and compiled Klipper.

Help appreciated...

Recv: // This type of error is frequently caused by running an older
Recv: // version of the firmware on the micro-controller (fix by
Recv: // recompiling and flashing the firmware).
Recv: // Once the underlying issue is corrected, use the "RESTART"
Recv: // command to reload the config and restart the host software.
Recv: // Protocol error connecting to printer
Recv: // Klipper state: Not ready

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment