C8P Brake/Holding Motor Reference Configuration
This page provides the specific wiring method for the brake (electromagnetic holding) motor on the FLY-C8P: releasing the brake simultaneously when the stepper motor is enabled, and engaging the brake when the stepper motor is disabled. The example applies only when connecting the motor to the C8P DRIVER2 and using the PD12 brake output as described on this page — it cannot be directly applied to other motherboards or other driver slots.
- The configuration below is a reference template, not a finished configuration for direct use on all machines.
rotation_distance,run_current, motor direction, travel limits, and endstop positions must be re-confirmed based on the actual mechanical structure. - The C8P
PD12is heater output 0. When using this solution,PD12can only serve as the brake control output and must not be occupied by[extruder],[heater_bed],[heater_fan], or any other configuration. - The brake coil is an inductive load. Only ready-made brake modules or driver modules with matching rated voltage and current, and with back-EMF protection, may be used. Do not connect an unprotected coil directly to the motherboard output pins.
- Do not connect a
12V/24Vpower supply directly to the C8P logic pins. The specific wiring between the brake power supply and the motherboard output must follow the C8P wiring diagram, the brake module documentation, and rated parameters.
C8P Pin Reference: FLY-C8P Pin Distribution
Control Logic
[multi_pin tmc_heater] connects a virtual output simultaneously to !PD2 and PD12:
PD2is the EN for DRIVER2, active-low, hence written as!PD2.PD12is used to control the brake release. When the virtual output is high, the stepper driver is enabled and the brake module receives a release signal; when the virtual output is low, the stepper driver is disabled and the release signal is revoked.- If your brake module uses the opposite active level, do not copy this example directly. Verify the polarity according to the module documentation first, then have a person familiar with electrical safety adjust the corresponding pin inversion.
Klipper's multi_pin is typically used to control multiple outputs simultaneously. The following configuration is a dedicated solution for the C8P brake function; it reuses the stepper driver's enable state, not the STEP or DIR pulse signals. Do not apply multi_pin to step_pin or dir_pin.
Power-Off Wiring and Inspection
Before starting, completely power off the printer and disconnect the power supply. Do not plug or unplug motors, brake modules, power harnesses, or motherboard terminals while powered, and do not rearrange interface wiring.
- Confirm the motor is securely installed, and the platform or load has reliable mechanical support; brake release must not cause sudden dropping or movement of the mechanism.
- Confirm the brake module's rated voltage matches the printer's low-voltage power supply, and the rated current is within the allowed range of the module and the supply wiring.
- Confirm that
PD12is not used in any other configuration and that the brake module has coil-off protection. - Complete the power-off wiring according to the C8P and brake module documentation. If terminals, levels, or load parameters cannot be confirmed, stop wiring and contact after-sales support. Do not modify wiring or short-circuit test on your own.
Reference Configuration
The example below uses the C8P DRIVER2 pins and binds the brake control to the enable state of stepper_z:
[multi_pin tmc_heater]
pins: !PD2,PD12
[stepper_z]
step_pin: PE3
dir_pin: PD1
enable_pin: multi_pin:tmc_heater
rotation_distance: 10
endstop_pin: ^!PD11
position_endstop: 0
full_steps_per_rotation: 200
microsteps: 64
position_min: -3
position_max: 800
homing_speed: 10
homing_retract_dist: 20
[tmc5160 stepper_z]
cs_pin: PD0
spi_bus: spi1a
run_current: 2.0
interpolate: False
sense_resistor: 0.075
stealthchop_threshold: 0
First Power-On and Operational Verification
Before the first inspection, completely power off the printer and disconnect the power supply, confirming the motor, platform, and brake mechanism will not produce dangerous movements due to power loss or release. Do not test with an unsecured mechanism.
- After re-powering, first confirm that the Klipper configuration loads correctly; if any pin conflict or configuration error occurs, immediately power off and correct the configuration.
- In a low-risk, no-load state, use
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=0andENABLE=1to observe whether the brake module engages/releases as expected. - If the brake state is opposite to the motor enable logic, if action delays are abnormal, or if heating or abnormal noise occurs, immediately execute
M84, stop the test, and power off. Do not force operation by disabling protections, increasing current, or short-circuiting outputs. - After confirming correct brake action, use
STEPPER_BUZZfor a small-range check of motor direction and transmission; do not execute a full machine homing sequence directly.