Latest build — 2026-09-04 (v1.3.1). One thread, and it starts with a bug report that read like a
hardware fault.
An owner hit MCU 'mcu' shutdown: Timer too close while homing. Running one command by hand fixed it.
That turned out not to be their problem at all — it was ours, and it had been sitting on printers
quietly.
(1) A guard could come back empty, and nothing said so. Every fix in this kit heals itself because
klipper.service runs a series of ExecStartPre guards before it starts. The root filesystem is
mounted with a 120-second commit interval, so a file written seconds before the plug is pulled can come
back with its name intact and its contents gone — and the kit asks for a power-cycle right after
writing them. Six of them were in that state on the development printer. The guards simply stopped
running, and the screen that lists them reported all twelve as fine, because it asked the directory
rather than systemd. They are flushed to disk now, and an empty guard file is named as empty with what
to run.
(2) One of those files was the only way back in. It carries the single step that runs as root, and
losing it left the printer asking for a power-cycle for ever and applying nothing: an update still
arrived and could not put itself into effect. The only exit was an SSH session. A printer in that
state now repairs itself, unattended. It costs 854 ms of boot on a healthy machine and is silent
there.
(3) A guard you switched off came back on. optimize-boot.sh had rewritten every guard file
unconditionally since the day it was written, so the next update undid the decision — and both
checkers then reported the guard as on, so nothing told you. It now leaves a guard you disabled alone,
and says that it did. The same applies to the reconcile check, whose switch the routine update path
went around entirely.
(4) The CPU fence is watched now. The setting that keeps Timer too close away was the one file no
checker could see, because a loop built its path from a variable and nothing that reads the script
could find it.
(5) ARCO_SUPPORT is in the manual at all, and the Z-offset button is documented where somebody
looking for it will be — under Calibration, with what the paper test actually measures.
The pre-built image below is freshly baked (2026-09-04) and carries this kit, on the stable
channel, with the guards pre-installed and verified non-empty.
Arco Unleashed — Full Image (pre-built, flash & run)
A complete Debian Bookworm + Klipper v0.13 image for the Phrozen Arco. Includes the Klipper
stack, the arco-unleashed kit (setup menu, AMS auto-mode, Mainsail theme) and the Arco configuration.
No proprietary Phrozen software is included — you supply Phrozen's official Arco_FW_V*.zip
yourself, or let the printer fetch the display module from Phrozen's own public repository once you
confirm.
📦 What to download
| Asset | You need it for |
|---|---|
Arco-Unleashed-USB.zip |
everything — the image, its checksums, the self-flash tool and all guides. |
Arco-Reflash-to-Buster-USB.zip |
only if you ever want to go back to stock Phrozen Buster. |
Two downloads, and most people need only the first. The image lives inside Arco-Unleashed-USB.zip
together with its .sha256 and .rawsize, so there is one thing to fetch and nothing to mismatch —
and collect_data_arco.sh is in there too, at the top level, for the one case that still needs it.
Flashing it
Extract Arco-Unleashed-USB.zip onto the root of a FAT32 stick — plugged straight into the
printer, never through a hub. Phrozen's Arco_FW_V*.zip is optional: bring it only if the printer will
have no internet during setup, or if you want PhrozenGo. Then SSH in as mks and:
cd ~/printer_data/gcodes/USB
sh prepare_unleashed_self_flash.shIt unpacks the flasher — replacing whatever was in ~/selfflash, so the version that runs is always the
one on this stick — and asks whether to start it. Answer y, give your password, and take 3 —
Install. Type yes to the disclaimer and then the target device in full. Leave the stick in: the
display shows check → write → verify, and write and verify both say DO NOT POWER OFF, and both mean
it. The printer restarts by itself.
There is one hands-on step afterwards, and it is not optional: flashing the MCUs, which needs two
buttons pressed inside the toolhead. The MANUAL pictures every screen of it.
Going back
Take the backup the installer offers as menu item 2 before you flash — it images the whole eMMC
onto your stick, no teardown. Phrozen publish no stock image for download, though their support has
supplied one on request; a copy you take yourself is this printer, with your calibration, available
the moment you want it. Note that the eMMC is only half the machine: a return to stock also needs both
MCUs flashed back to v0.11, which the setup menu's going back to Buster does in the right order.
Documentation: MANUAL ·
QUICKSTART ·
README
Arco Unleashed is an independent, community-made project. It is not endorsed, supported or distributed
by Phrozen, and Phrozen cannot be asked for support on a printer running it. Use at your own risk — this
will very likely void your warranty.