# 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] serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_210044000150335331383520-if00 # no longer a canbus bridge #canbus_uuid: 970febd72165 [include ebb36.cfg] #[include klicky-probe.cfg] #[include klicky-quad-gantry-level.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: 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: 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: PG10 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 position_max: 310 position_min: -10 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 [controller_fan controller_fan] pin: PD12 kick_start_time: 0.5 heater: heater_bed fan_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: ATC Semitec 104NT-4-R025H42G # sensor_pin: PF5 # min_temp: 0 # max_temp: 100 # gcode_id: chamber_th ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 1800 # Klicky probe replaces this! [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. #home_xy_position:232,350 home_xy_position: 175,175 speed:100 z_hop:10 z_hop_speed:10 ## 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 ##################################################################### # pre-cartographer # [probe] # pin: ebb36:PB9 # x_offset: 0 # y_offset: 19.75 # #z_offset: 5.930 # # below is default, trying -0.365 measured, if +0.365, it's 6.785 # # z_offset: 6.42 # speed: 5 # samples: 3 # samples_result: median # sample_retract_dist: 2.0 # samples_tolerance: 0.01 # samples_tolerance_retries: 4 [bed_mesh] speed: 120 horizontal_move_z: 2 mesh_min: 35, 35 mesh_max: 310, 310 zero_reference_position: 175, 175 #probe_count: 5, 5 probe_count: 5 mesh_pps: 7, 7 algorithm: bicubic bicubic_tension: 0.2 probe_count: 7, 7 [input_shaper] shaper_freq_x: 91.4 shaper_freq_y: 70.0 shaper_type: 3hump_ei [cartographer] canbus_uuid: 506fcd528089 # Path to the serial port for the Cartographer device. Typically has the form # /dev/serial/by-id/usb-cartographer_cartographer_... # # If you are using the CAN Bus version, replace serial: with canbus_uuid: and add the UUID. # Example: canbus_uuid: 1283as878a9sd # speed: 40. # Z probing dive speed. lift_speed: 5.0 # Z probing lift speed. backlash_comp: 0.5 # Backlash compensation distance for removing Z backlash before measuring # the sensor response. # # Offsets are measured from the centre of your coil, to the tip of your nozzle # on a level axis. It is vital that this is accurate. # x_offset: 0.0 # X offset of cartographer from the nozzle. y_offset: 21.1 # Y offset of cartographer from the nozzle. trigger_distance: 2.0 # cartographer trigger distance for homing. trigger_dive_threshold: 1.5 # Threshold for range vs dive mode probing. Beyond `trigger_distance + # trigger_dive_threshold` a dive will be used. trigger_hysteresis: 0.006 # Hysteresis on trigger threshold for untriggering, as a percentage of the # trigger threshold. cal_nozzle_z: 0.1 # Expected nozzle offset after completing manual Z offset calibration. cal_floor: 0.1 # Minimum z bound on sensor response measurement. cal_ceil: 5.0 # Maximum z bound on sensor response measurement. cal_speed: 1.0 # Speed while measuring response curve. cal_move_speed: 10.0 # Speed while moving to position for response curve measurement. default_model_name: default # Name of default cartographer model to load. mesh_main_direction: x # Primary travel direction during mesh measurement. #mesh_overscan: -1 # Distance to use for direction changes at mesh line ends. Omit this setting # and a default will be calculated from line spacing and available travel. mesh_cluster_size: 1 # Radius of mesh grid point clusters. mesh_runs: 2 # Number of passes to make during mesh scan. [force_move] enable_force_move: True # Let's not yet... #[filament_motion_sensor encoder_sensor] #switch_pin: PG12 #detection_length: 2.88 #extruder: extruder #pause_on_runout: False #runout_gcode: # PAUSE # [pause_resume] is required in printer.cfg # M117 Filament encoder runout #insert_gcode: # M117 Filament encoder inserted #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [stepper_z] #*# position_endstop = -0.595 #*# #*# [bed_mesh default] #*# version = 1 #*# points = #*# -0.000970, -0.006066, 0.005648, 0.006272, 0.027061, 0.024308, 0.008551 #*# -0.007022, 0.000029, 0.009987, 0.005257, 0.027588, 0.020575, -0.000040 #*# -0.007499, -0.009817, -0.008947, -0.009971, 0.007889, 0.004477, -0.019061 #*# -0.002311, 0.007394, 0.012656, 0.004734, 0.010755, 0.009033, -0.007201 #*# 0.010460, 0.005798, 0.014265, 0.007894, 0.025014, 0.018020, -0.005005 #*# -0.004771, -0.000107, 0.015379, 0.000375, 0.024553, 0.018746, -0.002577 #*# 0.014742, 0.011960, 0.022226, 0.013070, 0.028215, 0.033960, 0.006680 #*# x_count = 7 #*# y_count = 7 #*# mesh_x_pps = 7 #*# mesh_y_pps = 7 #*# algo = bicubic #*# tension = 0.2 #*# min_x = 35.0 #*# max_x = 310.0 #*# min_y = 35.0 #*# max_y = 310.0 #*# #*# [probe] #*# z_offset = 7.600 #*# #*# [skew_correction calilantern_skew_profile] #*# xy_skew = 0.0074462965124288275 #*# xz_skew = 0.0009617083385249239 #*# yz_skew = 0.0024679134438297754 #*# #*# [cartographer model default] #*# model_coef = 1.2383244430293725, #*# 1.6631086108008772, #*# 0.7502926632060991, #*# 0.3324317142939241, #*# 0.5155928496660419, #*# 0.6156244841720987, #*# -0.41471347202364395, #*# -0.5737807217363379, #*# 0.4603036209624226, #*# 0.41315535784273816 #*# model_domain = 3.0373112811055786e-07,3.3148137270365367e-07 #*# model_range = 0.100000,5.000000 #*# model_temp = 28.999113 #*# model_offset = 0.50000