Skip to content

Configuration Examples

A collection of example configurations compatible with KTC-Easy.

Example toolchanger-config.cfg
# enable Rounded Path
[rounded_path]
resolution: 0.2 # the length of a circle approximation segments.
replace_g0: False # Use at your own risk

# enable Force Move
[force_move]
enable_force_move: True

[toolchanger]
# The example dropoff and pickup paths are configured to work with the Modular Dock.
# Do not adjust them unless you have a different dock or know what you are doing.
params_dropoff_path: [{'y':9.5 ,'z':4}, {'y':9.5, 'z':2}, {'y':5.5, 'z':0}, {'z':0, 'y':0, 'f':0.5}, {'z':-10, 'y':0}, {'z':-10, 'y':16}]
params_pickup_path: [{'z':-10, 'y':16}, {'z':-10, 'y':0}, {'z':0, 'y':0, 'f':0.5, 'verify':1}, {'y':5.5, 'z':0}, {'y':9.5, 'z':2}, {'y':9.5 ,'z':4}]
params_safe_y: 120 # The distance from absolute zero to where the tool on the Shuttle clears the back of the tools in the dock. Allow some extra clearance.
params_close_y: 30 # The relative distance from safe_y the gantry moves to while changing tools.
params_fast_speed: 10000 # Movement speed while outside of the dock during tool changes.
params_path_speed: 900 # Movement speed used for pickup and dropoff during tool changes.
require_tool_present: True # Set to False to allow toolless movement. Toolless movement should be used with caution.

# this section must be completed
[gcode_macro homing_override_config]
variable_sensorless_x: False
variable_sensorless_y: False
variable_homing_rebound_y: 0 # for sensorless you probably want this set to 20.
variable_stepper_driver: "tmc2209"
variable_homing_current: 0.49

# M109 macro is overridden to allow some deadband on the temp
# default is +- 1 degree.  So if the set temp is 250 the the default
# deadband will be 249-251.  You can adjust this here:
# [gcode_macro SET_TEMPERATURE_WITH_DEADBAND]
# variable_default_deadband: 4.0

# these values need to be set to match the location of your Calibration Switch
# positions are from absolute zero (front left corner of the bed)
# only required if you have a calibration probe.
# [gcode_macro _CALIBRATION_SWITCH]
# variable_x: 227.471875
# variable_y: 353.703125
# variable_z: 5.00
# gcode:

