Open-source project
ArmoredTurtle/BoxTurtle avatar
ArmoredTurtle/BoxTurtle

BoxTurtle is an AMS you print yourself, and its parts list is the risky part

Modular compact automated filament changer for klipper 3d printers

1,189 stars88 forksUnknownGPL-3.0

At a glance

What is it?
BoxTurtle is a GPL-3.0 open source AMS style filament changer for Klipper 3D printers, delivered as CAD, STL files, a bill of materials, wiring diagrams and a printed assembly manual. It needs the AFC-Klipper Add-On to run, and the sourcing warnings in the README are more pointed than any of the documentation.
Who is it for?
BoxTurtle fits a Klipper user, most obviously a Voron owner, who wants multi material printing on a machine that never had a stock filament changer and is prepared to print the parts, wire the board and accept that support runs through a Discord and a documentation site rather than a firmware release cycle.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

An AMS for a printer that never had one

BoxTurtle is described as an open source AMS style filament changer for Klipper machines, and the project's own framing is blunt: it is exactly what it appears to be. The problem it addresses is that Klipper, a firmware used on converted and hobby built 3D printers, has no first party multi material system, while the well known automatic filament changers are tied to their own printer and their own firmware. BoxTurtle's stated goal is a user experience close to an AMS in vanilla Klipper, an AMS for any klipperized printer regardless of form factor, with Voron Design printers called out in particular.

The audience is therefore a maker with a printer, not a purchaser of a printer. A person who buys a machine that already has a factory filament changer has no reason to look at this. A person who runs Klipper on a converted printer and wants to print in multiple colours or materials does, and the appeal is that the design is open: the geometry is published, so it can be adapted to a printer whose footprint no commercial unit fits.

There is one hard dependency that shapes everything else. BoxTurtle requires the AFC-Klipper Add-On, a separate project in the same organisation, to drive it. So this is not a drop in mechanical upgrade; the behaviour comes from a Klipper add-on, and the hardware is the part you build.

The repository is a parts package, not a codebase

The top level of the project tells you what kind of thing this is: BT_BOM.md, BT_Wiring/, BoxTurtle_Manual.pdf, CAD/, ERRATA.md, Initial_Startup.md, LICENSE.md, README.md and STLs/. There is no source tree, no build system and no package manifest, because there is nothing to compile. What a builder needs is here instead: a bill of materials, printable geometry in two forms, wiring material, a PDF manual and a startup procedure.

The split between CAD/ and STLs/ is the first practical decision. The CAD files are the editable source, which matters if your printer needs a modified bracket or a different form factor, and the STLs are the ready to slice files for the parts you are not changing. BT_Wiring/ covers the electrical side, where a filament changer involves a controller board, motors and sensors rather than a single data cable.

The PDF manual and Initial_Startup.md cover different phases. The manual is the assembly reference, and the startup document is the first run, so a builder can assemble over several sessions and then follow a separate checklist when the machine is put on the printer for the first time. ERRATA.md is the file to read before you order anything, since it is where corrections to earlier instructions would land.

Sourcing is the part the project worries about in writing

The README spends more words on procurement than on the mechanism, and the tone is a warning rather than a recommendation. BoxTurtle can mostly be self sourced, and some vendors offer partial or full kits. Vetted vendors have dedicated channels on the Armored Turtle Discord and appear on the vendor list on the documentation site. A kit from a vendor that is not on that list, the project states plainly, has not been validated in any way by the team for quality or completeness, and it suggests using a vendor from the list whenever possible.

The specific caution is about a controller board. Buyers are told to make sure the kit comes with an AFC-Lite controller board, and the README names vendors such as Blurolls selling kits on AliExpress with an AFC-X board instead, described as subpar in manufacturing quality in the sample the team purchased. That unit survived two days, and the project is careful to say it has not evaluated further units beyond that. The factual limit is worth respecting: this is one sample, and the finding is a caution rather than a proven failure rate.

The closing instruction is the practical one. If you have questions about the legitimacy of a kit, research before purchasing, and the page links to the caveat emptor article. For a build where you will solder, print and calibrate, a board that fails in the first week costs more than the price difference between board variants.

The add-on dependency decides which machines qualify

Because the behaviour comes from the AFC-Klipper Add-On, the real constraint on adoption is firmware side rather than mechanical. A printer has to be running Klipper, and the add-on has to be able to drive the mechanism BoxTurtle provides. The project does not list supported printer models, supported Klipper versions or the minimum add-on version in the README, so a builder has to check the AFC-Klipper Add-On project and the documentation site for that compatibility matrix.

