# This file contains common pin mappings for MKS Robin Nano V3
# boards. To use this config, the firmware should be compiled for the
# stm32f407. When running "make menuconfig", select the 48KiB
# bootloader, and enable "USB for communication".
# The "make flash" command does not work on the MKS Robin. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "Robin_nano_v3.bin" on an SD card and then restart the
# MKS Robin with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[include fluidd.cfg]
[exclude_object]
########################################
# A (X-Stepper) Configuration
########################################
[stepper_a] # X
step_pin: PE3
dir_pin: PE2
enable_pin: !PE4
microsteps: 16
rotation_distance: 40
full_steps_per_rotation: 200
endstop_pin: ^PA15 #X_MAX
#position_endstop: 336.5
homing_speed: 60
#arm_length: 315
[tmc2209 stepper_a]
uart_pin: PD5
interpolate: true
run_current: 0.90
hold_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 100
########################################
# B (Y-Stepper) Configuration
########################################
[stepper_b] # Y
step_pin: PE0
dir_pin: PB9
enable_pin: !PE1
microsteps: 16
rotation_distance: 40
full_steps_per_rotation: 200
endstop_pin: ^PD2 #Y_MAX
#position_endstop: 336.5
homing_speed: 60
#arm_length: 315
[tmc2209 stepper_b]
uart_pin: PD7
interpolate: true
run_current: 0.90
hold_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 100
########################################
# C (Z-Stepper) Configuration
########################################
[stepper_c] # Z
step_pin: PB5
dir_pin: PB4
enable_pin: !PB8
microsteps: 16
rotation_distance: 40
full_steps_per_rotation: 200
endstop_pin: ^PC4 #Z_MAX
#position_endstop: 336.5
homing_speed: 60
#arm_length: 315
[tmc2209 stepper_c]
uart_pin: PD4
interpolate: true
run_current: 0.90
hold_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 100
[extruder]
step_pin: PD6
dir_pin: !PD3
enable_pin: !PB3
rotation_distance: 7.68
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PE5
sensor_type: Generic 3950
sensor_pin: PC1
#control: pid
#pid_Kp: 14.529
#pid_Ki: 0.557
#pid_Kd: 94.802
min_temp: 0
max_temp: 260
[tmc2209 extruder]
uart_pin: PD9
interpolate: true
run_current: 0.847
hold_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 100
#[extruder1]
#step_pin: PD15
#dir_pin: !PA1
#enable_pin: !PA3
#heater_pin: PB0
#sensor_pin: PA2
#...
[heater_bed]
heater_pin: PA0
sensor_type: Generic 3950
sensor_pin: PC0
#control: pid
#pid_Kp: 325.10
#pid_Ki: 63.35
#pid_Kd: 417.10
min_temp: 0
max_temp: 120
[fan]
pin: PC14 # fan1
#pin: PB1 # fan2
[heater_fan heatsink_fan] # Heatsink
pin: PB0 #PB1
max_power: 1.0
heater: extruder
heater_temp: 50.0
fan_speed: 1.0
[bed_mesh]
speed: 100
horizontal_move_z: 50
mesh_radius: 125
mesh_origin: 0,0
round_probe_count: 5
[probe]
pin: ^!PC8 #Z_MIN
x_offset: 0
y_offset: 0
#z_offset: 16.705
speed: 20
samples: 5
samples_result: average
sample_retract_dist: 10
samples_tolerance: 0.03
samples_tolerance_retries: 5
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407 your info here
baud: 250000
restart_method: command
[printer]
kinematics: delta
max_velocity: 2000
max_accel: 2000
max_z_velocity: 2000
minimum_z_position: -1
square_corner_velocity: 15.0
#delta_radius: 130
print_radius: 130
square_corner_velocity: 15.0
#delta_radius: 130
print_radius: 130
[delta_calibrate]
radius: 130
horizontal_move_z: 50
speed: 20
########################################
# Filament Runout
########################################
#[filament_switch_sensor my_sensor]
#switch_pin: PA4
#pause_on_runout: true
# The pin on which the switch is connected. This parameter must be
# provided.
#runout_gcode:
# A list of G-Code commands to execute after a filament runout is
# detected. See docs/Command_Templates.md for G-Code format. If
# pause_on_runout is set to True this G-Code will run after the
# PAUSE is complete. The default is not to run any G-Code commands.
#insert_gcode:
# 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
# The minimum amount of time in seconds to delay between events.
# Events triggered during this time period will be silently
# ignored. The default is 3 seconds.
#pause_delay: 0.5
# The amount of time to delay, in seconds, between the pause command
# dispatch and execution of the runout_gcode. It may be useful to
# increase this delay if OctoPrint exhibits strange pause behavior.
# Default is 0.5 seconds.
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PC5, EXP1_3=PD13, EXP1_5=PE14, EXP1_7=PD11, EXP1_9=<GND>,
EXP1_2=PE13, EXP1_4=PC6, EXP1_6=PE15, EXP1_8=PD10, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_3=PE8, EXP2_5=PE11, EXP2_7=PE12, EXP2_9=<GND>,
EXP2_2=PA5, EXP2_4=PE10, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<3.3v>
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "ssp1"
# See the sample-lcd.cfg file for definitions of common LCD displays.
[display_status]
[temperature_sensor rpi_temperature]
sensor_type: temperature_host
[temperature_sensor mcu_temperature]
sensor_type: temperature_mcu
[virtual_sdcard]
path:[virtual_sdcard]
path: ~/printer_data/gcodes
[display_status]
[pause_resume]
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - 2.0) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
PAUSE_BASE
G91
{% if printer.extruder.can_extrude|lower == 'true' %}
G1 E-{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
Hello @JCFPV !
Either upload the config as file or put it between code braces.
This way, too many information gets lost:
hey thanks i am new to klipper but greatly appreciate the help