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 mainboard. By sending specific level signals from the mainboard 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 mainboard'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 while the signal is held low
PB6Low LevelBuffer continuously retracts filamentExecutes while the signal is held low

Note: The buffer stops the action when the signal returns to a high level.

Wiring Method

Connection Steps

  1. Identify Available Mainboard 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 Mainboard        →   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 mainboard 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 (no trigger)
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 (no trigger)
shutdown_value: 1 # Maintain high level when Klipper stops

2. Configuration Parameter Description

ParameterDescriptionExample Value
pinPhysical pin number on the mainboardPG13, 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...