Skip to content

Instantly share code, notes, and snippets.

@wilmardo
Created October 11, 2025 18:17
Show Gist options
  • Save wilmardo/a8c46d6f5e85255be7906ca8eb34e19a to your computer and use it in GitHub Desktop.
Save wilmardo/a8c46d6f5e85255be7906ca8eb34e19a to your computer and use it in GitHub Desktop.
# This file contains common pin mappings for the BIGTREETECH SKR mini
# E3 v3.0. To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# The "make flash" command does not work on the SKR mini E3. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR
# mini E3 with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_4900380012504B4B38383620-if00
[temperature_sensor mcu_temp]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 350
position_max: 350
homing_speed: 200
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
stealthchop_threshold: 999999
[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 350
position_max: 350
homing_speed: 200
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.800
stealthchop_threshold: 999999
[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 4
endstop_pin: probe:z_virtual_endstop
position_min: -2
position_max: 410
homing_speed: 10
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.800
# run_current: 0.580
stealthchop_threshold: 999999
# [stepper_z1]
# dir_pin: PD0 # I/O header pin 1
# step_pin: PD2 # I/O header pin 2
# enable_pin: !PD4 # I/O header pin 4
# microsteps: 16
# rotation_distance: 8
# [tmc2209 stepper_z1]
# # reuse TFT header for UART
# uart_pin: PA3 #rx2
# tx_pin: PA2 # tx2
# uart_address: 0
# run_current: 0.580
# stealthchop_threshold: 999999
[extruder]
step_pin: PB3
dir_pin: PB4
enable_pin: !PD1
microsteps: 16
rotation_distance: 33.15
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0
min_temp: 0
max_temp: 300
max_extrude_only_distance: 100.0 # to allow e-step calibration
control = pid
pid_kp = 23.344
pid_ki = 1.197
pid_kd = 113.804
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.600
[heater_bed]
heater_pin: PC6 # FAN0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
min_temp: 0
max_temp: 130
# calculated values for my printer
control = pid
pid_kp = 65.737
pid_ki = 0.818
pid_kd = 1321.306
[heater_fan heatbreak_cooling_fan]
pin: PC7 # FAN1
[fan]
pin: PB15 # FAN2
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 500
######################################################################
# DISPLAY
######################################################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PD6, EXP1_10=<5V>
[display]
lcd_type: st7920
cs_pin: EXP1_7
sclk_pin: EXP1_6
sid_pin: EXP1_8
encoder_pins: ^EXP1_5, ^EXP1_3
click_pin: ^!EXP1_2
[menu __main __octoprint]
type: disabled
######################################################################
# BL - TOUCH
######################################################################
[bltouch]
sensor_pin: ^PC14
control_pin: PA1
x_offset: -42
y_offset: -17
z_offset: 1.530
speed: 3.0
stow_on_each_sample: False
probe_with_touch_mode: True
[safe_z_home]
home_xy_position: 175,175
speed: 200
z_hop: 10
z_hop_speed: 5
# [filament_switch_sensor filament_sensor]
# switch_pin: PC12
# Bed Leveling: https://www.klipper3d.org/Bed_Level.html#determining-thermal-expansion
[bed_mesh]
speed: 200
horizontal_move_z: 10
mesh_min: 50, 50
mesh_max: 300,300
probe_count: 3,3
fade_start: 1
fade_end: 10
# Z tilt: https://www.klipper3d.org/Config_Reference.html?h=pixel#z_tilt
# [z_tilt]
# horizontal_move_z: 5
# speed: 50
# z_positions:
# -18.4,180
# 378.4,180
# points:
# 50,180
# 360,180
[bed_mesh default]
version = 1
points =
-0.130000, 0.052500, -0.075000
-0.145000, -0.015000, -0.075000
-0.037500, 0.027500, -0.112500
x_count = 3
y_count = 3
mesh_x_pps = 2
mesh_y_pps = 2
algo = lagrange
tension = 0.2
min_x = 50.0
max_x = 300.0
min_y = 50.0
max_y = 300.0
######################################################################
# LED strip driven by bed heater mosfet
######################################################################
[led light]
white_pin: PC9
initial_WHITE: 1.0
######################################################################
# Screws
######################################################################
[screws_tilt_adjust]
screw1: 55,50
screw1_name: front_left
screw2: 350,50
screw2_name: front_right
screw3: 350,315
screw3_name: back_right
screw4: 55,315
screw4_name: back_left
horizontal_move_z: 10
speed: 200
screw_thread: CW-M4
######################################################################
# Mainsail
######################################################################
[include mainsail.cfg]
[include macros.cfg]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment