BoxTurtle Automated Filament Changer (requires AFC-Klipper-Add-On (Beta))
BoxTurtle is exactly what it appears to be — an open source AMS style filament changer for Klipper machines. BoxTurtle requires the AFC-Klipper Add-On (found here). The goal of BoxTurtle is to deliver a user experience as close to an AMS as possible in vanilla Klipper. i.e. an "AMS" for any klipperized printer regardless of form factor but VORON Design printers in particular.
If you appreciate the work we are doing, you can support us here.
BoxTurtle is an automated, lane-based filament changing system, also known by some as a "Type B MMU." Each lane is equipped with its own dedicated motor that moves filament to and from the tool head independently, eliminating the need for a selector cart or servos.
To accommodate any differences in rotation distance between the extruder in the tool head and the lane motors, BoxTurtle uses a toolhead buffer, like TurtleNeck by ArmoredTurtle. This system is "bufferless," meaning no filament boxes (no spaghetti boxes) are required, similar to the AMS. Each lane features an independent respooler equipped with a brushed motor, which helps rewind the spool and assists the lane motor in feeding the filament smoothly. This prevents issues like spool tangling or "bucking."
For precise PWM control of the brushed motors, BoxTurtle relies on a custom MCU, AFC-lite, developed by Isik's Tech @xbst
The enclosure option for box turtle has been moved to it's own repository.
Armored Turtle's project manuals are hosted here. There is no PDF, this is intended to make the build experience as easy as possible. BoxTurtle Assembly Manual
If you purchased a kit, all of the parts you need to print are located in the Base_Build folder under STLs on this repository. There is also a web-based configurator available for easy identification and download of what STLs to print outside of a base kit build.
This is NOT a VORON Design project, we strongly recommend that you run a profile out specific to BoxTurtle. Voron parts profiles are not recommended.
There is a calibration print that you may like to print before getting started here.
Refer to BT_Wiring/BoxTurtle_Wiring.xlsx or BT_Wiring/BoxTurtle-Wiring.md for recommended wire lengths for each lane.
Component | Outer Diameter | Inner Diameter | Length | Notes |
---|---|---|---|---|
Feeders to Trigger | 4mm | 3mm | 50mm | Quantity 4 ; use PTFE cutter jig |
Trigger to Extruder | 4mm | 3mm | 80mm | Quantity 4 ; use PTFE cutter jig |
Extruder to Hub (Outer lanes) | 4mm | 2mm | 171mm | Quantity 2; 3mm ID will blow out. A chamfer is recommended on each end. |
Extruder to Hub (Inner lanes) | 4mm | 2mm | 101mm | Quantity 2; 3mm ID will blow out. A chamfer is recommended on each end. |
Orca Slicer is the preferred slicer for BoxTurtle use.
M104 S0 ; Stops OS from sending temp waits separately
M140 S0
PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] TOOL={initial_tool}
T[next_extruder]
Configuring per-material filament ramming is no longer required as of the official OrcaSlicer 2.2.0 release (PR #6934). If you are on an earlier version than that (including betas/release candidates) you will need to make the following additional changes to your slicer configurations.
Please note this is just an example macro to show how to incorporate the initial tool into your print start macro. Please adjust it to match your printer setup. A good starting point for a PRINT_START macro is jontek2's "A Better PRINT_START macro"
[gcode_macro PRINT_START]
gcode:
{% set BED_TEMP = params.BED|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER|default(195)|float %}
{% set S_EXTRUDER_TEMP = 150|float %}
{% set initial_tool = params.TOOL|int %}
G90 ; use absolute coordinates
M83 ; extruder relative mode
G28 # Home Printer
# Do any other leveling such as QGL here
AFC_PARK
M140 S{BED_TEMP} # Set bed temp
M109 S{EXTRUDER_TEMP} # wait for extruder temp
T{initial_tool} #Load Initial Tool
M104 S{S_EXTRUDER_TEMP} # set standby extruder temp
M190 S{BED_TEMP} # wait for bed temp
G28 Z
# Bedmesh or load bedmesh
AFC_PARK
M109 S{EXTRUDER_TEMP} ; wait for extruder temp
# Add any pre print prime/purge line here
# Start Print
While BoxTurtle can be mostly self-sourced, some vendors offer partial or full BoxTurtle kits. These vendors also have dedicated channels on the Armored Turtle Discord.
US:
- DLLPDF sells a BoxTurtle frame kit
- Isik's Tech has BOM parts, including full kits here. Isik's Tech also ships internationally.
- Fabreeko
- KB3D
- West3D
EU:
- Alchemy3D.de has a BOM in a box kit
- Lab4450.com resells the AFC-Lite MCU
- 3DO
UK:
AU:
- BoxTurtle T-Shirt ($3 from each sale goes to support ArmoredTurtle) via Cotton Bureau- also has sweatshirt/hoodie variants
- BoxTurtle Sticker via Dr. Mursey