That missing matrix is a real gap for a procurement decision. An AMS style changer is a mechanical and electrical addition to a machine, and whether a given printer can host it depends on form factor, available space, bed clearance and the mounting assumptions in the CAD files. The design intent is form factor independence, which is encouraging, but intent is not a table of supported builds.

The contrast with a proprietary unit is the whole argument for the project, in one line. A closed filament changer is a product you connect and use, and it works with the printer it was sold for. BoxTurtle is a set of parts you make yourself and a Klipper add-on that drives them, so it can follow a printer that no commercial unit supports, at the cost of assembly time, calibration and a support community instead of a vendor.

A first build runs through five documents in order

There is no command line here, and no install step to copy, so a first build is a document sequence. Start with BT_BOM.md to learn the full parts list before ordering anything, since the sourcing warnings above only make sense once you know which components the design expects, including the controller board variant. Then take the geometry from STLs/ for the parts as designed, or from CAD/ if the printer needs a different shape, and print them.

Assembly follows BoxTurtle_Manual.pdf, and the electrical work follows the files in BT_Wiring/. When the machine is assembled and mounted, Initial_Startup.md is the first run procedure, and ERRATA.md is the set of corrections that applies to the manual and the instructions you have been following. Keep that file open during the build rather than reading it at the end, because an erratum found after the parts are printed is a cheaper fix than one found after the wiring is done.

The full documentation, including assembly manuals and more, lives on the official ArmoredTurtle documentation site rather than in the repository, so the repository files are the starting set and the site is where the current versions live. If your manual page and the PDF disagree, the site is the newer of the two, which is the general risk with a printed manual that is not reissued.

Revision tracking lives in a file, and the licence is copyleft

There are no GitHub releases for this project, so there is no version list, no tag to pin and no release notes. Hardware projects of this kind rarely have one, and the substitute is ERRATA.md, which tells you what changed in the instructions rather than what changed in the design. Combined with the documentation site, that is the whole upgrade story: there is no firmware update path here, and the moving parts are the add-on you already maintain in Klipper and the printed plastic you made yourself.

The repository is not archived, and the last push was on 2026-08-05. There is a Discord server linked from the README, and a PayPal link for supporting the work, alongside a note that BoxTurtle can mostly be self sourced. The licence is GPL-3.0, which for a mechanical design means that published versions of the CAD and the printed parts carry copyleft obligations for anyone who distributes a modified set, while the hardware itself is of course the buyer's once printed.

The honest summary for an adopter is that this is a well documented open hardware project with a candid procurement section, not a released product. The value is in the geometry, the wiring material and the manual. The risk sits in the parts you buy and in the support channel, which is a Discord rather than a warranty.

Editorial conclusion

BoxTurtle fits a Klipper user, most obviously a Voron owner, who wants multi material printing on a machine that never had a stock filament changer and is prepared to print the parts, wire the board and accept that support runs through a Discord and a documentation site rather than a firmware release cycle. It does not fit anyone who needs a turnkey unit with a warranty and a support desk, and it is the wrong shape of project for a team that needs signed, versioned, changelogged releases. Verify first that your printer and firmware can carry the AFC-Klipper Add-On, then check whether the board in your kit is the AFC-Lite rather than the AFC-X, because the README states the AFC-X sample it bought survived only two days.

Frequently asked questions

What is BoxTurtle and what does it do?

BoxTurtle is an open source AMS style filament changer for Klipper 3D printers, described as an AMS for any klipperized printer regardless of form factor, with Voron Design printers called out in particular.

What does BoxTurtle need in order to work?

It requires the AFC-Klipper Add-On, a separate project from the same organisation, since the behaviour comes from that Klipper add-on rather than from the printed hardware alone.

What is in the BoxTurtle repository?

The top level holds BT_BOM.md for the bill of materials, BT_Wiring/ for wiring material, BoxTurtle_Manual.pdf for assembly, CAD/ and STLs/ for the printable geometry, ERRATA.md for corrections to earlier instructions, and Initial_Startup.md for the first run.

Can I buy a BoxTurtle kit instead of printing the parts?

Yes, some vendors offer partial or full kits, and vetted vendors are listed on the ArmoredTurtle documentation site and have channels on the project Discord. The README warns that a kit bought from a vendor not on that list has not been validated by the team.

Which controller board should a BoxTurtle kit include?

The AFC-Lite board. The README cautions buyers about kits sold with an AFC-X board, describing the manufacturing quality of the sample the team purchased as subpar and noting that unit survived two days.

Official sources

  1. ArmoredTurtle/BoxTurtle on GitHub
  2. Issues
  3. License: GPL-3.0
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/armoredturtle-boxturtle.svg)](https://hysenlabs.com/projects/armoredturtle-boxturtle)

Was this useful?