[include mainsail.cfg] [mcu] canbus_uuid: YOU_DIDNT_CHANGE_ME_YET # Insert the CANbus-UUID of your Manta from the firmware flashing steps [mcu EBBCan] canbus_uuid: YOU_DIDNT_CHANGE_ME_YET # Insert the CANbus-UUID of your SB2209 RP2040 from the firmware flashing steps [printer] kinematics: corexy max_velocity: 300 max_accel: 10000 max_z_velocity: 30 max_z_accel: 350 square_corner_velocity: 5.0 [temperature_sensor MCU] sensor_type: temperature_mcu [temperature_sensor SoC] sensor_type: temperature_host ##################################################################### # X/Y Stepper Settings ##################################################################### ## X Stepper on Motor1 (B Motor) [stepper_x] step_pin: PE6 dir_pin: PE5 enable_pin: !PC14 microsteps: 16 rotation_distance: 40 full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper endstop_pin: ^EBBCan:gpio24 position_min: 0 ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #position_endstop: 250 #position_max: 250 ## Uncomment for 300mm build #position_endstop: 300 #position_max: 300 ## Uncomment for 350mm build #position_endstop: 350 #position_max: 350 ##-------------------------------------------------------------------- homing_speed: 25 homing_retract_dist: 5 homing_positive_dir: true [tmc2209 stepper_x] uart_pin: PC13 interpolate: True run_current: 0.9 sense_resistor: 0.110 stealthchop_threshold: 0 ## Y Stepper on Motor2 (A Motor) [stepper_y] step_pin: PE2 dir_pin: PE1 enable_pin: !PE4 microsteps: 16 rotation_distance: 40 endstop_pin: ^PF3 full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper position_min: 0 ##-------------------------------------------------------------------- ## Uncomment for 250mm build #position_endstop: 250 #position_max: 250 ## Uncomment for 300mm build #position_endstop: 300 #position_max: 300 ## Uncomment for 350mm build #position_endstop: 350 #position_max: 350 ##-------------------------------------------------------------------- homing_speed: 25 homing_retract_dist: 5 homing_positive_dir: true [tmc2209 stepper_y] uart_pin: PE3 interpolate: True run_current: 0.9 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Z Stepper Settings ##################################################################### ## Z0 Stepper - Front Left on MOTOR3_A [stepper_z] step_pin: PB8 dir_pin: PB7 enable_pin: !PE0 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 endstop_pin: probe:z_virtual_endstop ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #position_max: 240 ## Uncomment below for 300mm build #position_max: 290 ## Uncomment below for 350mm build #position_max: 340 ##-------------------------------------------------------------------- position_min: -5 homing_speed: 8 second_homing_speed: 3 homing_retract_dist: 3 [tmc2209 stepper_z] uart_pin: PB9 interpolate: true run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z1 Stepper - Rear Left on Motor5 [stepper_z1] step_pin: PB4 dir_pin: !PB3 enable_pin: !PB6 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc2209 stepper_z1] uart_pin: PB5 interpolate: true run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z2 Stepper - Rear Right on Motor6 [stepper_z2] step_pin: PG13 dir_pin: PG12 enable_pin: !PG15 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc2209 stepper_z2] uart_pin: PG14 interpolate: true run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z3 Stepper - Front Right on Motor7 [stepper_z3] step_pin: PG9 dir_pin: !PD7 enable_pin: !PG11 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc2209 stepper_z3] uart_pin: PG10 interpolate: true run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### # E0 on SB2209 [extruder] step_pin: EBBCan:gpio18 dir_pin: EBBCan:gpio19 enable_pin: !EBBCan:gpio17 microsteps: 16 rotation_distance: 22.905740611 gear_ratio: 50:10 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: EBBCan:gpio7 control: pid min_temp: 0 max_extrude_only_distance: 105 max_extrude_cross_section: 2 pid_kp: 57.369 pid_ki: 2.533 pid_kd: 324.854 sensor_type: MAX31865 sensor_pin: EBBCan:gpio9 spi_software_sclk_pin: EBBCan:gpio10 spi_software_mosi_pin: EBBCan:gpio8 spi_software_miso_pin: EBBCan:gpio11 rtd_nominal_r: 100 rtd_reference_r: 430 rtd_num_of_wires: 2 [tmc2209 extruder] uart_pin: EBBCan:gpio20 run_current: 0.65 stealthchop_threshold: 0 ##################################################################### # Bed Heater ##################################################################### [heater_bed] heater_pin: PA1 sensor_type: Generic 3950 sensor_pin: PB1 max_power: 1.0 min_temp: 0 max_temp: 115 control: pid pid_kp: 58.437 pid_ki: 2.347 pid_kd: 363.769 ##################################################################### # Probe ##################################################################### [probe] pin: ^EBBCan:gpio22 x_offset: 0 y_offset: 0 #z_offset: 0 lift_speed: 30 activate_gcode: {% set PROBE_TEMP = 150 %} {% set MAX_TEMP = PROBE_TEMP + 5 %} {% set ACTUAL_TEMP = printer.extruder.temperature %} {% set TARGET_TEMP = printer.extruder.target %} {% if TARGET_TEMP > PROBE_TEMP %} { action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) } M109 S{ PROBE_TEMP } {% else %} # Temperature target is already low enough, but nozzle may still be too hot. {% if ACTUAL_TEMP > MAX_TEMP %} { action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) } TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP } {% endif %} {% endif %} ##################################################################### # Fan Control ##################################################################### [fan] pin: EBBCan:gpio13 [heater_fan hotend_fan] pin: EBBCan:gpio14 heater: extruder heater_temp: 70.0 [fan_generic nevermore] ## Print Cooling Fan - CNC_FAN0 pin: PF8 kick_start_time: 0.5 off_below: 0.10 [controller_fan controller_fan_1] ## Hotend Fan - CNC_FAN1 pin: PF9 max_power: 1.0 kick_start_time: 0.5 fan_speed: 0.66 [heater_fan controller_fan_2] ## Controller fan - CNC_FAN2 pin: PF6 kick_start_time: 0.5 heater: heater_bed heater_temp: 80 fan_speed: 0.66 [fan_generic exhaust_fan] # Exhaust fan - CNC_FAN0 pin: PF7 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 0.5 ##################################################################### # LED Control ##################################################################### [neopixel toolhead_light] pin: EBBCan:gpio16 chain_count: 3 color_order: GRBW [output_pin caselight] #Chamber Lighting - HE3 Connector pin: PA3 pwm:true shutdown_value: 0 cycle_time: 0.01 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 3300 [safe_z_home] ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #home_xy_position: 125,125 ## Uncomment below for 300mm build #home_xy_position: 150,150 ## Uncomment below for 350mm build #home_xy_position: 175,175 ##-------------------------------------------------------------------- speed: 100 z_hop: 10 [quad_gantry_level] ## Use QUAD_GANTRY_LEVEL to level a gantry. ## Min & Max gantry corners - measure from nozzle at MIN (0,0) and ## MAX (250, 250), (300,300), or (350,350) depending on your printer size ## to respective belt positions #-------------------------------------------------------------------- ## Gantry Corners for 250mm Build ## Uncomment for 250mm build #gantry_corners: # -60,-10 # 310, 320 ## Probe points #points: # 50,25 # 50,175 # 200,175 # 200,25 ## Gantry Corners for 300mm Build ## Uncomment for 300mm build #gantry_corners: # -60,-10 # 360,370 ## Probe points #points: # 50,25 # 50,225 # 250,225 # 250,25 ## Gantry Corners for 350mm Build ## Uncomment for 350mm build gantry_corners: -60,-10 410,420 # Probe points points: 50,25 50,275 300,275 300,25 #-------------------------------------------------------------------- speed: 100 horizontal_move_z: 10 retries: 10 retry_tolerance: 0.0075 max_adjust: 10 [bed_mesh] mesh_min: 10,10 ##-------------------------------------------------------------------- ## Uncomment below for 250mm build #mesh_max: 240,240 ## Uncomment below for 300mm build mesh_max: 290,290 ## Uncomment below for 350mm build #mesh_max: 340,340 ##-------------------------------------------------------------------- [board_pins] aliases: # EXP1 header EXP1_1=PE7, EXP1_2=PG1, EXP1_3=PG0, EXP1_4=PF15, EXP1_5=PF14, EXP1_6=PF13, # Slot in the socket on this side EXP1_7=PF12, EXP1_8=PF11, EXP1_9=, EXP1_10=<5V>, # EXP2 header EXP2_1=PE13, EXP2_2=PE12, EXP2_3=PE15, EXP2_4=PE11, EXP2_5=PE10, EXP2_6=PE14, # Slot in the socket on this side EXP2_7=PE8, EXP2_8=, EXP2_9=, EXP2_10= ##################################################################### # Macros ##################################################################### [gcode_macro G32] gcode: BED_MESH_CLEAR G28 QUAD_GANTRY_LEVEL G28 ## Uncomment for for your size printer: #-------------------------------------------------------------------- ## Uncomment for 250mm build #G0 X125 Y125 Z30 F3600 ## Uncomment for 300 build #G0 X150 Y150 Z30 F3600 ## Uncomment for 350mm build #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- [gcode_macro PRINT_START] # Use PRINT_START for the slicer starting script - please customise for your slicer of choice gcode: G32 ; home all axes G1 Z20 F3000 ; move nozzle away from bed [gcode_macro PRINT_END] # Use PRINT_END for the slicer ending script - please customise for your slicer of choice gcode: SAVE_GCODE_STATE NAME=STATE_PRINT_END M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-10.0 F3600 ; retract filament G91 ; relative positioning G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing TURN_OFF_HEATERS M107 ; turn off fan G1 Z2 F3000 ; move nozzle up 2mm G90 ; absolute positioning G0 X125 Y250 F3600 ; park nozzle at rear BED_MESH_CLEAR # The purpose of the SAVE_GCODE_STATE/RESTORE_GCODE_STATE # command pair is to restore the printer's coordinate system # and speed settings since the commands above change them. # However, to prevent any accidental, unintentional toolhead # moves when restoring the state, explicitly set MOVE=0. RESTORE_GCODE_STATE NAME=STATE_PRINT_END MOVE=0