# only required if you have a calibration probe.
# must be disabled if using Axiscope for calibration of Z
# [tools_calibrate]
# pin:   #pin that your calibration probe is connected to.
# travel_speed: 20  # mms to travel sideways for XY probing
# spread: 7  # mms to travel down from top for XY probing
# lower_z: 1.0  # The speed (in mm/sec) to move tools down onto the probe
# speed: 2  # The speed (in mm/sec) to retract between probes
# lift_speed: 4  # Z Lift after probing done, should be greater than any Z variance between tools
# final_lift_z: 6 
# sample_retract_dist:2
# samples_tolerance:0.05
# samples:5
# samples_result: median # median, average
#  Settings for nozzle probe calibration - optional.
# probe: probe # name of the nozzle probe to use
# trigger_to_bottom_z: 0.25 # Offset from probe trigger to vertical motion bottoms out. 
Example Nitehawk36 V1.4 T0 Config (TAP)
# This file contains common pin mappings for the Nitehawk36 V1.4.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK0]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: NHK0:gpio27
spi_software_sclk_pin: NHK0:gpio18
spi_software_mosi_pin: NHK0:gpio20
spi_software_miso_pin: NHK0:gpio19
axes_map: x,z,y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK0:gpio23
dir_pin: NHK0:gpio24
enable_pin: !NHK0:gpio25
heater_pin: NHK0:gpio9
sensor_pin: NHK0:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: NHK0:gpio0
tx_pin: NHK0:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: NHK0:gpio5
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: NHK0:gpio6

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T0]
pin: NHK0:gpio10
tool: 0 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: NHK0:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example Nitehawk36 V1.4 T1 Config (TAP)
# This file contains common pin mappings for the Nitehawk36 V1.4.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK1]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: NHK1:gpio27
spi_software_sclk_pin: NHK1:gpio18
spi_software_mosi_pin: NHK1:gpio20
spi_software_miso_pin: NHK1:gpio19
axes_map: x,z,y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK1:gpio23
dir_pin: NHK1:gpio24
enable_pin: !NHK1:gpio25
heater_pin: NHK1:gpio9
sensor_pin: NHK1:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: NHK1:gpio0
tx_pin: NHK1:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: NHK1:gpio5
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: NHK1:gpio6

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T1]
pin: NHK1:gpio10
tool: 1 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: NHK1:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example Nitehawk36 V1.4 T0 Config (TAP)
# This file contains common pin mappings for the Nitehawk36 V1.4.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK0]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: NHK0:gpio27
spi_software_sclk_pin: NHK0:gpio18
spi_software_mosi_pin: NHK0:gpio20
spi_software_miso_pin: NHK0:gpio19
axes_map: x,z,y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK0:gpio23
dir_pin: NHK0:gpio24
enable_pin: !NHK0:gpio25
heater_pin: NHK0:gpio9
sensor_pin: NHK0:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: NHK0:gpio0
tx_pin: NHK0:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: NHK0:gpio5
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: NHK0:gpio6

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
detection_pin: !NHK0:gpio10
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: NHK0:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example Nitehawk36 V1.4 T1 Config (TAP)
# This file contains common pin mappings for the Nitehawk36 V1.4.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK1]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: NHK1:gpio27
spi_software_sclk_pin: NHK1:gpio18
spi_software_mosi_pin: NHK1:gpio20
spi_software_miso_pin: NHK1:gpio19
axes_map: x,z,y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK1:gpio23
dir_pin: NHK1:gpio24
enable_pin: !NHK1:gpio25
heater_pin: NHK1:gpio9
sensor_pin: NHK1:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: NHK1:gpio0
tx_pin: NHK1:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: NHK1:gpio5
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: NHK1:gpio6

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
detection_pin: !NHK1:gpio10
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: NHK1:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example NitehawkSB V1.5 T0 Config (TAP)
# This file contains common pin mappings for the NitehawkSB V1.5.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK0]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: NHK0:gpio21
spi_software_sclk_pin: NHK0:gpio18
spi_software_mosi_pin: NHK0:gpio20
spi_software_miso_pin: NHK0:gpio19
axes_map: -z,-y,-x

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK0:gpio23
dir_pin: NHK0:gpio24
enable_pin: !NHK0:gpio25
heater_pin: NHK0:gpio9
sensor_pin: NHK0:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: NHK0:gpio0
tx_pin: NHK0:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: NHK0:gpio5
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: NHK0:gpio16
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: NHK0:gpio6
# tachometer_pin: NHK0:gpio17
# tachometer_ppr: 2

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T0]
pin: NHK0:gpio10
tool: 0 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: NHK0:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example NitehawkSB V1.5 T1 Config (TAP)
# This file contains common pin mappings for the NitehawkSB V1.5.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK1]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: NHK1:gpio21
spi_software_sclk_pin: NHK1:gpio18
spi_software_mosi_pin: NHK1:gpio20
spi_software_miso_pin: NHK1:gpio19
axes_map: -z,-y,-x

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK1:gpio23
dir_pin: NHK1:gpio24
enable_pin: !NHK1:gpio25
heater_pin: NHK1:gpio9
sensor_pin: NHK1:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: NHK1:gpio0
tx_pin: NHK1:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: NHK1:gpio5
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: NHK1:gpio16
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: NHK1:gpio6
# tachometer_pin: NHK1:gpio17
# tachometer_ppr: 2

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T1]
pin: NHK1:gpio10
tool: 1 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: NHK1:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example NitehawkSB V1.5 T0 Config (TAP)
# This file contains common pin mappings for the NitehawkSB V1.5.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK0]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: NHK0:gpio21
spi_software_sclk_pin: NHK0:gpio18
spi_software_mosi_pin: NHK0:gpio20
spi_software_miso_pin: NHK0:gpio19
axes_map: -z,-y,-x

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK0:gpio23
dir_pin: NHK0:gpio24
enable_pin: !NHK0:gpio25
heater_pin: NHK0:gpio9
sensor_pin: NHK0:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: NHK0:gpio0
tx_pin: NHK0:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: NHK0:gpio5
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: NHK0:gpio16
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: NHK0:gpio6
# tachometer_pin: NHK0:gpio17
# tachometer_ppr: 2

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
detection_pin: !NHK0:gpio10
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: NHK0:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example NitehawkSB V1.5 T1 Config (TAP)
# This file contains common pin mappings for the NitehawkSB V1.5.
# To use this config, the firmware should be compiled for the 
# Raspberry Pi RP2040".

