Voron 2.4 Build: Difference between revisions
Line 26: | Line 26: | ||
# Remove the BT0 pin and restart | # Remove the BT0 pin and restart | ||
== Firmware ( | == Firmware (Klipper) Configuration == | ||
<pre> | <pre> | ||
Line 173: | Line 173: | ||
microsteps: 16 | microsteps: 16 | ||
## In Z- Position | ## In Z- Position | ||
endstop_pin: ^PA0 | |||
# pretap | |||
# endstop_pin: ^PA0 (pretap) | |||
endstop_pin: probe:z_virtual_endstop | |||
## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) | ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) | ||
## (+) value = endstop above Z0, (-) value = endstop below | ## (+) value = endstop above Z0, (-) value = endstop below | ||
Line 310: | Line 314: | ||
uart_pin: PD7 | uart_pin: PD7 | ||
interpolate: false | interpolate: false | ||
run_current: 0. | run_current: 0.6 | ||
hold_current: 0.2 | # hold_current: 0.2 | ||
sense_resistor: 0.110 | sense_resistor: 0.110 | ||
stealthchop_threshold: 0 | stealthchop_threshold: 0 | ||
Line 321: | Line 325: | ||
## SSR Pin - In BED OUT position | ## SSR Pin - In BED OUT position | ||
heater_pin: PB4 | heater_pin: PB4 | ||
sensor_type: | sensor_type: Generic 3950 | ||
sensor_pin: PC3 # TB Position | sensor_pin: PC3 # TB Position | ||
## Adjust Max Power so your heater doesn't warp your bed | ## Adjust Max Power so your heater doesn't warp your bed | ||
Line 343: | Line 347: | ||
pin: ^PA3 | pin: ^PA3 | ||
x_offset: 0 | x_offset: 0 | ||
y_offset: 25.0 | |||
# pretap | |||
#y_offset: 25.0 | |||
y_offset: 0 | |||
#z_offset: 0 | #z_offset: 0 | ||
speed: 20.0 | speed: 20.0 | ||
Line 351: | Line 359: | ||
samples_tolerance: 0.01 | samples_tolerance: 0.01 | ||
samples_tolerance_retries: 4 | samples_tolerance_retries: 4 | ||
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 %} | |||
##################################################################### | ##################################################################### | ||
Line 378: | Line 403: | ||
##################################################################### | ##################################################################### | ||
## bpopp: swapped PB0 for PB3 because I burned up PB0 with short | |||
[heater_fan hotend_fan] | [heater_fan hotend_fan] | ||
## Hotend Fan - FAN0 Connector | ## Hotend Fan - FAN0 Connector | ||
pin: | pin: PB3 | ||
max_power: 1.0 | max_power: 1.0 | ||
kick_start_time: 0.5 | kick_start_time: 0.5 | ||
Line 396: | Line 422: | ||
## if your fan will not start. Can change cycle_time (increase) | ## if your fan will not start. Can change cycle_time (increase) | ||
## if your fan is not able to slow down effectively | ## if your fan is not able to slow down effectively | ||
off_below: 0.10 | # off_below: 0.10 | ||
[heater_fan controller_fan] | [heater_fan controller_fan] | ||
Line 435: | Line 461: | ||
initial_RED: 1 | initial_RED: 1 | ||
initial_GREEN: 1 | initial_GREEN: 1 | ||
initial_BLUE: | initial_BLUE: 1 | ||
Line 458: | Line 484: | ||
## (such as 157,305) after going through Z Endstop Pin | ## (such as 157,305) after going through Z Endstop Pin | ||
## Location Definition step. | ## Location Definition step. | ||
home_xy_position:205,300 | # pretap | ||
# home_xy_position:205,300 | |||
home_xy_position:150,150 | |||
speed:100 | speed:100 | ||
z_hop:10 | z_hop:10 | ||
Line 487: | Line 516: | ||
points: | points: | ||
50,25 | 50,25 | ||
50, | 50,275 | ||
250, | 250,275 | ||
250,25 | 250,25 | ||
Line 601: | Line 630: | ||
## Uncomment for 300 build | ## Uncomment for 300 build | ||
CENTER | # CENTER | ||
## Uncomment for 350mm build | ## Uncomment for 350mm build | ||
Line 618: | Line 647: | ||
CASELIGHT_ON | CASELIGHT_ON | ||
M104 | # M104 S150 | ||
M140 S{BED_TEMP} | M140 S{BED_TEMP} | ||
CLEAN_NOZZLE | |||
G32 ; home all axes | G32 ; home all axes | ||
Line 708: | Line 738: | ||
SET_LED LED=fysetc_mini12864 RED={R} GREEN={G} BLUE={B} INDEX=3 | SET_LED LED=fysetc_mini12864 RED={R} GREEN={G} BLUE={B} INDEX=3 | ||
[gcode_macro CLEAN_NOZZLE] | |||
variable_start_x: 280 | |||
variable_start_y: 296 | |||
variable_start_z: 3 | |||
variable_wipe_dist: -50 | |||
variable_wipe_qty: 10 | |||
variable_wipe_spd: 200 | |||
variable_raise_distance: 30 | |||
gcode: | |||
{% if "xyz" not in printer.toolhead.homed_axes %} | |||
G28 | |||
{% endif %} | |||
G90 ; absolute positioning | |||
## Move nozzle to start position | |||
G1 X{start_x} Y{start_y} F6000 | |||
G1 Z{start_z} F1500 | |||
## Wipe nozzle | |||
{% for wipes in range(1, (wipe_qty + 1)) %} | |||
G1 X{start_x + wipe_dist} F{wipe_spd * 60} | |||
G1 X{start_x} F{wipe_spd * 60} | |||
{% endfor %} | |||
## Raise nozzle | |||
G1 Z{raise_distance} | |||
[gcode_macro ZUP] | |||
gcode: | |||
SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1 | |||
[gcode_macro ZDOWN] | |||
gcode: | |||
SET_GCODE_OFFSET Z_ADJUST=-0.01 MOVE=1 | |||
##################################################################### | ##################################################################### | ||
Line 744: | Line 810: | ||
#*# pid_ki = 1.871 | #*# pid_ki = 1.871 | ||
#*# pid_kd = 177.854 | #*# pid_kd = 177.854 | ||
#*# | #*# | ||
#*# [extruder] | #*# [extruder] | ||
Line 755: | Line 818: | ||
#*# | #*# | ||
#*# [probe] | #*# [probe] | ||
#*# z_offset = 0 | #*# z_offset = -0.970 | ||
</pre> | </pre> |
Latest revision as of 03:34, 4 June 2024
Parts
FYSETC Spider Controller
Reference
Bootloader Setup
Installation of the bootloader/firmware is a little confusing and I initially thought I had a bad board. I haven't been able to install bootloader or firmware without shorting the BOOT0 pins to force DFU mode. Here's the general process:
- Install jumper on BT0 pins and power on
- Launch STM32CubeProgrammer, select USB, and Connect
- Click the Erasing and Programming tab, and then:
- Pick the Bootloader_FYSETC_SPIDER.hex bootloader from the FYSETC Spider GitHub Repo
- Select Verify programming and Full Chip Erase
- Click Start Programm..
- Next install the firmware (previously compiled)
- Uncheck the Full chip erase checkbox
- Choose the firmware. After compiling, it can generally be found in the <<install path>>firmware/Marlin/.pio/build/FYSETC_S6_8000
- IMPORTANT: Change the Start addr.. to 0x08008000. For some reason the bootloader now looks for the firmware at the 8000 location vs the default 0x08000000
- Click Start Programm... to write the firmware
- Remove the BT0 pin and restart
Firmware (Klipper) Configuration
[include mainsail.cfg] # This file contains common pin mappings for the Fysetc Spider board. # 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 # See docs/Config_Reference.md for a description of parameters. ## Voron Design VORON2 250/300/350mm Spider TMC2209 UART config ## *** THINGS TO CHANGE/CHECK: *** ## MCU paths [mcu] section ## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file ## Z Endstop Switch location [safe_z_home] section ## Homing end position [gcode_macro G32] section ## Z Endstop Switch offset for Z0 [stepper_z] section ## Probe points [quad_gantry_level] section ## Min & Max gantry corner postions [quad_gantry_level] section ## PID tune [extruder] and [heater_bed] sections ## Fine tune E steps [extruder] section [mcu] ## Uncomment below if you're using the Raspberry uart0 to communicate with Spider #restart_method: command ## You need to select 'Communication interface' to USB in 'make menuconfig' ## when you compile Klipper for Spider ## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify ##-------------------------------------------------------------------- serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_1E0048001050563046363120-if00 ## If you want to use the Raspberry uart0 to communicate with Spider, ## you need to select 'Communication interface' to 'Serial (on USART1 PA10/PA9)' ## in 'make menuconfig' when you compile klipper and set the serial as below ##-------------------------------------------------------------------- #serial: /dev/ttyAMA0 ##-------------------------------------------------------------------- [printer] kinematics: corexy max_velocity: 300 max_accel: 5000 #Max 4000 max_z_velocity: 30 #Max 15 for 12V TMC Drivers, can increase for 24V max_z_accel: 350 square_corner_velocity: 8.0 ##################################################################### # X/Y Stepper Settings ##################################################################### [stepper_x] ## Connected to X-MOT (B Motor) step_pin: PE11 dir_pin: PE10 enable_pin: !PE9 rotation_distance: 40 microsteps: 16 full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper endstop_pin: ^PB14 position_min: 0 ##-------------------------------------------------------------------- ## Uncomment below for 225050mm 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: 50 #Max 100 homing_retract_dist: 5 homing_positive_dir: true ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_x] uart_pin: PE7 interpolate: True run_current: 0.7 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 [stepper_y] ## Connected to Y-MOT (A Motor) step_pin: PD8 dir_pin: PB12 enable_pin: !PD9 rotation_distance: 40 microsteps: 16 full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper endstop_pin: ^PB13 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: 50 #Max 100 homing_retract_dist: 5 homing_positive_dir: true ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_y] uart_pin: PE15 interpolate: True run_current: 0.7 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Z Stepper Settings ##################################################################### ## In Z-MOT Position ## Z0 Stepper - Front Left [stepper_z] step_pin: PD14 dir_pin: PD13 enable_pin: !PD15 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 ## In Z- Position # pretap # endstop_pin: ^PA0 (pretap) endstop_pin: probe:z_virtual_endstop ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) ## (+) value = endstop above Z0, (-) value = endstop below ## Increasing position_endstop brings nozzle closer to the bed ## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config #position_endstop: -0.5 ##-------------------------------------------------------------------- ## Uncomment below for 250mm build position_max: 170 ## Uncomment below for 300mm build #position_max: 290 ## Uncomment below for 350mm build #position_max: 340 ##-------------------------------------------------------------------- position_min: -5 homing_speed: 10 second_homing_speed: 3 homing_retract_dist: 3 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z] uart_pin: PD10 uart_address: 0 interpolate: True run_current: 0.7 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 ## In E1-MOT Position ## Z1 Stepper - Rear Left [stepper_z1] step_pin: PE6 dir_pin: !PC13 enable_pin: !PE5 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z1] uart_pin: PC14 interpolate: True run_current: 0.7 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 ## In E2-MOT Position ## Z2 Stepper - Rear Right [stepper_z2] step_pin: PE2 dir_pin: PE4 enable_pin: !PE3 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z2] uart_pin: PC15 interpolate: true run_current: 0.7 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 ## In E3-MOT Position ## Z3 Stepper - Front Right [stepper_z3] step_pin: PD12 dir_pin: !PC4 enable_pin: !PE8 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc2209 stepper_z3] uart_pin: PA15 interpolate: true run_current: 0.7 hold_current: 0.4 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### ## In E0-MOT Position [extruder] step_pin: PD5 dir_pin: !PD6 enable_pin: !PD4 ## Update value below when you perform extruder calibration ## If you ask for 100mm of filament, but in reality it is 98mm: ## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100 ## 22.6789511 is a good starting point rotation_distance: 22.5078095278 #Bondtech 5mm Drive Gears ## Update Gear Ratio depending on your Extruder Type ## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio) ## Use 80:20 for M4, M3.1 gear_ratio: 50:17 #BMG Gear Ratio microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree nozzle_diameter: 0.400 filament_diameter: 1.75 ## In E0 OUT Position heater_pin: PB15 ## Validate the following thermistor type to make sure it is correct sensor_type: ATC Semitec 104GT-2 sensor_pin: PC0 # TE0 Position min_temp: 10 max_temp: 270 max_power: 1.0 min_extrude_temp: 170 max_extrude_cross_section: 50.0 #control = pid #pid_kp = 26.213 #pid_ki = 1.304 #pid_kd = 131.721 ## Try to keep pressure_advance below 1.0 pressure_advance: 0.05 ## Default is 0.040, leave stock pressure_advance_smooth_time: 0.040 ## In E0-MOT Position ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 extruder] uart_pin: PD7 interpolate: false run_current: 0.6 # hold_current: 0.2 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Bed Heater ##################################################################### [heater_bed] ## SSR Pin - In BED OUT position heater_pin: PB4 sensor_type: Generic 3950 sensor_pin: PC3 # TB Position ## Adjust Max Power so your heater doesn't warp your bed max_power: 0.6 min_temp: 0 max_temp: 120 #control: pid #pid_kp: 58.437 #pid_ki: 2.347 #pid_kd: 363.769 ##################################################################### # Probe ##################################################################### [probe] ## Inductive Probe - If you use this section , please comment the [bltouch] section ## This probe is not used for Z height, only Quad Gantry Leveling ## In Z+ position ## If your probe is NC instead of NO, add change pin to ^PA3 pin: ^PA3 x_offset: 0 # pretap #y_offset: 25.0 y_offset: 0 #z_offset: 0 speed: 20.0 samples: 2 samples_result: median sample_retract_dist: 3.0 samples_tolerance: 0.01 samples_tolerance_retries: 4 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 %} ##################################################################### # Bltouch ##################################################################### #[bltouch] ## Bltouch - If you use this section , please comment the [probe] section ## More infomation at : https://www.klipper3d.org/BLTouch.html ## This bltouch is not used for Z height, only Quad Gantry Leveling ## In Z+ Position #sensor_pin: PA0 ## In Y+ Position #control_pin: PA2 #x_offset: 0 #y_offset: 25.0 #z_offset: 0 #speed: 10.0 #samples: 3 #samples_result: median #sample_retract_dist: 3.0 #samples_tolerance: 0.006 #samples_tolerance_retries: 3 ##################################################################### # Fan Control ##################################################################### ## bpopp: swapped PB0 for PB3 because I burned up PB0 with short [heater_fan hotend_fan] ## Hotend Fan - FAN0 Connector pin: PB3 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 ## If you are experiencing back flow, you can reduce fan_speed #fan_speed: 1.0 [fan] ## Print Cooling Fan - FAN1 Connector pin: PB1 max_power: 0.4 kick_start_time: 0.5 ## Depending on your fan, you may need to increase this value ## if your fan will not start. Can change cycle_time (increase) ## if your fan is not able to slow down effectively # off_below: 0.10 [heater_fan controller_fan] ## Controller fan - FAN2 Connector pin: PB2 kick_start_time: 0.5 heater: heater_bed heater_temp: 45.0 fan_speed: .3 #[heater_fan exhaust_fan] ## Exhaust fan - In E2 OUT Positon #pin: PB3 #max_power: 1.0 #shutdown_speed: 0.0 #kick_start_time: 5.0 #heater: heater_bed #heater_temp: 60 #fan_speed: 1.0 ##################################################################### # LED Control ##################################################################### # Chamber Lighting - In 5V-RGB Position # [neopixel caselight ] # pin: PD3 # chain_count: 15 # color_order: RGB # initial_RED: 1.0 # initial_GREEN: 1.0 # initial_BLUE: 1.0 [neopixel caselight] pin: PD3 chain_count: 35 color_order: RGB initial_RED: 1 initial_GREEN: 1 initial_BLUE: 1 #[output_pin caselight ] # Chamber Lighting - In 5V-RGB Position #pin: PD3 #pwm: true #shutdown_value: 0 #value: 1.0 #cycle_time: 0.01 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 1800 [safe_z_home] ## XY Location of the Z Endstop Switch ## Update -10,-10 to the XY coordinates of your endstop pin ## (such as 157,305) after going through Z Endstop Pin ## Location Definition step. # pretap # home_xy_position:205,300 home_xy_position:150,150 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 #points: # 50,25 # 50,175 # 200,175 # 200,25 ## Gantry Corners for 300mm Build ## Uncomment for 300mm build gantry_corners: -60,-10 360,370 points: 50,25 50,275 250,275 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: 150 horizontal_move_z: 10 retries: 5 retry_tolerance: 0.009 max_adjust: 10 ##################################################################### # Displays ##################################################################### #-------------------------------------------------------------------- [display] # mini12864 LCD Display lcd_type: uc1701 cs_pin: PC11 a0_pin: PD2 rst_pin: PC10 encoder_pins: ^PC6,^PC7 click_pin: ^!PA8 contrast: 63 #spi_bus: spi1 spi_software_mosi_pin: PA7 spi_software_miso_pin: PA6 spi_software_sclk_pin: PA5 [neopixel fysetc_mini12864] # To control Neopixel RGB in mini12864 display pin: PC12 chain_count: 3 initial_RED: 0.1 initial_GREEN: 0.5 initial_BLUE: 0.0 color_order: RGB # Set RGB values on boot up for each Neopixel. # Index 1 = display, Index 2 and 3 = Knob [delayed_gcode setdisplayneopixel] initial_duration: 1 gcode: SET_LED LED=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0 SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3 #-------------------------------------------------------------------- ##################################################################### # Macros ##################################################################### [verify_heater extruder] #max_error: 120 # The maximum "cumulative temperature error" before raising an # error. Smaller values result in stricter checking and larger # values allow for more time before an error is reported. # Specifically, the temperature is inspected once a second and if it # is close to the target temperature then an internal "error # counter" is reset; otherwise, if the temperature is below the # target range then the counter is increased by the amount the # reported temperature differs from that range. Should the counter # exceed this "max_error" then an error is raised. The default is # 120. #check_gain_time: 40 # This controls heater verification during initial heating. Smaller # values result in stricter checking and larger values allow for # more time before an error is reported. Specifically, during # initial heating, as long as the heater increases in temperature # within this time frame (specified in seconds) then the internal # "error counter" is reset. The default is 20 seconds for extruders # and 60 seconds for heater_bed. #hysteresis: 5 # The maximum temperature difference (in Celsius) to a target # temperature that is considered in range of the target. This # controls the max_error range check. It is rare to customize this # value. The default is 5. #heating_gain: 2 # The minimum temperature (in Celsius) that the heater must increase # by during the check_gain_time check. It is rare to customize this # value. The default is 2. ##################################################################### # 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 # CENTER ## 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: {% set BED_TEMP = params.BED|default(70)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER|default(220)|float %} CASELIGHT_ON # M104 S150 M140 S{BED_TEMP} CLEAN_NOZZLE G32 ; home all axes M109 S{EXTRUDER_TEMP} M190 S{BED_TEMP} _PRIME_LINE [gcode_macro _PRINT_END] # Use PRINT_END for the slicer ending script - please customise for your slicer of choice gcode: M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-1.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 X150 Y300 F3600 ; park nozzle at rear CASELIGHT_OFF #BED_MESH_CLEAR [gcode_macro CENTER] # Use PRINT_END for the slicer ending script - please customise for your slicer of choice gcode: G0 X150 Y150 Z50 F5000 [gcode_macro _PRIME_LINE] gcode: M117 Prime Line G92 E0 ;Reset Extruder # move z axis G1 Z2.0 F3000 ;Move Z Axis up # move to prime position G1 X20 Y20 Z0.28 F5000.0 ;Move to start position G1 X20 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X22 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X22 Y40 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up [gcode_macro UNLOAD] gcode: G28 CENTER M109 S220 T0 ## heat extruder and wait M83 G1 E-50 F300 G1 E-50 F300 TURN_OFF_HEATERS G92 E0 ;Reset Extruder # Filament change [gcode_macro M600] gcode: PAUSE_MACRO UNLOAD [gcode_macro CASELIGHT_OFF] gcode = _LIGHTS R=0 G=0 B=0 {action_respond_info("Caselight off")} [gcode_macro CASELIGHT_ON] gcode = _LIGHTS R=1 G=1 B=0.5 {action_respond_info("Caselight on")} [gcode_macro CASELIGHT_DIM] gcode = _LIGHTS R=0.25 G=0.25 B=0.1 {action_respond_info("Caselight 50%")} [gcode_macro _LIGHTS] gcode: # Index 1 = display, Index 2 and 3 = Knob {% set R = params.R|default(1) %} {% set G = params.R|default(1) %} {% set B= params.R|default(1) %} SET_LED LED=caselight RED={R} GREEN={G} BLUE={B} SET_LED LED=fysetc_mini12864 RED=0 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 SET_LED LED=fysetc_mini12864 RED={R} GREEN={G} BLUE={B} INDEX=2 TRANSMIT=0 SET_LED LED=fysetc_mini12864 RED={R} GREEN={G} BLUE={B} INDEX=3 [gcode_macro CLEAN_NOZZLE] variable_start_x: 280 variable_start_y: 296 variable_start_z: 3 variable_wipe_dist: -50 variable_wipe_qty: 10 variable_wipe_spd: 200 variable_raise_distance: 30 gcode: {% if "xyz" not in printer.toolhead.homed_axes %} G28 {% endif %} G90 ; absolute positioning ## Move nozzle to start position G1 X{start_x} Y{start_y} F6000 G1 Z{start_z} F1500 ## Wipe nozzle {% for wipes in range(1, (wipe_qty + 1)) %} G1 X{start_x + wipe_dist} F{wipe_spd * 60} G1 X{start_x} F{wipe_spd * 60} {% endfor %} ## Raise nozzle G1 Z{raise_distance} [gcode_macro ZUP] gcode: SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1 [gcode_macro ZDOWN] gcode: SET_GCODE_OFFSET Z_ADJUST=-0.01 MOVE=1 ##################################################################### # Display Menu definition # ##################################################################### [menu __main __control __caselightonoff] type: input enable: {'output_pin caselight' in printer} name: Lights: {'ON ' if menu.input else 'OFF'} input: {printer['output_pin caselight'].value} input_min: 0 input_max: 1 input_step: 1 gcode: {% if menu.input %} _CASELIGHT_ON {% else %} _CASELIGHT_OFF {% endif %} ## Thermistor Types ## "EPCOS 100K B57560G104F" ## "ATC Semitec 104GT-2" ## "NTC 100K beta 3950" ## "Honeywell 100K 135-104LAG-J01" ## "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad) ## "AD595" ## "PT100 INA826" #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [heater_bed] #*# control = pid #*# pid_kp = 36.483 #*# pid_ki = 1.871 #*# pid_kd = 177.854 #*# #*# [extruder] #*# control = pid #*# pid_kp = 26.692 #*# pid_ki = 1.648 #*# pid_kd = 108.103 #*# #*# [probe] #*# z_offset = -0.970