Skip to main content

Motherboard Signal Control Buffer

Functional Overview

The FLY-LLL PLUS buffer supports remote control via GPIO pins on the 3D printer's motherboard. By sending specific level signals from the motherboard to designated pins on the buffer, the buffer can automatically execute filament feeding or retracting actions, enabling fully automatic filament management without manual operation.

Working Principle

When the motherboard's GPIO pin outputs a low-level signal, the buffer detects this signal and performs the corresponding action:

Buffer PinTrigger SignalAction PerformedDuration
PB5Low LevelBuffer continuously feeds filamentExecutes continuously while the signal is held
PB6Low LevelBuffer continuously retracts filamentExecutes continuously while the signal is held

Note: After the signal returns to a high level, the buffer stops the action.

Wiring Method

Connection Steps

  1. Identify available motherboard pins:

    • Select two free endstop pins for feed and retract control.
    • Ensure the pins support output functionality (can be configured as output_pin).
  2. Connect signal wires:

    3D Printer Motherboard       →   FLY-LLL PLUS Buffer
    GPIO Pin (e.g., PG13) → PB5 (Feed Signal Input)
    GPIO Pin (e.g., PG14) → PB6 (Retract Signal Input)
    Any GND Pin → GND (Ground)
Loading...

Wiring Precautions

  1. Pin Type: Ensure you select endstop pins, not dedicated function pins.
  2. Voltage Matching: The motherboard output signal voltage should be 3.3V or 5V; the buffer supports both voltages.

Klipper Configuration

1. Basic Configuration

Add the following configuration to the Klipper configuration file (e.g., printer.cfg):

# Define buffer feed control pin
[output_pin _buffer_feed]
pin: PG13 # Replace with your actual connected pin (connected to buffer PB5)
value: 1 # Initial state is high level (not triggered)
shutdown_value: 1 # Maintain high level when Klipper stops

# Define buffer retract control pin
[output_pin _buffer_retract]
pin: PG14 # Replace with your actual connected pin (connected to buffer PB6)
value: 1 # Initial state is high level (not triggered)
shutdown_value: 1 # Maintain high level when Klipper stops

2. Configuration Parameter Description

ParameterDescriptionExample Value
pinPhysical pin number on the motherboardPG13, PA0, PC5, etc.
valueInitial pin state (0=low level, 1=high level)1 (high level)
shutdown_valuePin state when Klipper stops1 (high level)

3. Create Control Macros

For ease of use, you can create dedicated G-code macros:

# Buffer feed macro
[gcode_macro BUFFER_FEED]
description: Control buffer feeding
gcode:
# Set feed pin to low level, triggering buffer feed
SET_PIN PIN=_buffer_feed VALUE=0
M118 "Buffer started feeding"

# Optional: Automatically stop after a period
# G4 P3000 # Wait 3 seconds
# SET_PIN PIN=_buffer_feed VALUE=1
# M118 "Buffer stopped feeding"

# Buffer retract macro
[gcode_macro BUFFER_RETRACT]
description: Control buffer retracting
gcode:
# Set retract pin to low level, triggering buffer retract
SET_PIN PIN=_buffer_retract VALUE=0
M118 "Buffer started retracting"

# Optional: Automatically stop after a period
# G4 P2000 # Wait 2 seconds
# SET_PIN PIN=_buffer_retract VALUE=1
# M118 "Buffer stopped retracting"

# Stop all actions macro
[gcode_macro BUFFER_STOP]
description: Stop all buffer actions
gcode:
SET_PIN PIN=_buffer_feed VALUE=1
SET_PIN PIN=_buffer_retract VALUE=1
M118 "Buffer stopped"

Usage Method

1. Basic Control Commands

Execute the following commands in the Klipper terminal:

# Start feeding (buffer feeds continuously until signal stops)
SET_PIN PIN=_buffer_feed VALUE=0

# Start retracting (buffer retracts continuously until signal stops)
SET_PIN PIN=_buffer_retract VALUE=0

# Stop all actions
SET_PIN PIN=_buffer_feed VALUE=1
SET_PIN PIN=_buffer_retract VALUE=1
Loading...