# change the mcu section name to the tool board you are configuring:
# NHK0, NHK1, etc.
[mcu NHK1]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: NHK1:gpio21
spi_software_sclk_pin: NHK1:gpio18
spi_software_mosi_pin: NHK1:gpio20
spi_software_miso_pin: NHK1:gpio19
axes_map: -z,-y,-x

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: NHK1:gpio23
dir_pin: NHK1:gpio24
enable_pin: !NHK1:gpio25
heater_pin: NHK1:gpio9
sensor_pin: NHK1:gpio29
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: NHK1:gpio0
tx_pin: NHK1:gpio1
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: NHK1:gpio5
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: NHK1:gpio16
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: NHK1:gpio6
# tachometer_pin: NHK1:gpio17
# tachometer_ppr: 2

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
detection_pin: !NHK1:gpio10
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: NHK1:gpio7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 V1.2 T0 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 V1.2.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB0/PB1)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB0]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: EBB0:PB12
spi_software_sclk_pin: EBB0:PB10
spi_software_mosi_pin: EBB0:PB11
spi_software_miso_pin: EBB0:PB2
axes_map: x,z,-y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB0:PD0
dir_pin: EBB0:PD1
enable_pin: !EBB0:PD2
heater_pin: EBB0:PB13
sensor_pin: EBB0:PA3
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: EBB0:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: EBB0:PA0
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: EBB0:PA1

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T0]
pin: ^EBB0:PC13
tool: 0 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: EBB0:PD3
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 V1.2 T1 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 V1.2.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB0/PB1)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB1]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: EBB1:PB12
spi_software_sclk_pin: EBB1:PB10
spi_software_mosi_pin: EBB1:PB11
spi_software_miso_pin: EBB1:PB2
axes_map: x,z,-y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB1:PD0
dir_pin: EBB1:PD1
enable_pin: !EBB1:PD2
heater_pin: EBB1:PB13
sensor_pin: EBB1:PA3
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: EBB1:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: EBB1:PA0
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: EBB1:PA1

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T1]
pin: ^EBB1:PC13
tool: 1 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: EBB1:PD3
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 V1.2 T0 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 V1.2.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB0/PB1)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB0]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: EBB0:PB12
spi_software_sclk_pin: EBB0:PB10
spi_software_mosi_pin: EBB0:PB11
spi_software_miso_pin: EBB0:PB2
axes_map: x,z,-y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB0:PD0
dir_pin: EBB0:PD1
enable_pin: !EBB0:PD2
heater_pin: EBB0:PB13
sensor_pin: EBB0:PA3
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: EBB0:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: EBB0:PA0
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: EBB0:PA1

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
detection_pin: ^!EBB0:PC13
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: EBB0:PD3
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 V1.2 T1 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 V1.2.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB0/PB1)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB1]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: EBB1:PB12
spi_software_sclk_pin: EBB1:PB10
spi_software_mosi_pin: EBB1:PB11
spi_software_miso_pin: EBB1:PB2
axes_map: x,z,-y

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB1:PD0
dir_pin: EBB1:PD1
enable_pin: !EBB1:PD2
heater_pin: EBB1:PB13
sensor_pin: EBB1:PA3
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: EBB1:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: EBB1:PA0
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: EBB1:PA1

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
detection_pin: ^!EBB1:PC13
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: EBB1:PD3
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 CAN T0 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB12/PB13)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB0]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: EBB0:PB1
spi_software_sclk_pin: EBB0:PB10
spi_software_mosi_pin: EBB0:PB11
spi_software_miso_pin: EBB0:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB0:PB14
dir_pin: EBB0:PA8
enable_pin: !EBB0:PB6
heater_pin: EBB0:PB4
sensor_pin: EBB0:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: EBB0:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: EBB0:PD2
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB0:PA4
# tachometer_ppr: 2

