diff --git a/Release_2_Beta/Images/k2_toolhead_r2_02_transp.png b/Release_2_Beta/Images/k2_toolhead_r2_02_transp.png new file mode 100644 index 0000000..92dad7a Binary files /dev/null and b/Release_2_Beta/Images/k2_toolhead_r2_02_transp.png differ diff --git a/Release_2_Beta/Images/k2_toolhead_r2_03_transp.png b/Release_2_Beta/Images/k2_toolhead_r2_03_transp.png new file mode 100644 index 0000000..49753d0 Binary files /dev/null and b/Release_2_Beta/Images/k2_toolhead_r2_03_transp.png differ diff --git a/Release_2_Beta/Images/k2_toolhead_r2_04_transp.png b/Release_2_Beta/Images/k2_toolhead_r2_04_transp.png new file mode 100644 index 0000000..35244a8 Binary files /dev/null and b/Release_2_Beta/Images/k2_toolhead_r2_04_transp.png differ diff --git a/Release_2_Beta/Klipper_Config/User_Configs/k2_config_release2xy_ballscrewz.cfg b/Release_2_Beta/Klipper_Config/User_Configs/k2_config_release2xy_ballscrewz.cfg new file mode 100644 index 0000000..b6c0a38 --- /dev/null +++ b/Release_2_Beta/Klipper_Config/User_Configs/k2_config_release2xy_ballscrewz.cfg @@ -0,0 +1,892 @@ +# This file has been created by "Feb" for the K2 Printer running 2x Fysetc S6s, board version 1.2, running TMC2209s +# XY Gantry = Release 2, Z Axis = 1204 Ballscrews +# Please change settings for your specific build or ensure you place your items in the same spots on the same MCU as I have. +# I've added as many options as I can think of for different displays as well as listed the available commands you can use via the terminal at the bottom of this configuration file. + +#How do I upgrade to the latest software? +#The general way to upgrade is to ssh into the Raspberry Pi and run: +#cd ~/klipper +#git pull +#~/klipper/scripts/install-octopi.sh + +# Then one can recompile and flash the micro-controller code. For example: +#make menuconfig +#make clean +#make +#sudo service klipper stop +#make flash FLASH_DEVICE=vid:pid (where "vid:pid" is the device ID found using "lsusb") +#sudo service klipper start + +# Obtaining your USB ID to flash with: +# disconnect all of the boards except the one you would like to flash +# type the "lsusb" command into the terminal +# note the USB ID (ex: "1d50:614e", vid and pid are each a 4 digit hex string) +# use the command above "make flash ...." + +# This file contains common pin mappings for the Fysetc S6 board, version 1.2. +# To use this config, the firmware should be compiled for the STM32F446. +# When calling "menuconfig", enable "extra low-level configuration setup" +# and select the "12MHz crystal" as clock reference +# For flashing, write the compiled klipper.bin to memory location 0x08000000 +# This address is applied automatically when you flash the board ^^^ + +#However, it's often the case that only the host software changes. In this case, one can update and restart just the host software with: +#cd ~/klipper +#git pull +#sudo service klipper restart +#If after using this shortcut the software warns about needing to reflash the micro-controller or some other unusual error occurs, then follow the full upgrade steps outlined above. Note that the RESTART and FIRMWARE_RESTART g-code commands do not load new software - the above "sudo service klipper restart" and "make flash" commands are needed for a software change to take effect. + +# use the following modifiers before the pin definition (ex: ^!ar99) +# ! invert the logic +# ^ activate 5v pullup (does not apply to all pins) +# mcu_name: use pins on additional MCU (ex: z:ar10) + + +# MCU - Fysetc S6 #1 +[mcu] +# obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_260035000851363131343032-if00 +restart_method: command + +# MCU - Fysetc S6 #2 +[mcu s62] +# obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_4E0042000151363131343032-if00 +restart_method: command + +#virtual sdcard settings +#[virtual_sdcard] +#path: ~/.octoprint/uploads/ + + +#Printer Controls +[printer] +kinematics: cartesian +max_velocity: 350 +max_accel_to_decel: 12500 +max_accel: 12500 +max_z_velocity: 30 +max_z_accel: 100 +square_corner_velocity: 5.0 + +#Gcode G2/G3 Arc Support +[gcode_arcs] +resolution: 0.1 + +#Input Shaper Settings +[input_shaper] +shaper_freq_x: 59 #(100*8)/13.5 +shaper_freq_y: 51 #(100*8)/15.75 +shaper_type: mzv + +# Steppers +[stepper_x] +# connected to X Stepper on S6 #1 +step_pin: PE11 +dir_pin: PE10 +enable_pin: !PE12 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_x:virtual_endstop +position_min: 0 +position_endstop: 0 +position_max: 360 +homing_speed: 40.0 +homing_retract_dist: 0.0 +homing_positive_dir: false + +[stepper_x1] +# connected to Y Stepper on S6 #1 +step_pin: PD8 +dir_pin: !PB12 +enable_pin: !PD9 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_x1:virtual_endstop + + +[stepper_y] +# connected to E0 Stepper on S6 #1 +step_pin: PD5 +dir_pin: PD6 +enable_pin: !PD4 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_y:virtual_endstop +position_min: 0 +position_endstop: 0 +position_max: 360 +homing_speed: 40.0 +homing_retract_dist: 0.0 +homing_positive_dir: false + +[stepper_y1] +# connected to E1 Stepper on S6 #1 +step_pin: PE6 +dir_pin: !PC13 +enable_pin: !PE5 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_y1:virtual_endstop + + +[stepper_z] +# connected to X Stepper on S6 #2 (Front Left Stepper, from top) +step_pin: s62:PE11 +dir_pin: !s62:PE10 +enable_pin: !s62:PE12 +# 1.8deg - 400 steps per mm - 1/8 - stepping - ballscrew z +step_distance: 0.0025 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +#step_distance: 0.005475 +# 1.8deg - 133.333 steps per mm - quarterstepping - 10:1 belted z +#step_distance: 0.0075 +# connected to Z+ Endstop on S6 #2 +endstop_pin: ^s62:PA3 + +# offset for nozzle to bed off z switch +position_endstop: 0.91 +position_max: 325 +position_min: -3 +homing_speed: 10.0 +second_homing_speed: 10.0 +homing_retract_dist: 10.0 +homing_positive_dir: false + +[stepper_z1] +# connected to Y Stepper on S6 #2 (Rear Left Stepper, from top) +step_pin: s62:PD8 +dir_pin: !s62:PB12 +enable_pin: !s62:PD9 +# 1.8deg - 400 steps per mm - 1/8 - stepping - ballscrew z +step_distance: 0.0025 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +#step_distance: 0.005475 +# 1.8deg - 133.333 steps per mm - quarterstepping - 10:1 belted z +#step_distance: 0.0075 + +[stepper_z2] +# connected to Z Stepper on S6 #2 (Center Right Stepper, from top) +step_pin: s62:PD14 +dir_pin: !s62:PD13 +enable_pin: !s62:PD15 +# 1.8deg - 400 steps per mm - 1/8 - stepping - ballscrew z +step_distance: 0.0025 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +#step_distance: 0.005475 +# 1.8deg - 133.333 steps per mm - quarterstepping - 10:1 belted z +#step_distance: 0.0075 + + +#TMC Stepper Driver Settings +[tmc2209 stepper_x] +# connected to X Stepper on S6 #1 +uart_pin: PE8 +tx_pin: PE9 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PB14 #connected to X- Endstop (X Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_x1] +# connected to Y Stepper on S6 #1 +uart_pin: PE13 +tx_pin: PE14 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PB13 #connected to Y- Endstop (Y Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_y] +# connected to E0 Stepper on S6 #1 +uart_pin: PA15 +tx_pin: PD3 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PA3 #connected to Z+ Endstop (E0 Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_y1] +# connected to E1 Stepper on S6 #1 +uart_pin: PC5 +tx_pin: PC4 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PA2 #connected to Y+ Endstop (E1 Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_z] +# connected to X Stepper on S6 #2 (Front Left Stepper, from top) +uart_pin: s62:PE8 +tx_pin: s62:PE9 +microsteps: 8 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 + +[tmc2209 stepper_z1] +# connected to Y Stepper on S6 #2 (Rear Left Stepper, from top) +uart_pin: s62:PE13 +tx_pin: s62:PE14 +microsteps: 8 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 + +[tmc2209 stepper_z2] +# connected to Z Stepper on S6 #2 (Center Right Stepper, from top) +uart_pin: s62:PD12 +tx_pin: s62:PD11 +microsteps: 8 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 + +[tmc2209 extruder] +# connected to Z Stepper on S6 #1 +uart_pin: PD12 +tx_pin: PD11 +microsteps: 16 +interpolate: True +run_current: 0.35 +sense_resistor: 0.110 + + +# Force Move +# used to force a single stepper to move. not used once setup +[force_move] +enable_force_move: true + +# Enable Pause/Resume Functionality +[pause_resume] + +# Filament Switch Sensor. +# support for filament insert and runout detection using a switch sensor, such as an endstop switch. +[filament_switch_sensor my_sensor] +pause_on_runout: True +runout_gcode: + M117 Runout Detected + M600 + M400 +event_delay: 3.0 +pause_delay: 0.5 +# connected to Z- Endstop on S6 #1 +switch_pin: !PA0 + + +# Probe +[probe] +# connected to Z- Endstop on S6 #2 +pin: ^!s62:PA0 +x_offset: -16.8 # offset for microswitch x direction off nozzle +y_offset: 16.8 # offset for microswitch y direction off nozzle +z_offset: 11.00 # offset for microswitch in z height +samples: 3 +sample_retract_dist: 10.0 +samples_result: average +samples_tolerance: 0.050 +samples_tolerance_retries: 3 +speed: 20 +lift_speed: 30 +activate_gcode: +deactivate_gcode: + +# Safe Z Home +# this allows you to home only z when the XY is already homed +[safe_z_home] +home_xy_position: 0.5,34.5 +speed: 200.00 +z_hop: 20.0 +z_hop_speed: 20.0 +move_to_previous: False + +# Extruder0 +[extruder] +# conected to Z Stepper on S6 #1 +step_pin: PD14 +dir_pin: PD13 +enable_pin: !PD15 +# 1.8deg - 780 steps per mm - 1/16 microstepping (Sherpa Mini 9:50) +step_distance: 0.00128159369 + +#0.4mm Nozzle +nozzle_diameter: 0.400 +pressure_advance: 0.04665 +pressure_advance_smooth_time: 0.040 +filament_diameter: 1.750 +max_extrude_only_distance: 1400.0 +max_extrude_only_velocity: 75.0 +max_extrude_only_accel: 2000.0 +max_extrude_cross_section: 20000.0 + +# connected to Heater0 on S6 #1 +heater_pin: PB3 +max_power: 1.0 + +# connected to Thermistor0 on S6 #1 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC0 +smooth_time: 3.0 + +#0.4mm Nozzle Settings +smooth_time: 3.0 +max_power: 1.0 +control: pid +pid_Kp: 27.995 +pid_Ki: 1.403 +pid_Kd: 139.625 +min_extrude_temp: 0 +min_temp: 0 +max_temp: 325 + +[verify_heater extruder] +hysteresis: 10 +check_gain_time: 40 +heating_gain: 2 +max_error: 500 + + +# Heated Bed +[heater_bed] +# connected to Heater0 on S6 #2 +heater_pin: s62:PB3 +# NTC 100K MGB18-104F39050L32 is for Kenovo thermistors +sensor_type: NTC 100K MGB18-104F39050L32 +# connected to Thermistor0 on S6 #2 +sensor_pin: s62:PC0 +smooth_time: 3.0 + +#350mm Build Plate Settings +max_power: 0.60 +control: pid +pid_Kp: 42.475 +pid_Ki: 1.395 +pid_Kd: 323.339 + +min_temp: 0 +max_temp: 130 + +[verify_heater heater_bed] +hysteresis: 2.5 +check_gain_time: 240 + + +# Fans +# thermally controlled hotend fan +[heater_fan my_nozzle_fan] +# connected to Fan0 on S6 #1 - 12v Fan +pin: PB0 +max_power: 1.0 +kick_start_time: 0.500 +heater: extruder +heater_temp: 75.0 +fan_speed: 1.00 + +# print cooling fan +[fan] +# connected to Fan1 on S6 #1 - 12v Fan +pin: PB1 +max_power: 1.0 +kick_start_time: 0.500 + +# thermally controlled electronics bay fan +[heater_fan electronics_fan_1] +# connected to Fan0 on S6 #2 - 24v Fan +pin: s62:PB0 +max_power: 1.0 +kick_start_time: 0.500 +heater: extruder +heater_temp: 75.0 +fan_speed: 1.00 + +# thermally controlled electronics bay fan +[heater_fan electronics_fan_2] +# connected to Fan1 on S6 #2 - 24v Fan +pin: s62:PB1 +max_power: 1.0 +kick_start_time: 0.500 +heater: extruder +heater_temp: 75.0 +fan_speed: 1.00 + + +# Chamber Lighting +[output_pin chamber_lighting] +# connected to Heater1 on S6 #2 +pin: s62:PB4 +value: 0 +shutdown_value: 0 + +# Chamber Temperature +#[temperature_sensor chamber_temp] +#sensor_type: NTC 100K beta 3950 +# connected to Thermistor3 on Duex +#sensor_pin: PC29 +#gcode_id: C + + +# Mesh Bed Settings +[bed_mesh] +speed: 300 +horizontal_move_z: 20 +mesh_min: 25,25 +mesh_max: 325,325 +probe_count: 5,5 +fade_start: 1 +fade_end: 0 +split_delta_z: .010 +move_check_distance: 5.0 +mesh_pps: 2,2 +algorithm: bicubic +bicubic_tension: 0.10 +relative_reference_index: 12 # ^^^because were measuring the offset from the nozzle switch to the bed using the center of the bed, the equation to find the location = (probe point count)/2-1 + +# Z Tilt Bed Adjustment settings +[z_tilt] +z_positions: -121.65,-33.65 + -121.65,436.35 + 478.35,196.35 +points: 80,50 + 80,300 + 270,175 +speed: 300 +horizontal_move_z: 20.0 +retries: 8 +retry_tolerance: 0.020 + + +# Fysetc Mini 12864Panel v2.1 (with neopixel backlight leds) Configuration +[display] +lcd_type: uc1701 +cs_pin: s62:PC11 +a0_pin: s62:PD2 +rst_pin: s62:PC10 +contrast: 63 +encoder_pins: ^s62:PC7, ^s62:PC6 +click_pin: ^!s62:PA8 +spi_software_miso_pin: s62:PA6 +spi_software_mosi_pin: s62:PA7 +spi_software_sclk_pin: s62:PA5 + +[output_pin beeper] +pin: s62:PC9 + +[neopixel fysetc_mini12864] +pin: s62:PC12 +chain_count: 3 +color_order: RGB +initial_RED: 0 +initial_GREEN: 0.4 +initial_BLUE: 0 + + +# Motor and Heater Idle Timeout +[idle_timeout] +gcode: + #blank so it does nothing to the heaters or motors +timeout: 60 + + +# Macros +# macro to level the gantry. use G32 in the terminal to call +[gcode_macro g32] +gcode: + G28 Z + M401 + BED_MESH_CLEAR + M107 + Z_TILT_ADJUST + G28 Z + M402 + +# macro to level bed to the gantry +[gcode_macro square_bed_to_machine] +gcode: + G32 + +# mesh bed level the machine +[gcode_macro mesh_bed_level_machine] +gcode: + M401 + BED_MESH_CALIBRATE ;Run Bed Mesh + M402 + +# combined print start gcode macro that takes into account temperature from the slicer +[gcode_macro print_start] +default_parameter_EXTRUDER: 260 +default_parameter_BED: 110 +gcode: + print_start_1 ;print start macro 1 + M140 S{BED} ;set bed temperature and wait + M109 S{EXTRUDER} ;set hotend temperature and wait + M190 S{BED} ;set bed temperature and do not wait + print_start_2 ;print start macro 2 + prime_line_regular ;draw prime line in corner of bed + +# combined print start gcode macro that takes into account temperature from the slicer +[gcode_macro print_start_kiss] +default_parameter_EXTRUDER: 260 +default_parameter_BED: 110 +gcode: + print_start_1 ;print start macro 1 + M140 S{BED} ;set bed temperature and wait + M109 S{EXTRUDER} ;set hotend temperature and wait + M190 S{BED} ;set bed temperature and do not wait + print_start_2 ;print start macro 2 + prime_line_kiss ;draw prime line in corner of bed + +[gcode_macro print_start_1] +gcode: + M104 S0 #cancel set temp + M107 #turn cooling fans off + G21 # set units to mm + G90 # use absolute coordinates + T0 # select tool 0 + M83 # use relative extrusion + G92 E0.0 # reset e count + M220 S100 # reset speed multiplier + nozzle_brush_location #move to nozzle scrubber bucket + +[gcode_macro print_start_2] +gcode: + nozzle_clean #clean nozzle + G28 Z #home machine hot + +[gcode_macro prime_line_regular] +gcode: + G1 Z20 F6000 + G1 X20 Y5 F12000 + G1 Z0.5 + G1 X65 E20 F100 + G1 X75 E5 F100 + G92 E0.0 ;set extruder to Zero + +[gcode_macro prime_line_kiss] +gcode: + G1 Z20 F6000 + G1 X20 Y5 F12000 + G1 Z0.5 + G1 X65 E20 F100 + G1 X75 E5 F100 + G1 E-0.3 F1800 + G1 X85 Y60 Z4 F3000 + G92 E0.0 ;set extruder to Zero + +# Use print_end for you slicer ending script +[gcode_macro print_end] +gcode: + G91 #relative positioning + G0 E-4.0 F4800 #retract 5mm of filament + G0 Z+1.00 X-2 Y-2 F20000 #short quick move to disengage from print + G0 Z+10.00 F20000 #move Z-Axis 10mm away from part + + G90 #absolute positioning + G0 X30 Y30 #move gantry close to xy max + G91 #relative positioning + G0 E10 F1800 #extrude filament to get better blob on end + G0 E-4.00 F1200 #retract additional filament to move out of melt zone + + G90 #absolute positioning + M104 S0 #turn off hotend + #M140 S0 #turn off heatbed + M106 S0 #shut off part cooling fans + G1 Z130 F600 #move bed down to z=130mm + #M84 #turn off motors + clear_pause #clear pause state encase it was enabled + +# Macro to execute when pausing printer +[gcode_macro print_pause] +gcode: + PAUSE #issue pause command + M83 #relative extruder moves + G1 E-5 F3600 #retract 5mm of filament + G91 #relative positioning + G1 Z10 F3000 #lift Z by 10mm + G90 #absolute positioning + +# Macro to execute when resuming printer +[gcode_macro print_resume] +gcode: + M83 #relative extruder moves + G1 E5 F3600 #extrude 5mm of filament + G91 #relative positioning + G1 Z-10 F3000 #lower Z by 10mm + G90 #absolute positioning + RESUME #move toolhead back to pause position + +# Notify when ABS Timer is complete +[delayed_gcode notify_chamber] +initial_duration: 0 +gcode: + {gcode.action_respond_info("action:prompt_begin Chamber Preheated")} + {action_respond_info("action:prompt_choice OK")} + {action_respond_info("action:prompt_show")} + +# Set Temps for chamber warmup when printing with abs +[gcode_macro abs_warmup_temp] +default_parameter_TEMP: 110 +gcode: + G28 #home machine + G0 X175 Y50 Z50 F3000 #move to center of bed + M106 S255 #turn part cooling fan on to blow heat around chamber + M190 S{TEMP} #set bed temperature and wait + UPDATE_DELAYED_GCODE ID=notify_chamber DURATION=1200 + +# Notify when filament is unloaded and ready to reload +[delayed_gcode notify_extruder_reload] +initial_duration: 0 +gcode: + {action_respond_info("action:prompt_begin Ready to Load Filament")} + {action_respond_info("action:prompt_choice OK")} + {action_respond_info("action:prompt_show")} + +# Macro to Load Filament +[gcode_macro load_filament] +default_parameter_EXTRUDER: 260 +gcode: + turn_fans_off #turn part cooling fans off + G0 X340 Y10 #move to area where can easily load filament + M109 S{EXTRUDER} #set hotend temperature and wait + M83 #relative positioning on extruder + G0 E120 F600 #prime extruder + M109 S0 #turn off extruder + UPDATE_DELAYED_GCODE ID=notify_extruder_load DURATION=10 + +# Notify when filament is loaded +[delayed_gcode notify_extruder_load] +initial_duration: 0 +gcode: + {action_respond_info("action:prompt_begin FIlament is Loaded")} + {action_respond_info("action:prompt_choice OK")} + {action_respond_info("action:prompt_show")} + +# Macro to Unload Filament +[gcode_macro unload_filament] +default_parameter_EXTRUDER: 260 +gcode: + turn_fans_off #turn part cooling fans off + G0 X340 Y10 F6000 #move to area where can easily load filament + M109 S{EXTRUDER} #set hotend temperature and wait + M83 #relative positioning on extruder + G0 E15 F1800 #extrude filament to get better blob on end + G0 E-600 F1800 #retract additional filament to move out of melt zone + UPDATE_DELAYED_GCODE ID=notify_extruder_reload DURATION=10 + +# Scrubs the nozzle on the brass brush located in the build chamber +[gcode_macro nozzle_clean] +gcode: + SAVE_GCODE_STATE NAME=clean_nozzle_state #store current nozzle location + nozzle_brush_location #move to nozzle brush + G91 #relative positioning + G0 Z-27 F3000 #move nozzle to end of brush and into bristles + {% for n in range(6) %} + nozzle_clean_path #run macro for nozzle clean + {% endfor %} + G0 Z25 F3000 #move nozzle out of bristles + G90 + RESTORE_GCODE_STATE NAME=clean_nozzle_state MOVE=1 #restore current nozzle location + +# Path that the nozzle cleaning macro will follow to clean nozzle (must be in relative coordinate gcode) +[gcode_macro nozzle_clean_path] +gcode: + G0 Y+60 F12000 #scrub + G0 Y-60 F12000 #scrub + +# Where to start the nozzle brush cleaning pattern +[gcode_macro nozzle_brush_location] +gcode: + G0 X0 Y69 Z25.0 F18000 #move to nozzle scrubber + +# Home switch location +[gcode_macro home_switch_location] +gcode: + G0 X0.5 Y34.5 F18000 #microswitch location + +# Macro for M600 - filament out pause resume +[gcode_macro M600] +default_parameter_X: 10 +default_parameter_Y: 10 +default_parameter_Z: 10 +gcode: + {% if printer.toolhead.status == "Ready" %} + # do nothing + {% else %} + M117 Filament Change + SAVE_GCODE_STATE NAME=M600_state + PAUSE + G91 + G1 E-5 F4000 + G1 Z{Z} + G90 + G1 X{X} Y{Y} F3000 + G0 E15 F1800 #extrude filament to get better blob on end + G0 E-500 F4800 #retract additional filament to move out of melt zone + RESTORE_GCODE_STATE NAME=M600_state + {% endif %} + +# Use this command to load filament during a mid print filament swap +[gcode_macro SWAP_RESUME] +gcode: + M117 Printing... + LOAD_FILAMENT + RESUME + +# Macro to Deploy Mesh Bed Leveling Probe +[gcode_macro M401] +gcode: + G90 ;absolute position + G1 Z20 F1800 ;drop Z to Z20 + G1 X1.0 Y305 F18000 ;move toolhead to above probe dock + G1 Z3.0 F600 ;lower z axis ontop of probe + G1 Y350 F2000 ;remove probe from dock + G1 Z20 F1800 ;drop Z to Z20 + G1 X175 Y50 F18000 ;move toolhead to front center of bed + + +# Macro to Stow Mesh Bed Leveling Probe +[gcode_macro M402] +gcode: + G90 ;absolute position + G1 Z20 F1800 ;drop Z to Z20 + G1 X1.0 Y350 F18000 ;move toolhead near entrance of probe dock + G1 Z3.0 F1200 ;lower z axis to match height of entrance to probe dock + G1 Y305 F2000 ;insert probe into dock + G1 Y220 F6000 ;disconnect probe from toolhead by shear force + G1 Z20 F1800 ;drop Z to Z20 + G1 X175 Y50 F18000 ;move toolhead to front center of bed + +# Macro to Turn Fans Off +[gcode_macro turn_fans_off] +gcode: + M107 + +# Redefine M204 gcode to properly accel_to_decel when called instead of keeping default through the print +[gcode_macro M204] +rename_existing: M204.1 +gcode: + + {% if 'P' in params %}{% set accel = params.P %}{% endif %} + {% if 'S' in params %}{% set accel = params.S %}{% endif %} + {% if 'T' in params %}{% set accel = params.T %}{% endif %} + + SET_VELOCITY_LIMIT ACCEL={ accel } ACCEL_TO_DECEL={ accel|float / 2.0} + +# Macro to Babystep Up 0.01mm +[gcode_macro babystep_up3] +gcode: + SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1 + +# Macro to Babystep Down 0.01mm +[gcode_macro babystep_down3] +gcode: + SET_GCODE_OFFSET Z_ADJUST=-0.01 MOVE=1 + +# Macro to Babystep Up 0.02mm +[gcode_macro babystep_up] +gcode: + SET_GCODE_OFFSET Z_ADJUST=0.02 MOVE=1 + +# Macro to Babystep Down 0.02mm +[gcode_macro babystep_down] +gcode: + SET_GCODE_OFFSET Z_ADJUST=-0.02 MOVE=1 + +# Macro to Babystep Up 0.05mm +[gcode_macro babystep_up2] +gcode: + SET_GCODE_OFFSET Z_ADJUST=0.05 MOVE=1 + +# Macro to Babystep Down 0.05mm +[gcode_macro babystep_down2] +gcode: + SET_GCODE_OFFSET Z_ADJUST=-0.05 MOVE=1 + +# Macro to Turn Chamber Lighting Off +[gcode_macro chamber_lighting_off] +gcode: + SET_PIN PIN=chamber_lighting VALUE=0 + +# Macro to Turn Chamber Lighting On +[gcode_macro chamber_lighting_on] +gcode: + SET_PIN PIN=chamber_lighting VALUE=1 \ No newline at end of file diff --git a/Release_2_Beta/Klipper_Config/User_Configs/k2_config_release2xy_beltedz.cfg b/Release_2_Beta/Klipper_Config/User_Configs/k2_config_release2xy_beltedz.cfg new file mode 100644 index 0000000..2ae70ee --- /dev/null +++ b/Release_2_Beta/Klipper_Config/User_Configs/k2_config_release2xy_beltedz.cfg @@ -0,0 +1,903 @@ +# This file has been created by "Feb" for the K2 Printer running 2x Fysetc S6s, board version 1.2, running TMC2209s +# XY Gantry = Release 2, Z Axis = 1204 Ballscrews +# Please change settings for your specific build or ensure you place your items in the same spots on the same MCU as I have. +# I've added as many options as I can think of for different displays as well as listed the available commands you can use via the terminal at the bottom of this configuration file. + +#How do I upgrade to the latest software? +#The general way to upgrade is to ssh into the Raspberry Pi and run: +#cd ~/klipper +#git pull +#~/klipper/scripts/install-octopi.sh + +# Then one can recompile and flash the micro-controller code. For example: +#make menuconfig +#make clean +#make +#sudo service klipper stop +#make flash FLASH_DEVICE=vid:pid (where "vid:pid" is the device ID found using "lsusb") +#sudo service klipper start + +# Obtaining your USB ID to flash with: +# disconnect all of the boards except the one you would like to flash +# type the "lsusb" command into the terminal +# note the USB ID (ex: "1d50:614e", vid and pid are each a 4 digit hex string) +# use the command above "make flash ...." + +# This file contains common pin mappings for the Fysetc S6 board, version 1.2. +# To use this config, the firmware should be compiled for the STM32F446. +# When calling "menuconfig", enable "extra low-level configuration setup" +# and select the "12MHz crystal" as clock reference +# For flashing, write the compiled klipper.bin to memory location 0x08000000 +# This address is applied automatically when you flash the board ^^^ + +#However, it's often the case that only the host software changes. In this case, one can update and restart just the host software with: +#cd ~/klipper +#git pull +#sudo service klipper restart +#If after using this shortcut the software warns about needing to reflash the micro-controller or some other unusual error occurs, then follow the full upgrade steps outlined above. Note that the RESTART and FIRMWARE_RESTART g-code commands do not load new software - the above "sudo service klipper restart" and "make flash" commands are needed for a software change to take effect. + +# use the following modifiers before the pin definition (ex: ^!ar99) +# ! invert the logic +# ^ activate 5v pullup (does not apply to all pins) +# mcu_name: use pins on additional MCU (ex: z:ar10) + + +# MCU - Fysetc S6 #1 +[mcu] +# obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_260035000851363131343032-if00 +restart_method: command + +# MCU - Fysetc S6 #2 +[mcu s62] +# obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_4E0042000151363131343032-if00 +restart_method: command + +#virtual sdcard settings +#[virtual_sdcard] +#path: ~/.octoprint/uploads/ + + +#Printer Controls +[printer] +kinematics: cartesian +max_velocity: 350 +max_accel_to_decel: 12500 +max_accel: 12500 +max_z_velocity: 50 +max_z_accel: 150 +square_corner_velocity: 5.0 + +#Gcode G2/G3 Arc Support +[gcode_arcs] +resolution: 0.1 + +#Input Shaper Settings +[input_shaper] +shaper_freq_x: 59 #(100*8)/13.5 +shaper_freq_y: 51 #(100*8)/15.75 +shaper_type: mzv + +# Steppers +[stepper_x] +# connected to X Stepper on S6 #1 +step_pin: PE11 +dir_pin: PE10 +enable_pin: !PE12 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_x:virtual_endstop +position_min: 0 +position_endstop: 0 +position_max: 360 +homing_speed: 40.0 +homing_retract_dist: 0.0 +homing_positive_dir: false + +[stepper_x1] +# connected to Y Stepper on S6 #1 +step_pin: PD8 +dir_pin: !PB12 +enable_pin: !PD9 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_x1:virtual_endstop + + +[stepper_y] +# connected to E0 Stepper on S6 #1 +step_pin: PD5 +dir_pin: PD6 +enable_pin: !PD4 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_y:virtual_endstop +position_min: 0 +position_endstop: 0 +position_max: 360 +homing_speed: 40.0 +homing_retract_dist: 0.0 +homing_positive_dir: false + +[stepper_y1] +# connected to E1 Stepper on S6 #1 +step_pin: PE6 +dir_pin: !PC13 +enable_pin: !PE5 +# 0.9deg - 160 steps per mm - 1/16 microstepping +step_distance: 0.00625 +# connected to virtual endstop +endstop_pin: tmc2209_stepper_y1:virtual_endstop + + +[stepper_z] +# connected to X Stepper on S6 #2 (Front Left Stepper, from top) +step_pin: s62:PE11 +dir_pin: !s62:PE10 +enable_pin: !s62:PE12 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +step_distance: 0.005475 +# connected to Z+ Endstop on S6 #2 +endstop_pin: ^s62:PA3 + +# offset for nozzle to bed off z switch +position_endstop: 0.095 +position_max: 325 +position_min: -3 +homing_speed: 10.0 +second_homing_speed: 3.0 +homing_retract_dist: 10.0 +homing_positive_dir: false + +[stepper_z1] +# connected to Y Stepper on S6 #2 (Rear Left Stepper, from top) +step_pin: s62:PD8 +dir_pin: !s62:PB12 +enable_pin: !s62:PD9 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +step_distance: 0.005475 + +[stepper_z2] +# connected to Z Stepper on S6 #2 (Rear Right Stepper, from top) +step_pin: s62:PD14 +dir_pin: !s62:PD13 +enable_pin: !s62:PD15 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +step_distance: 0.005475 + +[stepper_z3] +# connected to E0 Stepper on S6 #2 (Front Right Stepper, from top) +step_pin: s62:PD5 +dir_pin: !s62:PD6 +enable_pin: !s62:PD4 +# 1.8deg - 182.621 steps per mm - quarterstepping - 13.7:1 belted z +step_distance: 0.005475 + + +#TMC Stepper Driver Settings +[tmc2209 stepper_x] +# connected to X Stepper on S6 #1 +uart_pin: PE8 +tx_pin: PE9 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PB14 #connected to X- Endstop (X Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_x1] +# connected to Y Stepper on S6 #1 +uart_pin: PE13 +tx_pin: PE14 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PB13 #connected to Y- Endstop (Y Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_y] +# connected to E0 Stepper on S6 #1 +uart_pin: PA15 +tx_pin: PD3 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PA3 #connected to Z+ Endstop (E0 Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_y1] +# connected to E1 Stepper on S6 #1 +uart_pin: PC5 +tx_pin: PC4 +microsteps: 16 +#stealthchop_threshold: 9999 +interpolate: True +run_current: 1.1 +hold_current: 0.9 +sense_resistor: 0.110 +# Place a jumper on the two pin header near the endstop for sensorless homing +diag_pin: PA2 #connected to Y+ Endstop (E1 Jumper Header) +driver_SGTHRS: 130 +#TMC Driver Tuning Settings +driver_IHOLDDELAY: 8 +driver_TPOWERDOWN: 20 +driver_TBL: 2 +driver_TOFF: 3 +driver_HEND: 3 +driver_HSTRT: 2 +driver_PWM_AUTOGRAD: True +driver_PWM_AUTOSCALE: True +driver_PWM_LIM: 12 +driver_PWM_REG: 8 +driver_PWM_FREQ: 1 +driver_PWM_GRAD: 14 +driver_PWM_OFS: 36 + +[tmc2209 stepper_z] +# connected to X Stepper on S6 #2 (Front Left Stepper, from top) +uart_pin: s62:PE8 +tx_pin: s62:PE9 +microsteps: 4 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 +stealthchop_threshold: 1 + +[tmc2209 stepper_z1] +# connected to Y Stepper on S6 #2 (Rear Left Stepper, from top) +uart_pin: s62:PE13 +tx_pin: s62:PE14 +microsteps: 4 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 +stealthchop_threshold: 1 + +[tmc2209 stepper_z2] +# connected to Z Stepper on S6 #2 (Rear Right Stepper, from top) +uart_pin: s62:PD12 +tx_pin: s62:PD11 +microsteps: 4 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 +stealthchop_threshold: 1 + +[tmc2209 stepper_z3] +# connected to E0 Stepper on S6 #2 (Front Right Stepper, from top) +uart_pin: s62:PA15 +tx_pin: s62:PD3 +microsteps: 4 +interpolate: True +run_current: 1.0 +sense_resistor: 0.110 +stealthchop_threshold: 1 + +[tmc2209 extruder] +# connected to Z Stepper on S6 #1 +uart_pin: PD12 +tx_pin: PD11 +microsteps: 16 +interpolate: True +run_current: 0.35 +sense_resistor: 0.110 + + +# Force Move +# used to force a single stepper to move. not used once setup +[force_move] +enable_force_move: true + +# Enable Pause/Resume Functionality +[pause_resume] + +# Filament Switch Sensor. +# support for filament insert and runout detection using a switch sensor, such as an endstop switch. +; [filament_switch_sensor my_sensor] +; pause_on_runout: True +; runout_gcode: +; M117 Runout Detected +; M600 +; M400 +; event_delay: 3.0 +; pause_delay: 0.5 +; # connected to Z- Endstop on S6 #1 +; switch_pin: !PA0 + + +# Probe +[probe] +# connected to Z- Endstop on S6 #2 +pin: ^!s62:PA0 +x_offset: -16.8 # offset for microswitch x direction off nozzle +y_offset: 16.8 # offset for microswitch y direction off nozzle +z_offset: 11.00 # offset for microswitch in z height +samples: 1 +sample_retract_dist: 10.0 +samples_result: average +samples_tolerance: 0.050 +samples_tolerance_retries: 3 +speed: 3 +lift_speed: 30 +activate_gcode: +deactivate_gcode: + +# Safe Z Home +# this allows you to home only z when the XY is already homed +[safe_z_home] +home_xy_position: 0.5,34.5 +speed: 200.00 +z_hop: 20.0 +z_hop_speed: 20.0 +move_to_previous: False + +# Extruder0 +[extruder] +# conected to Z Stepper on S6 #1 +step_pin: PD14 +dir_pin: PD13 +enable_pin: !PD15 +# 1.8deg - 780 steps per mm - 1/16 microstepping (Sherpa Mini 9:50) +step_distance: 0.00128159369 + +#0.4mm Nozzle +nozzle_diameter: 0.400 +pressure_advance: 0.04665 +pressure_advance_smooth_time: 0.040 +filament_diameter: 1.750 +max_extrude_only_distance: 1400.0 +max_extrude_only_velocity: 75.0 +max_extrude_only_accel: 2000.0 +max_extrude_cross_section: 20000.0 + +# connected to Heater0 on S6 #1 +heater_pin: PB3 +max_power: 1.0 + +# connected to Thermistor0 on S6 #1 +sensor_type: EPCOS 100K B57560G104F +sensor_pin: PC0 +smooth_time: 3.0 + +#0.4mm Nozzle Settings +smooth_time: 3.0 +max_power: 1.0 +control: pid +pid_Kp: 27.995 +pid_Ki: 1.403 +pid_Kd: 139.625 +min_extrude_temp: 0 +min_temp: 0 +max_temp: 325 + +[verify_heater extruder] +hysteresis: 10 +check_gain_time: 40 +heating_gain: 2 +max_error: 500 + + +# Heated Bed +[heater_bed] +# connected to Heater0 on S6 #2 +heater_pin: s62:PB3 +# NTC 100K MGB18-104F39050L32 is for Kenovo thermistors +sensor_type: NTC 100K MGB18-104F39050L32 +# connected to Thermistor0 on S6 #2 +sensor_pin: s62:PC0 +smooth_time: 3.0 + +#350mm Build Plate Settings +max_power: 0.60 +control: pid +pid_Kp: 42.475 +pid_Ki: 1.395 +pid_Kd: 323.339 + +min_temp: 0 +max_temp: 130 + +[verify_heater heater_bed] +hysteresis: 2.5 +check_gain_time: 240 + + +# Fans +# thermally controlled hotend fan +[heater_fan my_nozzle_fan] +# connected to Fan0 on S6 #1 - 12v Fan +pin: PB0 +max_power: 1.0 +kick_start_time: 0.500 +heater: extruder +heater_temp: 75.0 +fan_speed: 1.00 + +# print cooling fan +[fan] +# connected to Fan1 on S6 #1 - 12v Fan +pin: PB1 +max_power: 1.0 +kick_start_time: 0.500 + +# thermally controlled electronics bay fan +[heater_fan electronics_fan_1] +# connected to Fan0 on S6 #2 - 24v Fan +pin: s62:PB0 +max_power: 1.0 +kick_start_time: 0.500 +heater: extruder +heater_temp: 75.0 +fan_speed: 1.00 + +# thermally controlled electronics bay fan +[heater_fan electronics_fan_2] +# connected to Fan1 on S6 #2 - 24v Fan +pin: s62:PB1 +max_power: 1.0 +kick_start_time: 0.500 +heater: extruder +heater_temp: 75.0 +fan_speed: 1.00 + + +# Chamber Lighting +[output_pin chamber_lighting] +# connected to Heater1 on S6 #2 +pin: s62:PB4 +value: 0 +shutdown_value: 0 + +# Chamber Temperature +#[temperature_sensor chamber_temp] +#sensor_type: NTC 100K beta 3950 +# connected to Thermistor3 on Duex +#sensor_pin: PC29 +#gcode_id: C + + +# Mesh Bed Settings +[bed_mesh] +speed: 300 +horizontal_move_z: 20 +mesh_min: 25,25 +mesh_max: 325,325 +probe_count: 9,9 +fade_start: 1 +fade_end: 0 +split_delta_z: .010 +move_check_distance: 5.0 +mesh_pps: 2,2 +algorithm: bicubic +bicubic_tension: 0.10 +relative_reference_index: 40 # ^^^because were measuring the offset from the nozzle switch to the bed using the center of the bed, the equation to find the location = (probe point count)/2-1 + +# Z Tilt Bed Adjustment settings +[z_tilt] +z_positions: -121.65,-33.65 + -121.65,436.35 + 478.35,436.35 + 478.35,-33.65 +points: 50,30 + 50,300 + 320,300 + 320,30 +speed: 300 +horizontal_move_z: 20.0 +retries: 8 +retry_tolerance: 0.03 + + +# Fysetc Mini 12864Panel v2.1 (with neopixel backlight leds) Configuration +[display] +lcd_type: uc1701 +cs_pin: s62:PC11 +a0_pin: s62:PD2 +rst_pin: s62:PC10 +contrast: 63 +encoder_pins: ^s62:PC7, ^s62:PC6 +click_pin: ^!s62:PA8 +spi_software_miso_pin: s62:PA6 +spi_software_mosi_pin: s62:PA7 +spi_software_sclk_pin: s62:PA5 + +[output_pin beeper] +pin: s62:PC9 + +[neopixel fysetc_mini12864] +pin: s62:PC12 +chain_count: 3 +color_order: RGB +initial_RED: 0 +initial_GREEN: 0.4 +initial_BLUE: 0 + + +# Motor and Heater Idle Timeout +[idle_timeout] +gcode: + #blank so it does nothing to the heaters or motors +timeout: 60 + + +# Macros +# macro to level the gantry. use G32 in the terminal to call +[gcode_macro g32] +gcode: + G28 Z + M401 + BED_MESH_CLEAR + M107 + Z_TILT_ADJUST + G28 Z + M402 + +# macro to level bed to the gantry +[gcode_macro square_bed_to_machine] +gcode: + G32 + +# mesh bed level the machine +[gcode_macro mesh_bed_level_machine] +gcode: + M401 + BED_MESH_CALIBRATE ;Run Bed Mesh + M402 + +# combined print start gcode macro that takes into account temperature from the slicer +[gcode_macro print_start] +default_parameter_EXTRUDER: 260 +default_parameter_BED: 110 +gcode: + print_start_1 ;print start macro 1 + M140 S{BED} ;set bed temperature and wait + M109 S{EXTRUDER} ;set hotend temperature and wait + M190 S{BED} ;set bed temperature and do not wait + print_start_2 ;print start macro 2 + prime_line_regular ;draw prime line in corner of bed + +# combined print start gcode macro that takes into account temperature from the slicer +[gcode_macro print_start_kiss] +default_parameter_EXTRUDER: 260 +default_parameter_BED: 110 +gcode: + print_start_1 ;print start macro 1 + M140 S{BED} ;set bed temperature and wait + M109 S{EXTRUDER} ;set hotend temperature and wait + M190 S{BED} ;set bed temperature and do not wait + print_start_2 ;print start macro 2 + prime_line_kiss ;draw prime line in corner of bed + +[gcode_macro print_start_1] +gcode: + M104 S0 #cancel set temp + M107 #turn cooling fans off + G21 # set units to mm + G90 # use absolute coordinates + T0 # select tool 0 + M83 # use relative extrusion + G92 E0.0 # reset e count + M220 S100 # reset speed multiplier + nozzle_brush_location #move to nozzle scrubber bucket + +[gcode_macro print_start_2] +gcode: + nozzle_clean #clean nozzle + G28 Z #home machine hot + +[gcode_macro prime_line_regular] +gcode: + G1 Z20 F6000 + G1 X20 Y5 F12000 + G1 Z0.5 + G1 X65 E20 F100 + G1 X75 E5 F100 + G92 E0.0 ;set extruder to Zero + +[gcode_macro prime_line_kiss] +gcode: + G1 Z20 F6000 + G1 X20 Y5 F12000 + G1 Z0.5 + G1 X65 E20 F100 + G1 X75 E5 F100 + G1 E-0.3 F1800 + G1 X85 Y60 Z4 F3000 + G92 E0.0 ;set extruder to Zero + +# Use print_end for you slicer ending script +[gcode_macro print_end] +gcode: + G91 #relative positioning + G0 E-4.0 F4800 #retract 5mm of filament + G0 Z+1.00 X-2 Y-2 F20000 #short quick move to disengage from print + G0 Z+10.00 F20000 #move Z-Axis 10mm away from part + + G90 #absolute positioning + G0 X30 Y30 #move gantry close to xy max + G91 #relative positioning + G0 E10 F1800 #extrude filament to get better blob on end + G0 E-4.00 F1200 #retract additional filament to move out of melt zone + + G90 #absolute positioning + M104 S0 #turn off hotend + #M140 S0 #turn off heatbed + M106 S0 #shut off part cooling fans + G1 Z130 F600 #move bed down to z=130mm + #M84 #turn off motors + clear_pause #clear pause state encase it was enabled + +# Macro to execute when pausing printer +[gcode_macro print_pause] +gcode: + PAUSE #issue pause command + M83 #relative extruder moves + G1 E-5 F3600 #retract 5mm of filament + G91 #relative positioning + G1 Z10 F3000 #lift Z by 10mm + G90 #absolute positioning + +# Macro to execute when resuming printer +[gcode_macro print_resume] +gcode: + M83 #relative extruder moves + G1 E5 F3600 #extrude 5mm of filament + G91 #relative positioning + G1 Z-10 F3000 #lower Z by 10mm + G90 #absolute positioning + RESUME #move toolhead back to pause position + +# Notify when ABS Timer is complete +[delayed_gcode notify_chamber] +initial_duration: 0 +gcode: + {gcode.action_respond_info("action:prompt_begin Chamber Preheated")} + {action_respond_info("action:prompt_choice OK")} + {action_respond_info("action:prompt_show")} + +# Set Temps for chamber warmup when printing with abs +[gcode_macro abs_warmup_temp] +default_parameter_TEMP: 110 +gcode: + G28 #home machine + G0 X175 Y50 Z50 F3000 #move to center of bed + M106 S255 #turn part cooling fan on to blow heat around chamber + M190 S{TEMP} #set bed temperature and wait + UPDATE_DELAYED_GCODE ID=notify_chamber DURATION=1200 + +# Notify when filament is unloaded and ready to reload +[delayed_gcode notify_extruder_reload] +initial_duration: 0 +gcode: + {action_respond_info("action:prompt_begin Ready to Load Filament")} + {action_respond_info("action:prompt_choice OK")} + {action_respond_info("action:prompt_show")} + +# Macro to Load Filament +[gcode_macro load_filament] +default_parameter_EXTRUDER: 260 +gcode: + turn_fans_off #turn part cooling fans off + G0 X340 Y10 #move to area where can easily load filament + M109 S{EXTRUDER} #set hotend temperature and wait + M83 #relative positioning on extruder + G0 E120 F600 #prime extruder + M109 S0 #turn off extruder + UPDATE_DELAYED_GCODE ID=notify_extruder_load DURATION=10 + +# Notify when filament is loaded +[delayed_gcode notify_extruder_load] +initial_duration: 0 +gcode: + {action_respond_info("action:prompt_begin FIlament is Loaded")} + {action_respond_info("action:prompt_choice OK")} + {action_respond_info("action:prompt_show")} + +# Macro to Unload Filament +[gcode_macro unload_filament] +default_parameter_EXTRUDER: 260 +gcode: + turn_fans_off #turn part cooling fans off + G0 X340 Y10 F6000 #move to area where can easily load filament + M109 S{EXTRUDER} #set hotend temperature and wait + M83 #relative positioning on extruder + G0 E15 F1800 #extrude filament to get better blob on end + G0 E-600 F1800 #retract additional filament to move out of melt zone + UPDATE_DELAYED_GCODE ID=notify_extruder_reload DURATION=10 + +# Scrubs the nozzle on the brass brush located in the build chamber +[gcode_macro nozzle_clean] +gcode: + SAVE_GCODE_STATE NAME=clean_nozzle_state #store current nozzle location + nozzle_brush_location #move to nozzle brush + G91 #relative positioning + G0 Z-27 F3000 #move nozzle to end of brush and into bristles + {% for n in range(6) %} + nozzle_clean_path #run macro for nozzle clean + {% endfor %} + G0 Z25 F3000 #move nozzle out of bristles + G90 + RESTORE_GCODE_STATE NAME=clean_nozzle_state MOVE=1 #restore current nozzle location + +# Path that the nozzle cleaning macro will follow to clean nozzle (must be in relative coordinate gcode) +[gcode_macro nozzle_clean_path] +gcode: + G0 Y+60 F12000 #scrub + G0 Y-60 F12000 #scrub + +# Where to start the nozzle brush cleaning pattern +[gcode_macro nozzle_brush_location] +gcode: + G0 X0 Y69 Z25.0 F18000 #move to nozzle scrubber + +# Home switch location +[gcode_macro home_switch_location] +gcode: + G0 X0.5 Y34.5 F18000 #microswitch location + +# Macro for M600 - filament out pause resume +[gcode_macro M600] +default_parameter_X: 10 +default_parameter_Y: 10 +default_parameter_Z: 10 +gcode: + {% if printer.toolhead.status == "Ready" %} + # do nothing + {% else %} + M117 Filament Change + SAVE_GCODE_STATE NAME=M600_state + PAUSE + G91 + G1 E-5 F4000 + G1 Z{Z} + G90 + G1 X{X} Y{Y} F3000 + G0 E15 F1800 #extrude filament to get better blob on end + G0 E-500 F4800 #retract additional filament to move out of melt zone + RESTORE_GCODE_STATE NAME=M600_state + {% endif %} + +# Use this command to load filament during a mid print filament swap +[gcode_macro SWAP_RESUME] +gcode: + M117 Printing... + LOAD_FILAMENT + RESUME + +# Macro to Deploy Mesh Bed Leveling Probe +[gcode_macro M401] +gcode: + G90 ;absolute position + G1 Z20 F1800 ;drop Z to Z20 + G1 X1.0 Y305 F18000 ;move toolhead to above probe dock + G1 Z3.0 F600 ;lower z axis ontop of probe + G1 Y350 F2000 ;remove probe from dock + G1 Z20 F1800 ;drop Z to Z20 + G1 X175 Y50 F18000 ;move toolhead to front center of bed + + +# Macro to Stow Mesh Bed Leveling Probe +[gcode_macro M402] +gcode: + G90 ;absolute position + G1 Z20 F1800 ;drop Z to Z20 + G1 X1.0 Y350 F18000 ;move toolhead near entrance of probe dock + G1 Z3.0 F1200 ;lower z axis to match height of entrance to probe dock + G1 Y305 F2000 ;insert probe into dock + G1 Y220 F6000 ;disconnect probe from toolhead by shear force + G1 Z20 F1800 ;drop Z to Z20 + G1 X175 Y50 F18000 ;move toolhead to front center of bed + +# Macro to Turn Fans Off +[gcode_macro turn_fans_off] +gcode: + M107 + +# Redefine M204 gcode to properly accel_to_decel when called instead of keeping default through the print +[gcode_macro M204] +rename_existing: M204.1 +gcode: + + {% if 'P' in params %}{% set accel = params.P %}{% endif %} + {% if 'S' in params %}{% set accel = params.S %}{% endif %} + {% if 'T' in params %}{% set accel = params.T %}{% endif %} + + SET_VELOCITY_LIMIT ACCEL={ accel } ACCEL_TO_DECEL={ accel|float / 2.0} + +# Macro to Babystep Up 0.01mm +[gcode_macro babystep_up3] +gcode: + SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1 + +# Macro to Babystep Down 0.01mm +[gcode_macro babystep_down3] +gcode: + SET_GCODE_OFFSET Z_ADJUST=-0.01 MOVE=1 + +# Macro to Babystep Up 0.02mm +[gcode_macro babystep_up] +gcode: + SET_GCODE_OFFSET Z_ADJUST=0.02 MOVE=1 + +# Macro to Babystep Down 0.02mm +[gcode_macro babystep_down] +gcode: + SET_GCODE_OFFSET Z_ADJUST=-0.02 MOVE=1 + +# Macro to Babystep Up 0.05mm +[gcode_macro babystep_up2] +gcode: + SET_GCODE_OFFSET Z_ADJUST=0.05 MOVE=1 + +# Macro to Babystep Down 0.05mm +[gcode_macro babystep_down2] +gcode: + SET_GCODE_OFFSET Z_ADJUST=-0.05 MOVE=1 + +# Macro to Turn Chamber Lighting Off +[gcode_macro chamber_lighting_off] +gcode: + SET_PIN PIN=chamber_lighting VALUE=0 + +# Macro to Turn Chamber Lighting On +[gcode_macro chamber_lighting_on] +gcode: + SET_PIN PIN=chamber_lighting VALUE=1 \ No newline at end of file diff --git a/Release_2_Beta/README.md b/Release_2_Beta/README.md new file mode 100644 index 0000000..4a15a1a --- /dev/null +++ b/Release_2_Beta/README.md @@ -0,0 +1,9 @@ +# K1 and K2 - Release 2 - Alpha + +These files are provided with only discord support, the bills of material, etc are not updated to be used. Please use these at your own risk. + + ![Image of Toolhead](Images/k2_toolhead_r2_02_transp.png?raw=true) + + ![Image of Toolhead 2](Images/k2_toolhead_r2_03_transp.png?raw=true) + + ![Image of Toolhead 3](Images/k2_toolhead_r2_04_transp.png?raw=true) \ No newline at end of file diff --git a/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12_xy_cross_shortening_jig_x1_rev1.STL b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12_xy_cross_shortening_jig_x1_rev1.STL new file mode 100644 index 0000000..fe4bd53 Binary files /dev/null and b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12_xy_cross_shortening_jig_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12c_drilling_jig_x1_rev2.STL b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12c_drilling_jig_x1_rev2.STL new file mode 100644 index 0000000..b30a2b2 Binary files /dev/null and b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12c_drilling_jig_x1_rev2.STL differ diff --git a/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12c_rail_alignment_tool_x2_rev1.STL b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12c_rail_alignment_tool_x2_rev1.STL new file mode 100644 index 0000000..c503f83 Binary files /dev/null and b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn12c_rail_alignment_tool_x2_rev1.STL differ diff --git a/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn9h_drilling_jig_x1_rev1.STL b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn9h_drilling_jig_x1_rev1.STL new file mode 100644 index 0000000..150f2ab Binary files /dev/null and b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_1515_mgn9h_drilling_jig_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_mosquito_dd_bowden_cutting_tool_x1_rev1.STL b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_mosquito_dd_bowden_cutting_tool_x1_rev1.STL new file mode 100644 index 0000000..fae48a7 Binary files /dev/null and b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_mosquito_dd_bowden_cutting_tool_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_xy_drive_pulley_height_jig_x1_rev1.STL b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_xy_drive_pulley_height_jig_x1_rev1.STL new file mode 100644 index 0000000..20559e2 Binary files /dev/null and b/Release_2_Beta/STLs/Jigs_and_Fixtures/[a]_xy_drive_pulley_height_jig_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/Mesh_Bed_Probe/[a]_piton_probe_cap_6x3_x1_rev2.STL b/Release_2_Beta/STLs/Mesh_Bed_Probe/[a]_piton_probe_cap_6x3_x1_rev2.STL new file mode 100644 index 0000000..0b98e3e Binary files /dev/null and b/Release_2_Beta/STLs/Mesh_Bed_Probe/[a]_piton_probe_cap_6x3_x1_rev2.STL differ diff --git a/Release_2_Beta/STLs/Mesh_Bed_Probe/[a]_piton_probe_plate_6x3_x1_rev3.STL b/Release_2_Beta/STLs/Mesh_Bed_Probe/[a]_piton_probe_plate_6x3_x1_rev3.STL new file mode 100644 index 0000000..31f5bbe Binary files /dev/null and b/Release_2_Beta/STLs/Mesh_Bed_Probe/[a]_piton_probe_plate_6x3_x1_rev3.STL differ diff --git a/Release_2_Beta/STLs/Mesh_Bed_Probe/piton_magnetic_probe_dock_6x3_x1_rev3.STL b/Release_2_Beta/STLs/Mesh_Bed_Probe/piton_magnetic_probe_dock_6x3_x1_rev3.STL new file mode 100644 index 0000000..6aefea5 Binary files /dev/null and b/Release_2_Beta/STLs/Mesh_Bed_Probe/piton_magnetic_probe_dock_6x3_x1_rev3.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_carabiner_mounting_bracket_x1_rev1.STL b/Release_2_Beta/STLs/XY_Carriage/[a]_carabiner_mounting_bracket_x1_rev1.STL new file mode 100644 index 0000000..b81336d Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_carabiner_mounting_bracket_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_dragon_tool_mount_x1_rev4.STL b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_dragon_tool_mount_x1_rev4.STL new file mode 100644 index 0000000..0aeca80 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_dragon_tool_mount_x1_rev4.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_duct_1_x1_rev3.STL b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_duct_1_x1_rev3.STL new file mode 100644 index 0000000..aee8666 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_duct_1_x1_rev3.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_duct_2_x1_rev3.STL b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_duct_2_x1_rev3.STL new file mode 100644 index 0000000..45bf85f Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_duct_2_x1_rev3.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_mount_1_x1_rev1.STL b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_mount_1_x1_rev1.STL new file mode 100644 index 0000000..4f6cc92 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_mount_1_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_mount_2_x1_rev1.stl b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_mount_2_x1_rev1.stl new file mode 100644 index 0000000..85c9764 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_fan_mount_2_x1_rev1.stl differ diff --git a/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_mosquito_tool_mount_x1_rev4.STL b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_mosquito_tool_mount_x1_rev4.STL new file mode 100644 index 0000000..e5c18fb Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/[a]_xy_carriage_mosquito_tool_mount_x1_rev4.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_magswitch_probe_x1_rev5.STL b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_magswitch_probe_x1_rev5.STL new file mode 100644 index 0000000..b2418fe Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_magswitch_probe_x1_rev5.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_piton_probe_6x3_1_x1_rev6.STL b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_piton_probe_6x3_1_x1_rev6.STL new file mode 100644 index 0000000..0da415e Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_piton_probe_6x3_1_x1_rev6.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_piton_probe_6x3_2_x1_rev3.STL b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_piton_probe_6x3_2_x1_rev3.STL new file mode 100644 index 0000000..2a3ad94 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_bottom_frame_piton_probe_6x3_2_x1_rev3.STL differ diff --git a/Release_2_Beta/STLs/XY_Carriage/xy_carriage_main_frame_x1_rev8.STL b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_main_frame_x1_rev8.STL new file mode 100644 index 0000000..8b38770 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Carriage/xy_carriage_main_frame_x1_rev8.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/[a]_xy_mgn12c_top_cap_x4_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/[a]_xy_mgn12c_top_cap_x4_rev2.STL new file mode 100644 index 0000000..20d217f Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/[a]_xy_mgn12c_top_cap_x4_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_1515_holder_12mm_belts_x4_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_1515_holder_12mm_belts_x4_rev2.STL new file mode 100644 index 0000000..862d907 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_1515_holder_12mm_belts_x4_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_tensioner_left_20t_drive_12mm_belts_x4_rev1.STL b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_tensioner_left_20t_drive_12mm_belts_x4_rev1.STL new file mode 100644 index 0000000..8598dc2 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_tensioner_left_20t_drive_12mm_belts_x4_rev1.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_tensioner_right_20t_drive_12mm_belts_x4_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_tensioner_right_20t_drive_12mm_belts_x4_rev2.STL new file mode 100644 index 0000000..2fcd6b2 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN12C_Stationary_Rails/xy_mgn12c_tensioner_right_20t_drive_12mm_belts_x4_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/[a]_xy_mgn9h_shim_x4_rev1.STL b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/[a]_xy_mgn9h_shim_x4_rev1.STL new file mode 100644 index 0000000..46da7a1 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/[a]_xy_mgn9h_shim_x4_rev1.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/[a]_xy_mgn9h_top_cap_x4_rev1.STL b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/[a]_xy_mgn9h_top_cap_x4_rev1.STL new file mode 100644 index 0000000..e5bccda Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/[a]_xy_mgn9h_top_cap_x4_rev1.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_1515_holder_12mm_belts_x4_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_1515_holder_12mm_belts_x4_rev2.STL new file mode 100644 index 0000000..0a2a059 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_1515_holder_12mm_belts_x4_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_tensioner_left_20t_drive_12mm_belts_x4_rev1.STL b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_tensioner_left_20t_drive_12mm_belts_x4_rev1.STL new file mode 100644 index 0000000..6fc6afe Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_tensioner_left_20t_drive_12mm_belts_x4_rev1.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_tensioner_right_20t_drive_12mm_belts_x4_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_tensioner_right_20t_drive_12mm_belts_x4_rev2.STL new file mode 100644 index 0000000..ee2e73b Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/MGN9H_Stationary_Rails_(Legacy)/xy_mgn9h_tensioner_right_20t_drive_12mm_belts_x4_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/[a]_short_motor_tall_idler_bearing_cap_12mm_belts_x2_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/[a]_short_motor_tall_idler_bearing_cap_12mm_belts_x2_rev2.STL new file mode 100644 index 0000000..5804b01 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/[a]_short_motor_tall_idler_bearing_cap_12mm_belts_x2_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/[a]_tall_motor_short_idler_bearing_cap_12mm_belts_x2_rev2.STL b/Release_2_Beta/STLs/XY_Gantry/[a]_tall_motor_short_idler_bearing_cap_12mm_belts_x2_rev2.STL new file mode 100644 index 0000000..0c717de Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/[a]_tall_motor_short_idler_bearing_cap_12mm_belts_x2_rev2.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/motor_idler_top_plate_x4_rev3.STL b/Release_2_Beta/STLs/XY_Gantry/motor_idler_top_plate_x4_rev3.STL new file mode 100644 index 0000000..b7a6060 Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/motor_idler_top_plate_x4_rev3.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/short_motor_tall_idler_mount_12mm_belts_x2_rev3.STL b/Release_2_Beta/STLs/XY_Gantry/short_motor_tall_idler_mount_12mm_belts_x2_rev3.STL new file mode 100644 index 0000000..2b48abe Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/short_motor_tall_idler_mount_12mm_belts_x2_rev3.STL differ diff --git a/Release_2_Beta/STLs/XY_Gantry/tall_motor_short_idler_mount_12mm_belts_x2_rev3.STL b/Release_2_Beta/STLs/XY_Gantry/tall_motor_short_idler_mount_12mm_belts_x2_rev3.STL new file mode 100644 index 0000000..3eb4f9f Binary files /dev/null and b/Release_2_Beta/STLs/XY_Gantry/tall_motor_short_idler_mount_12mm_belts_x2_rev3.STL differ diff --git a/Release_2_Beta/STLs/Z-Endstop/z_endstop_brush_mount_x1_rev1.STL b/Release_2_Beta/STLs/Z-Endstop/z_endstop_brush_mount_x1_rev1.STL new file mode 100644 index 0000000..127ffd9 Binary files /dev/null and b/Release_2_Beta/STLs/Z-Endstop/z_endstop_brush_mount_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/Z-Endstop/z_endstop_housing_key_x1_rev1.STL b/Release_2_Beta/STLs/Z-Endstop/z_endstop_housing_key_x1_rev1.STL new file mode 100644 index 0000000..a2b9353 Binary files /dev/null and b/Release_2_Beta/STLs/Z-Endstop/z_endstop_housing_key_x1_rev1.STL differ diff --git a/Release_2_Beta/STLs/Z-Endstop/z_endstop_housing_x1_rev3.STL b/Release_2_Beta/STLs/Z-Endstop/z_endstop_housing_x1_rev3.STL new file mode 100644 index 0000000..0c77e59 Binary files /dev/null and b/Release_2_Beta/STLs/Z-Endstop/z_endstop_housing_x1_rev3.STL differ diff --git a/Release_2_Beta/eDrawings/K2_Summit_Top_Level_Assembly_11-21-2020.EASM b/Release_2_Beta/eDrawings/K2_Summit_Top_Level_Assembly_11-21-2020.EASM new file mode 100644 index 0000000..2d41aa0 Binary files /dev/null and b/Release_2_Beta/eDrawings/K2_Summit_Top_Level_Assembly_11-21-2020.EASM differ