[include mmu/base/*.cfg] [include mmu/optional/client_macros.cfg] [include mmu/optional/mmu_menu.cfg] [include timelapse.cfg] # This file contains common pin mappings for the BigTreeTech Octopus V1. # To use this config, the firmware should be compiled for the STM32F446 with a "32KiB bootloader" # Enable "extra low-level configuration options" and select the "12MHz crystal" as clock reference # after running "make", copy the generated "klipper/out/klipper.bin" file to a # file named "firmware.bin" on an SD card and then restart the OctoPus with that SD card. # See docs/Config_Reference.md for a description of parameters. ## Voron Design VORON2 250/300/350mm BigTreeTech OctoPus V1 TMC2209 UART config ## *** THINGS TO CHANGE/CHECK: *** ## MCU paths [mcu] section ## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types ## 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 ## Probe pin [probe] section ## Fine tune E steps [extruder] section [mcu] # katapulted klipper on can canbus_uuid: 970febd72165 # katapulted klipper on usb #serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_210044000150335331383520-if00 [include ebb36.cfg] [include fluidd.cfg] [include stealthburner_leds.cfg] [include bedfans.cfg] [include martyn_macros.cfg] [include shaketune.cfg] [printer] kinematics: corexy max_velocity: 700 max_accel: 3300 #Max 4000 max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V max_z_accel: 350 square_corner_velocity: 5.0 ##################################################################### # X/Y Stepper Settings ##################################################################### ## B Stepper - Left ## Connected to MOTOR_0 ## Endstop connected to DIAG_0 [stepper_x] step_pin: PF13 dir_pin: PF12 enable_pin: !PF14 rotation_distance: 40 microsteps: 32 full_steps_per_rotation:400 #set to 200 for 1.8 degree stepper endstop_pin: PG6 position_min: 0 position_endstop: 345 position_max: 345 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: PC4 interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## A Stepper - Right ## Connected to MOTOR_1 ## Endstop connected to DIAG_1 [stepper_y] step_pin: PG0 dir_pin: PG1 enable_pin: !PF15 rotation_distance: 40 microsteps: 32 full_steps_per_rotation:400 #set to 200 for 1.8 degree stepper endstop_pin: PG9 position_min: 0 position_endstop: 355 position_max: 355 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: PD11 interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Z Stepper Settings ##################################################################### ## Z0 Stepper - Front Left ## Connected to MOTOR_2 ## Endstop connected to DIAG_2 [stepper_z] step_pin: PF11 dir_pin: PG3 enable_pin: !PG5 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 #endstop_pin: probe:z_virtual_endstop endstop_pin: !ebb36:PB7 ## 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 position_max: 310 position_min: -5 homing_speed: 15 #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: PC6 interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 999999 ## Z1 Stepper - Rear Left ## Connected to MOTOR_3 [stepper_z1] step_pin: PG4 dir_pin: !PC1 enable_pin: !PA0 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z1] uart_pin: PC7 interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 999999 ## Z2 Stepper - Rear Right ## Connected to MOTOR_4 [stepper_z2] step_pin: PF9 dir_pin: PF10 enable_pin: !PG2 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z2] uart_pin: PF2 interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 999999 ## Z3 Stepper - Front Right ## Connected to MOTOR_5 [stepper_z3] step_pin: PC13 dir_pin: !PF0 enable_pin: !PF1 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z3] uart_pin: PE4 interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 999999 ##################################################################### # Bed Heater ##################################################################### ## SSR Pin - HE1 ## Thermistor - TB [heater_bed] heater_pin: PA1 ## Validate the following thermistor type to make sure it is correct ## Keenovo branded bed heaters should use Generic 3950 ## LDO branded bed heaters will have the sensor type labelled on the heater ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. ## Use "Generic 3950" for Keenovo heaters sensor_type: ATC Semitec 104NT-4-R025H42G sensor_pin: PF3 ## Adjust Max Power so your heater doesn't warp your bed. Rule of thumb is 0.4 watts / cm^2 . max_power: 0.6 min_temp: 0 max_temp: 120 control: pid pid_kp: 58.437 pid_ki: 2.347 pid_kd: 363.769 ##################################################################### # Fan Control ##################################################################### ## Controller fan - FAN2 [temperature_fan controller_fan] pin: PD12 sensor_type: temperature_host control: watermark max_delta: 3 min_temp: 0 max_temp: 100 target_temp: 55 max_speed: 0.5 ## Exhaust fan - FAN3 #[heater_fan exhaust_fan] #pin: PD13 #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 ##################################################################### [output_pin caselight] ## Chamber Lighting - CNC_FAN5 pin: PD15 pwm:true shutdown_value: 0 value:1 cycle_time: 0.01 ##################################################################### # Additional Sensors ##################################################################### [thermistor CMFB103F3950FANT] temperature1: 0.0 resistance1: 32116.0 temperature2: 40.0 resistance2: 5309.0 temperature3: 80.0 resistance3: 1228.0 [temperature_sensor chamber_temp] # Chamber Temperature - T1 sensor_type: EPCOS 100K B57560G104F # total guess really, but sure. sensor_pin: PF5 min_temp: 0 max_temp: 100 gcode_id: chamber_th ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 1800 # Need to work out how eddy interferes with magic home #[safe_z_home] #home_xy_position: 175,175 #speed:100 #z_hop:10 #z_hop_speed:10 [homing_override] axes: z gcode: SET_KINEMATIC_POSITION Z=0 G1 Z10 F3000 {% if not 'X' in printer.toolhead.homed_axes %} G28 X0 {% endif %} {% if not 'Y' in printer.toolhead.homed_axes %} G28 Y0 {% endif %} G1 X150 Y150 F3000 G28 Z0 G1 Z10 F3000 ## 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 [quad_gantry_level] gantry_corners: -60,-10 410,420 # Probe points points: 50,25 50,275 300,275 300,25 speed: 100 horizontal_move_z: 10 retries: 5 retry_tolerance: 0.04 max_adjust: 10 ######################################## # EXP1 / EXP2 (display) pins ######################################## [board_pins] aliases: # EXP1 header EXP1_1=PE8, EXP1_2=PE7, EXP1_3=PE9, EXP1_4=PE10, EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side EXP1_7=PE14, EXP1_8=PE15, EXP1_9=, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_2=PA5, EXP2_3=PB1, EXP2_4=PA4, EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side EXP2_7=PC15, EXP2_8=, EXP2_9=, EXP2_10=<5V> ##################################################################### # Displays ##################################################################### [display] # mini12864 LCD Display lcd_type: uc1701 cs_pin: EXP1_3 a0_pin: EXP1_4 rst_pin: EXP1_5 encoder_pins: ^EXP2_5, ^EXP2_3 click_pin: ^!EXP1_2 contrast: 63 spi_software_miso_pin: EXP2_1 spi_software_mosi_pin: EXP2_6 spi_software_sclk_pin: EXP2_2 [neopixel btt_mini12864] # To control Neopixel RGB in mini12864 display pin: EXP1_6 chain_count: 3 initial_RED: 0.6 initial_GREEN: 0.0 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=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=0.6 GREEN=0 BLUE=1 INDEX=2 TRANSMIT=0 SET_LED LED=btt_mini12864 RED=0.6 GREEN=0 BLUE=1 INDEX=3 #-------------------------------------------------------------------- [temperature_sensor pi] sensor_type: temperature_host [temperature_sensor mcu] sensor_type: temperature_mcu [skew_correction] [exclude_object] ##################################################################### # Macros ##################################################################### #[probe] ## Other parameters in config.cfg #pin: !ebb36:PB7 #x_offset: 0.0 #y_offset: 0.0 #z_offset: 0.0 #speed: 15.0 # Speed (in mm/s) of the Z axis when probing. The default is 5mm/s. #samples: 2 #sample_retract_dist: 3.0 #samples_tolerance_retries: 1 #lift_speed: 10 #activate_gcode: # G4 P200 ;Wait 200ms # SET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.4 # SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.4 # SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.4 # SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.4 #deactivate_gcode: # {% set run_current = printer.configfile.config['tmc2209 stepper_z'].run_current | float %} # SET_TMC_CURRENT STEPPER=stepper_z CURRENT={run_current} # SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={run_current} # SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={run_current} # SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={run_current} [bed_mesh] speed: 800 horizontal_move_z: 3 mesh_min: 30, 30 mesh_max: 310, 310 zero_reference_position: 175, 175 mesh_pps: 9, 9 algorithm: bicubic bicubic_tension: 0.2 probe_count: 9,9 [gcode_macro BED_MESH_CALIBRATE] rename_existing: BTT_BED_MESH_CALIBRATE gcode: BTT_BED_MESH_CALIBRATE METHOD=rapid_scan [input_shaper] shaper_freq_x: 91.4 shaper_freq_y: 70.0 shaper_type: 3hump_ei [mcu eddy] canbus_uuid: 01dd4779f312 [probe_eddy_current btt_eddy] sensor_type: ldc1612 z_offset: 2.01 i2c_mcu: eddy i2c_bus: i2c0f x_offset: 0 y_offset: 21.42 [temperature_probe btt_eddy] sensor_type: Generic 3950 sensor_pin: eddy:gpio26 horizontal_move_z: 2 [gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO] gcode: BED_MESH_CLEAR G28 X Y G90 # Abs positioning G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000 {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } # Allows the user to work it down until it touches. {% endif %} PROBE_EDDY_CURRENT_CALIBRATE {rawparams} [force_move] enable_force_move: True #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [bed_mesh default] #*# version = 1 #*# points = #*# 0.056360, 0.067675, 0.043291, 0.049857, 0.049857, 0.040359, 0.056423, 0.032923, 0.009465 #*# 0.049821, 0.048075, 0.046974, 0.054641, 0.040398, 0.030274, 0.051682, 0.025871, 0.019834 #*# 0.027509, 0.056302, 0.037514, 0.015357, 0.049939, 0.033519, 0.033874, 0.005136, -0.009108 #*# 0.040608, 0.017364, 0.018759, 0.017411, 0.032271, 0.006685, 0.017411, -0.008411, -0.025214 #*# 0.020039, 0.007966, 0.009584, 0.026020, -0.000823, 0.017287, -0.005193, -0.026172, -0.059551 #*# 0.023237, 0.007831, 0.036805, 0.009506, 0.009502, -0.028274, 0.000816, -0.012714, -0.043808 #*# 0.011155, 0.040385, 0.022873, 0.036750, 0.003410, 0.010397, 0.000831, -0.032395, -0.022543 #*# 0.009978, 0.032564, 0.028053, 0.009943, -0.012340, 0.001206, 0.014305, -0.033977, -0.052455 #*# -0.000439, -0.002121, 0.002249, 0.014322, -0.014391, -0.003142, -0.027852, -0.045480, -0.072374 #*# x_count = 9 #*# y_count = 9 #*# mesh_x_pps = 9 #*# mesh_y_pps = 9 #*# algo = bicubic #*# tension = 0.2 #*# min_x = 30.0 #*# max_x = 310.0 #*# min_y = 30.0 #*# max_y = 310.0 #*# #*# [skew_correction calilantern_skew_profile] #*# xy_skew = 0.007318697823262824 #*# xz_skew = 0.0004313347372552723 #*# yz_skew = -0.0005939714989857676 #*# #*# [probe_eddy_current btt_eddy] #*# reg_drive_current = 15 #*# calibrate = #*# 0.050000:3257588.070,0.090000:3256964.916,0.130000:3256304.573, #*# 0.170000:3255627.762,0.210000:3254987.031,0.250000:3254339.955, #*# 0.290000:3253702.183,0.330000:3253055.241,0.370000:3252462.920, #*# 0.410000:3251870.953,0.450000:3251222.715,0.490000:3250619.815, #*# 0.530000:3250006.877,0.570000:3249441.817,0.610000:3248836.353, #*# 0.650000:3248246.169,0.690000:3247681.761,0.730000:3247143.636, #*# 0.770000:3246541.450,0.810000:3246011.719,0.850000:3245477.255, #*# 0.890000:3244924.790,0.930000:3244401.932,0.970000:3243850.098, #*# 1.010000:3243383.419,1.050000:3242812.820,1.090000:3242313.228, #*# 1.130000:3241788.575,1.170000:3241304.196,1.210000:3240811.189, #*# 1.250000:3240330.713,1.290000:3239850.828,1.330000:3239431.896, #*# 1.370000:3238915.608,1.410000:3238479.186,1.450000:3238017.048, #*# 1.490000:3237583.714,1.530000:3237154.934,1.570000:3236718.382, #*# 1.610000:3236280.224,1.650000:3235872.001,1.690000:3235459.235, #*# 1.730000:3235049.059,1.770000:3234643.809,1.810000:3234254.456, #*# 1.850000:3233866.757,1.890000:3233490.216,1.930000:3233109.405, #*# 1.970000:3232746.999,2.010000:3232379.923,2.050000:3232006.220, #*# 2.090000:3231658.941,2.130000:3231313.139,2.170000:3230957.177, #*# 2.210000:3230633.999,2.250000:3230307.913,2.290000:3229966.771, #*# 2.330000:3229649.263,2.370000:3229335.018,2.410000:3229011.378, #*# 2.450000:3228712.819,2.490000:3228417.910,2.530000:3228108.281, #*# 2.570000:3227815.038,2.610000:3227532.720,2.650000:3227249.805, #*# 2.690000:3226976.764,2.730000:3226686.376,2.770000:3226417.626, #*# 2.810000:3226166.807,2.850000:3225899.633,2.890000:3225606.227, #*# 2.930000:3225383.271,2.970000:3225140.767,3.010000:3224884.488, #*# 3.050000:3224632.580,3.090000:3224375.721,3.130000:3224165.999, #*# 3.170000:3223942.487,3.210000:3223723.353,3.250000:3223477.094, #*# 3.290000:3223247.144,3.330000:3223043.429,3.370000:3222823.368, #*# 3.410000:3222588.610,3.450000:3222381.195,3.490000:3222221.090, #*# 3.530000:3221989.948,3.570000:3221809.201,3.610000:3221622.117, #*# 3.650000:3221392.225,3.690000:3221206.721,3.730000:3221051.522, #*# 3.770000:3220834.386,3.810000:3220690.522,3.850000:3220499.700, #*# 3.890000:3220307.943,3.930000:3220149.243,3.970000:3219964.886, #*# 4.010000:3219791.608,4.050000:3219632.208 #*# #*# [temperature_probe btt_eddy] #*# calibration_temp = 39.478475 #*# drift_calibration = #*# 3283778.235798, -965.466451, 7.227764 #*# 3268264.899482, -672.371276, 4.751202 #*# 3255073.726147, -430.741384, 2.745695 #*# 3244394.549464, -246.759626, 1.241065 #*# 3234441.269724, -51.153784, -0.446005 #*# 3227424.139563, 62.633837, -1.378854 #*# 3222282.704100, 131.724886, -1.919297 #*# 3217484.155747, 210.709950, -2.581193 #*# 3214114.202863, 253.314424, -2.921597 #*# drift_calibration_min_temp = 39.40781081763649