[multi_pin T0_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: multi_pin:T0_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T0]
pin: ^EBB0:PB8
tool: 0 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: EBB0:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 CAN T1 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB12/PB13)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB1]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: EBB1:PB1
spi_software_sclk_pin: EBB1:PB10
spi_software_mosi_pin: EBB1:PB11
spi_software_miso_pin: EBB1:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB1:PB14
dir_pin: EBB1:PA8
enable_pin: !EBB1:PB6
heater_pin: EBB1:PB4
sensor_pin: EBB1:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: EBB1:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: EBB1:PD2
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB1:PA4
# tachometer_ppr: 2

[multi_pin T1_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: multi_pin:T1_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T1]
pin: ^EBB1:PB8
tool: 1 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: EBB1:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 CAN T0 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB12/PB13)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB0]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: EBB0:PB1
spi_software_sclk_pin: EBB0:PB10
spi_software_mosi_pin: EBB0:PB11
spi_software_miso_pin: EBB0:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB0:PB14
dir_pin: EBB0:PA8
enable_pin: !EBB0:PB6
heater_pin: EBB0:PB4
sensor_pin: EBB0:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: EBB0:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: EBB0:PD2
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB0:PA4
# tachometer_ppr: 2

[multi_pin T0_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: multi_pin:T0_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
detection_pin: ^!EBB0:PB8
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: EBB0:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 CAN T1 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "CAN bus (on PB12/PB13)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB1]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: EBB1:PB1
spi_software_sclk_pin: EBB1:PB10
spi_software_mosi_pin: EBB1:PB11
spi_software_miso_pin: EBB1:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB1:PB14
dir_pin: EBB1:PA8
enable_pin: !EBB1:PB6
heater_pin: EBB1:PB4
sensor_pin: EBB1:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: EBB1:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: EBB1:PD2
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB1:PA4
# tachometer_ppr: 2

[multi_pin T1_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: multi_pin:T1_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
detection_pin: ^!EBB1:PB8
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: EBB1:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 USB T0 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "USB (on PA11/PA12)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB0]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: EBB0:PB1
spi_software_sclk_pin: EBB0:PB10
spi_software_mosi_pin: EBB0:PB11
spi_software_miso_pin: EBB0:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB0:PB14
dir_pin: EBB0:PA8
enable_pin: !EBB0:PB6
heater_pin: EBB0:PB4
sensor_pin: EBB0:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: EBB0:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: EBB0:PD2
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB0:PA4
# tachometer_ppr: 2

[multi_pin T0_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: multi_pin:T0_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T0]
pin: ^EBB0:PB8
tool: 0 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: EBB0:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 USB T1 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "USB (on PA11/PA12)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB1]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: EBB1:PB1
spi_software_sclk_pin: EBB1:PB10
spi_software_mosi_pin: EBB1:PB11
spi_software_miso_pin: EBB1:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB1:PB14
dir_pin: EBB1:PA8
enable_pin: !EBB1:PB6
heater_pin: EBB1:PB4
sensor_pin: EBB1:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: EBB1:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: EBB1:PD2
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB1:PA4
# tachometer_ppr: 2

[multi_pin T1_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: multi_pin:T1_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T1]
pin: ^EBB1:PB8
tool: 1 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: EBB1:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 USB T0 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "USB (on PA11/PA12)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB0]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: EBB0:PB1
spi_software_sclk_pin: EBB0:PB10
spi_software_mosi_pin: EBB0:PB11
spi_software_miso_pin: EBB0:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB0:PB14
dir_pin: EBB0:PA8
enable_pin: !EBB0:PB6
heater_pin: EBB0:PB4
sensor_pin: EBB0:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: EBB0:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: EBB0:PD2
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB0:PA4
# tachometer_ppr: 2

[multi_pin T0_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: multi_pin:T0_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
detection_pin: ^!EBB0:PB8
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: EBB0:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example EBB36 Gen2 USB T1 Config (TAP)
# This file contains common pin mappings for the BIGTREETECH EBB36 Gen2 V1.0.
# To use this config, the firmware should be compiled for the 
# STM32G0B1 with "8 MHz crystal" and "USB (on PA11/PA12)".

# change the mcu section name to the tool board you are configuring:
# EBB0, EBB1, etc.
[mcu EBB1]
serial: /dev/serial/by-id/usb-Klipper_xxxxxx_xxxxxxxxxxxxx
restart_method: command

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: EBB1:PB1
spi_software_sclk_pin: EBB1:PB10
spi_software_mosi_pin: EBB1:PB11
spi_software_miso_pin: EBB1:PB2
axes_map: x,y,z

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: EBB1:PB14
dir_pin: EBB1:PA8
enable_pin: !EBB1:PB6
heater_pin: EBB1:PB4
sensor_pin: EBB1:PA3
pullup_resistor: 2200
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: EBB1:PA15
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: EBB1:PD2
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: EBB1:PA4
# tachometer_ppr: 2

[multi_pin T1_multipin]
pins: PD3, PA5

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: multi_pin:T1_multipin

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
detection_pin: ^!EBB1:PB8
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: EBB1:PC7
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example Mellow SHT v2 T0 Config (TAP)
# This file contains common pin mappings for the mellow fly sht36 v2.
# To use this config, the firmware should be compiled for the 
# stm32f072".

# change the mcu section name to the tool board you are configuring:
# SHT0, SHT1, etc.
[mcu SHT0]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: SHT0:PA9
spi_software_sclk_pin: SHT0:PB13
spi_software_mosi_pin: SHT0:PB15
spi_software_miso_pin: SHT0:PB14
axes_map: 

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: SHT0:PB4
dir_pin: SHT0:PB3
enable_pin: !SHT0:PA15
heater_pin: SHT0:PA8
sensor_pin: SHT0:PA3
pullup_resistor: 4700
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: SHT0:PB5
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: SHT0:PB10
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: SHT0:PB10
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: SHT0:PB11

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T0]
pin: SHT0:PA1
tool: 0 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: SHT0:PB0
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example Mellow SHT v2 T1 Config (TAP)
# This file contains common pin mappings for the mellow fly sht36 v2.
# To use this config, the firmware should be compiled for the 
# stm32f072".

# change the mcu section name to the tool board you are configuring:
# SHT0, SHT1, etc.
[mcu SHT1]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: SHT1:PA9
spi_software_sclk_pin: SHT1:PB13
spi_software_mosi_pin: SHT1:PB15
spi_software_miso_pin: SHT1:PB14
axes_map: 

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: SHT1:PB4
dir_pin: SHT1:PB3
enable_pin: !SHT1:PA15
heater_pin: SHT1:PA8
sensor_pin: SHT1:PA3
pullup_resistor: 4700
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: SHT1:PB5
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: SHT1:PB10
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: SHT1:PB10
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: SHT1:PB11

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the tool_probe section name to the tool you are configuring:
# T0, T1, etc.
[tool_probe T1]
pin: SHT1:PA1
tool: 1 # change to the index of the tool. 0, 1, 2, etc.
z_offset = 0 # Needs to be calibrated. More positive = More Squish
speed: 5.0
samples: 3
samples_result: median
sample_retract_dist: 2.0
samples_tolerance: 0.02
samples_tolerance_retries: 3
activate_gcode:
    _TAP_PROBE_ACTIVATE HEATER=extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: SHT1:PB0
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example Mellow SHT v2 T0 Config (TAP)
# This file contains common pin mappings for the mellow fly sht36 v2.
# To use this config, the firmware should be compiled for the 
# stm32f072".

# change the mcu section name to the tool board you are configuring:
# SHT0, SHT1, etc.
[mcu SHT0]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T0]
cs_pin: SHT0:PA9
spi_software_sclk_pin: SHT0:PB13
spi_software_mosi_pin: SHT0:PB15
spi_software_miso_pin: SHT0:PB14
axes_map: 

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder] # Orbiter2.5 with CHCB-V Hotend
step_pin: SHT0:PB4
dir_pin: SHT0:PB3
enable_pin: !SHT0:PA15
heater_pin: SHT0:PA8
sensor_pin: SHT0:PA3
pullup_resistor: 4700
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder] # Orbiter2.5
uart_pin: SHT0:PB5
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T0_hotend_fan]
pin: SHT0:PB10
heater: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: SHT0:PB10
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T0_part_fan]
pin: SHT0:PB11

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T0]
tool_number: 0 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T0_part_fan
detection_pin: !SHT0:PA1
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T0]
pin: SHT0:PB0
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T0]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=0 # change to the index of the tool. 0, 1, 2, etc.
Example Mellow SHT v2 T1 Config (TAP)
# This file contains common pin mappings for the mellow fly sht36 v2.
# To use this config, the firmware should be compiled for the 
# stm32f072".

