Skip to content

Instantly share code, notes, and snippets.

@neoyagami
Last active April 29, 2025 08:33
Show Gist options
  • Save neoyagami/5f431928997dbf255e84e4c937983e8e to your computer and use it in GitHub Desktop.
Save neoyagami/5f431928997dbf255e84e4c937983e8e to your computer and use it in GitHub Desktop.
Klipper config, ender 3 with 4.2.2 board (the noisy one), also with blouch , G29 (auto bed level)
# This file contains pin mappings for the stock 2020 Creality Ender 3
# with the 32-bit Creality 4.2.2 board. To use this config, during
# "make menuconfig" select the STM32F103 with a "28KiB bootloader" and
# serial (on USART1 PA10/PA9) communication.
# adapted for my printer ender3-4.2.2
# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC
# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
#endstop_pin: ^PA7
endstop_pin: probe:z_virtual_endstop
position_max: 250
position_min:-2
[extruder]
max_extrude_only_distance: 100.0
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
microsteps: 16
rotation_distance: 33.683
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
#control: pid
# tuned for stock hardware with 200 degree Celsius target
#pid_Kp: 21.527
#pid_Ki: 1.063
#pid_Kd: 108.982
min_temp: -30
max_temp: 250
pressure_advance: 0.85
[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
#control: pid
# tuned for stock hardware with 50 degree Celsius target
#pid_Kp: 54.027
#pid_Ki: 0.770
#pid_Kd: 948.182
min_temp: 0
max_temp: 130
[fan]
pin: PA0
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
# Pin mappings for BL_T port
[bltouch]
sensor_pin: ^PA7
control_pin: PB0
#z_offset = 0
x_offset: -48
y_offset: 0
[safe_z_home]
home_xy_position: 165, 130 # Change coordinates to the center of your print bed
speed: 50
z_hop: 10 # Move up 10mm
z_hop_speed: 5
[bed_mesh]
speed: 150
horizontal_move_z: 7
mesh_min: 50, 50
mesh_max: 180, 200
probe_count: 5, 3
[display]
lcd_type: st7920
cs_pin: PB12
sclk_pin: PB13
sid_pin: PB15
encoder_pins: ^PB14, ^PB10
click_pin: ^!PB2
[gcode_arcs]
resolution = 1.0
[gcode_macro G29]
gcode:
G28
BED_MESH_CALIBRATE
G1 X0 Y0 Z5 F4000
[menu __main __octoprint __poweroff]
type: command
#enable: !toolhead.is_printing
name: Turn off Octopi
gcode:
{action_respond_info('action:poweroff')}
@jcalderonp
Copy link

Does it work with the oem LCD screen ? and if i doesnt have bl touch installed?

@moejonzo
Copy link

Thank you for this! While I don't have a BL touch, your x/y/z mappings helped me immensely on my 2022 Ender 3 4.2.2 board with STM32F103 clone.

@truong0vanchien
Copy link

You should mention this config will work only the signal cables of bltouch installing in the Z axis, otherwise it doesn't.

@jbhome
Copy link

jbhome commented Jun 13, 2023

To make it work with the 5 pin connector on creality v422 and 427 boards, in bltouch section, change sensor_pin: ^PA7 to sensor_pin: ^PB1. I think both of these config files should be in the Klipper configs directory but not sure how to get that done. good luck

@MaxBroome
Copy link

The BLTouch sensor pin is actually located at ^PB1, not ^PA7. Still a great config nonetheless. Hope this helps somebody with the error "Failed to verify BLTouch probe is raised; retrying."

@nitrogoat74
Copy link

The BLTouch sensor pin is actually located at ^PB1, not ^PA7. Still a great config nonetheless. Hope this helps somebody with the error "Failed to verify BLTouch probe is raised; retrying."

tysm

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