Skip to content

ArmoredTurtle/BoxTurtle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoxTurtle V1.0

BoxTurtle Automated Filament Control (requires AFC-Klipper-Add-On (Beta))

BT_Render Join me on Discord

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.

How it works

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

For best results

AFC Klipper Add-On

BoxTurtle was designed in tandem to work with the AFC Klipper Add-On. For information on installing and configuring the AFC Klipper Add-On, please visit that repository for the most comprehensive detail. Most common configuration options are prompted for during the installation process. Some of the options presented are covered below at a high level.

Filament cutter or tip forming?

BoxTurtle works most reliably with a toolhead filament cutter. Our recommended toolhead cutter solution is FilamATrix. Please visit that Github repository for the most up to date instructions and information. Ensure that toolhead cutting is selected during installing the AFC Klipper Add-On, or enable it manually by editing AFC/AFC.cfg and restarting Klipper.

If a toolhead filament cutter is not a possibility, tip forming is also an option. This is enabled via the installation script or by editing AFC/AFC.cfg and restarting Klipper. Tip forming is extremely dependent on your printer, filament and even environment and guidance on properly tuning this is outside the scope of this document. Please visit the ArmoredTurtle Discord for community support on tip forming.

Filament sensor

A pre-extruder toolhead filament sensor is recommended but not required if using a TurtleNeck or TurtleNeck 2 filament buffer. A post-extruder filament sensor can be defined in the AFC configurations, but is not currently used beyond reporting status of the sensor.

Options include:

Waste management

Pooping, Kicking, and Wiping?

One option for filament purge/waste can be to have the printer 'poop' blobs of filament on the bed, have the nozzle cleaned with a brush/wipe, and hten return the toolhead near the blob and kick off the bed using kinematics into a bucket or other waste evacuation system. This works similar to the method used by Blobifier, but does not require servo actuation. Enabling poop/kick/wipe macros can result in more reliable filament changes and color separation, at the cost of additional time during each filament swap. Each option can be enabled or disabled during the AFC installation process, or by editing AFC/AFC.cfg and restarting Klipper.

Prime towers

Filament prime towers can be used standalone, or in combination with the above to minimize the chance that no blobs or oozes from the filament change process make it on to your final print. However, if you are using pooping as described above, you likely need far less purging than the default slicer settings suggest. You can adjust the 'flushing volumes' in most slicers, as well as the size of your prime/purge tower. A decent starting setting for these might be a flushing volume multiplier of 0.1-0.2 and a tower width size of 20mm.

If you want to rely solely on the poop purge, a static size wipe tower can be set by disabling the 'Purge into Prime Tower' setting in your slicer software's "Printer Settings".

Different filament color transitions will require different purge volumes, and thus tuning this is highly dependent on your filaments and prints you are performing.

Enclosure

The enclosure option for BoxTurtle has been moved to its own repository. The enclosure is still under development, but the most up to date information on it can be found at that repository. Also considering joining the ArmoredTurtle Discord to get progress updates as development progresses.

Manual

ArmoredTurtle'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

Printed Parts

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.

If you have an LDO BoxTurtle kit, these are the options to pick on the web-based configurator:

  • Would you like normal or monolithic skirts? - your choice. If you can fit monolithic on your printer, it has a more unified look vs the split parts. We recommend a 350mm minimum size bed for this, but you may be able to get them to squeak in on a ~300-305mm plate.
  • Would you prefer a hub or pass through skirts? - Hub is our recommended default choice.
  • Are you using printed corners or extrusion corners? - Printed corners
  • LED corners or plain? - Plain
  • Are you using D2F or D2HW style switches? - D2HW
  • Are you using an AFC-Lite or BTT MMB/Mosfetti board? - AFC-Lite
  • Would you like to print the Hardware or No-Hardware version of the trays? - Choose No Hardware if you have a minimum 235x235mm bed. Some Ender-style printers have a maximum 220x220mm printable voluem, and so the 'bars' that slot into the extrusion require hardware (heatsets/screws) to attach to the tray.
  • What style tray would you like to print? Plain, Inlay, Multicolor, or Desiccant? - Again, a bit of personal choice. Plain would be the base option, but there's no reason you couldn't print the others. An enclosure is in the works so if you wanted to future proof for that, desiccant trays are available (in two sizes).
  • Would you like to print a TurtleNeck buffer? - Yes

If all of the above sounds a bit overwhelming, you can print all of the parts in [LDO_BoxTurtle_Kit_STLs.zip]((https://github.com/ArmoredTurtle/BoxTurtle/tree/main/STLs/STLs/LDO_BoxTurtle_Kit_STLs.zip) and they will be the right ones to build a functioning BoxTurtle.

This is NOT a VORON Design project, we strongly recommend that you run a profile that is specific to BoxTurtle. Voron parts profiles are not recommended for BoxTurtle printed parts.

There is a calibration print that you may like to print before getting started here.

How to create a meshed look on the skirts

There are a few ways to create a 'meshed' look on the hexes on the skirts, using your slicer.

  • On the print settings profile, set top and bottom layers to 0. Adjust infill pattern, density and angle to suit your preference.
  • You can also do a height range modifier on the part from 0-3.6mm to set top/bottom layers to 0, and infill pattern, desnity and angle to suit your preference.
  • If you would like a different color for the hexes, you can do a color swap at layer 19 (3.8mm with 0.2mm layer heights).

Wiring

BoxTurtle_AFC-Lite_Pinout

Refer to BT_Wiring/README.md for recommended wire lengths for each lane.

PTFE sizes/lengths

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.

Slicer configuration

Orca Slicer is the preferred and recommended slicer for BoxTurtle and AFC.

Printer Settings

Orca_Pinter_Settings

Add Multiple Filaments

Orca_Add_Filament_Settings

Printer Machine G-Code

M104 S0 ; Stops OrcaSlicer from sending temperature waits separately
M140 S0 ; Stops OrcaSlicer from sending temperature waits separately
PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] TOOL={initial_tool}

Change Filament G-Code

T[next_extruder]

Additional Slicer configuration - pre-OrcaSlicer 2.2.0

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.

Material Settings

Orca_Material_Settings

Ramming Settings

Because the AFC-Klipper-Add-On handles any tip forming in the extension, we need to disable these specific settings in the slicer software. Below is a screenshot for OrcaSlicer, but most Slic3r-based slicers have a similar dialog/setting. Orca_Ramming_Settings

Example PRINT_START macro

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

BoxTurtle sourcing/vendors

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.

If you purchase a kit from a vendor not on this list, it has not been validated in any way by the ArmoredTurtle team for either quality or completeness. For best results we recommend using a trusted vendor from the list below whenever possible. If you are a vendor and would like to be added to this list, please open a ticket on our Discord to request being added.

US:

EU:

UK:

AU:

Merch

  • BoxTurtle T-Shirt ($3 from each sale goes to support ArmoredTurtle) via Cotton Bureau- also has sweatshirt/hoodie variants
  • BoxTurtle Sticker via Dr. Mursey