# change the mcu section name to the tool board you are configuring:
# SHT0, SHT1, etc.
[mcu SHT1]
canbus_uuid: xxxxxxxxxxxx

# change the accelerometer section name to the tool you are configuring:
# T0, T1, etc.
[adxl345 T1]
cs_pin: SHT1:PA9
spi_software_sclk_pin: SHT1:PB13
spi_software_mosi_pin: SHT1:PB15
spi_software_miso_pin: SHT1:PB14
axes_map: 

# change to the extruder section you are configuring:
# extruder, extruder1, etc.
[extruder1] # Orbiter2.5 with CHCB-V Hotend
step_pin: SHT1:PB4
dir_pin: SHT1:PB3
enable_pin: !SHT1:PA15
heater_pin: SHT1:PA8
sensor_pin: SHT1:PA3
pullup_resistor: 4700
microsteps: 16
rotation_distance: 4.69
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
min_temp: 0
max_temp: 290
pressure_advance: 0.03
sensor_type: ATC Semitec 104NT-4-R025H42G
# max_extrude_only_distance: 101
control: pid
pid_Kp: 18.000 # Reduce gain to make response gentler
pid_Ki: 2.400  # Reduce accumulated correction
pid_Kd: 20     # Increase damping to resist sharp swings

# change the tmc2209 section name to match the extruder you are configuring:
# extruder, extruder1, etc.
[tmc2209 extruder1] # Orbiter2.5
uart_pin: SHT1:PB5
sense_resistor: 0.100
run_current: 0.85
stealthchop_threshold: 0

# change the heater_fan section name to match the tool you are configuring:
# T0_hotend_fan, T1_hotend_fan, etc.
[heater_fan T1_hotend_fan]
pin: SHT1:PB10
heater: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
heater_temp: 50.0
# tachometer_pin: SHT1:PB10
# tachometer_ppr: 2

# change the fan_generic section name to the tool you are configuring:
# T0_partfan, T1_partfan, etc.
[fan_generic T1_part_fan]
pin: SHT1:PB11

# change the tool section name to the tool you are configuring:
# T0, T1, etc.
[tool T1]
tool_number: 1 # change to the index of the tool. 0, 1, 2, etc.
extruder: extruder1 # change to match the extruder you are configuring: extruder, extruder1, etc.
fan: T1_part_fan
detection_pin: !SHT1:PA1
params_park_x: 0 # The absolute X-position of the tool in its dock.
params_park_y: 0 # The absolute Y-position of the tool in its dock.
params_park_z: 0 # The absolute Z-position where the tool and shuttle mate in the dock, determined when the TAP (or Z-probe) triggers.
gcode_x_offset: 0 # The X-Axis offset of the nozzle's orifice in relation to tool 0
gcode_y_offset: 0 # The Y-Axis offset of the nozzle's orifice in relation to tool 0
gcode_z_offset: 0 # The Z-Axis offset of the nozzle's orifice in relation to tool 0

# Results from input shaper
params_input_shaper_type_x: 'mzv'
params_input_shaper_freq_x: 52
params_input_shaper_type_y: 'mzv'
params_input_shaper_freq_y: 37.2

# change the neopixel section name to the tool you are configuring:
# T0, T1, etc.
[neopixel T1]
pin: SHT1:PB0
color_order: GRBW
chain_count: 23
initial_RED: 0.5
initial_GREEN: 0.0
initial_BLUE: 0.5
initial_WHITE: 0.0

# change the gcode_macro section name to the tool you are configuring:
# T0, T1, etc.
[gcode_macro T1]
variable_active: 0 # Must be zero.
variable_color: "" # Leave empty
gcode:
    SELECT_TOOL T=1 # change to the index of the tool. 0, 1, 2, etc.
Example PRINT_START Macro
[gcode_macro PRINT_START]
gcode:
  {% set TOOL = params.TOOL | default(0)| int %}
  {% set TOOL_TEMP = params.TOOL_TEMP | default(0) | int %}
  {% set BED_TEMP = params.BED_TEMP | default(0) | int %}

  {% if printer.tool_probe_endstop is defined %}
    M117 Disabling crash detection
    STOP_CRASH_DETECTION
  {% endif %}

  M117 Heating Bed
  M190 S{BED_TEMP}

  M117 Homing
  G28

  T0 ; Ensure we have T0 active for pre print calibrations.

  M117 Quad Gantry Level
  QUAD_GANTRY_LEVEL

  G28 Z ; Home Z again after QGL

  BED_MESH_CALIBRATE ADAPTIVE=1 ; Run adaptive bed mesh

  ; Switch to the initial printing tool and preheat it.
  {% if TOOL > 0 %}
    M104 T0 S0 ; Shutdown T0.
      T{params.TOOL} ; Switch to the initial printing tool
  {% endif %}

  M117 Waiting on T{params.TOOL} S{TOOL_TEMP}C
  M109 S{TOOL_TEMP} ; Wait for the tool to reach the target temperature

  {% if printer.tool_probe_endstop is defined %}
    M117 Re-enabling crash detection
    START_CRASH_DETECTION
  {% endif %}
Example PRINT_END Macro
[gcode_macro PRINT_END]
gcode:
  {% set th = printer.toolhead %}
  {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %}
  {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %}
  {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %}

  M220 S100 ; Set Feed rate to 100%
  M221 S100 ; Set Flow rate to 100%

  SET_PRESSURE_ADVANCE ADVANCE=0 ; Disable pressure advance

  G92 E0 ; zero the extruder
  G1 E-2.0 F3600 ; retract filament
  M400 ; wait for buffer to clear

  T0 ; Switch to tool 0

  G90 ; absolute positioning
  G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing
  G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear

  SET_GCODE_OFFSET X=0.0 Y=0.0 Z=0.0 ; reset gcode offset

  {% for tn in printer.toolchanger.tool_numbers %}
      M104 S0 T{tn} ; shutdown tool heater
      M107 T{tn} ; shutdown tool fan
      SET_STEPPER_ENABLE STEPPER=extruder{tn if tn > 0 else ''} ENABLE=0 ; disable extruder stepper
  {% endfor %}

  M140 S0 ; shutdown bed heater