Skip to content

Repository files navigation

KACE — Klipper Automated Configuration Ecosystem

KACE

Klipper Automated Configuration Ecosystem

Guided printer configuration, firmware preparation and deployment for Klipper.

KACE version 0.9.4-rc.3 Status: pre-release Python 3.11+ License: GPLv3 GitHub Actions: KACE CI
Host: Linux Host: Raspberry Pi For Klipper API: Moonraker GitHub stars

🌐 English · Español · Português

KACE guides you through your printer's hardware choices to generate and review a Klipper configuration. Its terminal wizard prepares MCU firmware where supported and takes you through applying and verifying the installation.

Quick start · Hardware support · KACE Studio · Documentation

✨ What KACE does

Capability What you get
🔌 Select hardware Board/MCU selection, motors, probes, thermistors and fans.
📄 Generate configuration printer.cfg and applicable macros in ~/kace/, built from reviewed profiles and your answers.
⚙️ Prepare firmware Builds for declared MCU targets, with the available delivery method and any required manual steps.
🔎 Review changes Configuration differences before application, with supported calibration values and user-owned sections preserved.
✅ Apply and verify Host deployment, activation checks and required firmware identity checks.

🧙 Guided setup

The terminal wizard offers English, Spanish and Portuguese, with Beginner and Advanced modes.

Hardware selection → Guided configuration → Generate Klipper config
→ Build MCU firmware → Review → Apply → Verify

Firmware steps depend on the selected supported target and workflow.

The multi-Z review compares mechanics and assigned sockets side by side (with wrapping on narrow terminals). Choose Confirm and continue, Edit additional motors, or Back explicitly. Confirmation keeps the choices in the wizard; it does not write the printer configuration.

Removable TMC drivers use reviewed socket wiring even when the profile example names another chip. Cross-model mapping requires explicit motor currents; see scope and supported profiles.

🚀 Quick start

On an existing Raspberry Pi or Linux printer host, open a terminal or connect over SSH. You need Python 3.11+, Git, Bash, Python's venv support and internet access. The installer may request sudo for missing system dependencies and the kace command.

git clone https://github.com/3D-uy/KACE.git kace-source &&
cd kace-source &&
KACE_SOURCE_REF="$(git rev-parse HEAD)" bash install.sh

This installs the revision you just cloned into ~/kace/ and opens KACE. Run kace to open it again. This path follows the repository's current default branch; use the verified option below for the fixed candidate.

After reviewing the changes, confirm application and activation, then follow the hardware checks before printing.

Applying and verifying the configuration requires a working Klipper/Moonraker host. For a fresh Pi, start with KACE Studio or the manual host preparation guide.

🔒 Verified / pinned installation

For a fixed candidate with installer checksum verification, use the command below. It keeps the existing pinned reference and may differ from the current source.

Show the pinned installer command

Requires curl and sha256sum. Review the script before running it.

KACE_COMMIT='042fcc9cba81e4f4a2d927480853584754fc9f62'
KACE_INSTALL_SHA256='de7db74da6f6261bf28fa329067f9d3424bc3e5abde5db4dd91c3f66861f3500'
installer=$(mktemp)
trap 'rm -f "$installer"' EXIT
curl -fsSLo "$installer" "https://raw.githubusercontent.com/3D-uy/KACE/${KACE_COMMIT}/install.sh" &&
printf '%s  %s\n' "$KACE_INSTALL_SHA256" "$installer" | sha256sum -c - &&
KACE_SOURCE_REF="$KACE_COMMIT" KACE_EXPECTED_COMMIT="$KACE_COMMIT" bash "$installer"

🖥️ KACE Studio

KACE Studio is the companion desktop app for preparing a Raspberry Pi from Windows 10/11.

  • Write a Pi image to SD/USB and configure hostname, account, network and SSH for first boot.
  • Discover the Pi and connect through an SSH workspace.
  • Browse and download files over SFTP, then continue KACE setup on the Pi.

Studio prepares the host; KACE configures the printer. Studio requires Microsoft Edge WebView2 Runtime and is also a prerelease. See its setup instructions for installation and current image/platform choices.

🔌 Hardware and platforms

Area Current scope
KACE host Raspberry Pi / Linux with Python 3.11+; configuration activation uses Klipper and Moonraker.
Printer configuration Cartesian and CoreXY, a primary extruder and heated bed, with supported motor, probe and fan paths.
Desktop provisioning KACE Studio on Windows 10/11; Pi model and OS choices are validated by Studio.

The current board contracts declare firmware runtime paths for these exact targets:

Board MCU variant Host connection
BTT SKR Mini E3 v3.0 STM32G0B1 Native USB
BTT SKR v1.4 / v1.4 Turbo LPC1768 / LPC1769, respectively Native USB
BTT SKR Pico v1.0 RP2040 Native USB
Creality v4.2.7 STM32F103 USB serial bridge, MCU USART1
MKS Robin Nano V3 STM32F407 Native USB

These are implemented software paths, not a list of physically certified printers. Board revision, MCU, wiring, bootloader and delivery method must match the selected target. Other entries may be provisional, configuration-only or preparation-only; a searchable Klipper profile does not establish full support. Check the support scope and firmware delivery profiles for the boundaries.

🧪 Project status

KACE is pre-1.0. See VERSION for the source version, CHANGELOG for changes and ROADMAP for pending work.

  • Physical hardware validation is still pending; sensors, endstops, motion and heating need commissioning on your printer.
  • Multiple extruders, IDEX/toolchangers and general migration of arbitrary Klipper profiles are outside the current scope.
  • Guided active display generation is not yet available for a qualified board/display pair; see display support.
  • Some remote configuration changes require manual application. KACE covers initial setup and unfinished resumes; it does not monitor later edits.

📚 Documentation

Looking for… Read
Host preparation, installation and running from source Installation guide
Configuration review, deployment, concurrent edits and recovery Deployment guide
Detailed hardware and feature boundaries Support scope · Displays
Physical checks before using the printer Hardware testing
Architecture, contracts, tests and firmware build environments Development guide
Pinned versions, checksums and release validation Release guide
Planned work and recent changes Roadmap · Changelog

🛠️ Development and contributing

Bug reports, documentation improvements and contributions to reviewed hardware support are welcome. Start with the development guide for the source map, environment and relevant tests. For a bug report, include the KACE revision, host environment, exact board/MCU and reproduction steps, with credentials removed.

Follow the code of conduct. Report vulnerabilities through the security policy.

❤️ Community & Acknowledgements

Special thanks to the Klipper project and its community for the firmware, configuration examples, documentation and shared knowledge that make KACE possible.

Project Its role in KACE
 Klipper The firmware and configuration system KACE targets; reviewed upstream profiles and source underpin configuration generation and MCU builds.
 Moonraker The host API used for configuration access, activation and printer/firmware state checks.
 Mainsail &
 MainsailOS
A dashboard offered by the bootstrap, plus a preconfigured image base used by Studio.
 Fluidd An alternative dashboard installed by the bootstrap when selected, including its client configuration.
 Raspberry Pi The host ecosystem, Raspberry Pi OS image options and Imager for manual host preparation.
 Crowsnest Optional webcam streaming installed through the bootstrap.

Report bugs and suggest improvements through KACE issues.

KACE is an independent project and is not officially affiliated with or endorsed by Klipper or any other project mentioned here.

📜 License

KACE is open source under the GNU GPL v3.

Source corrections: Moonraker redirects are rejected. See development contracts for remote-operation and validation limits. The downloadable candidate is unchanged until a new release is prepared.

About

KACE Klipper Automated Configuration Ecosystem. "Automated Klipper setup tool – detects MCU, generates printer.cfg and compiles firmware automatically"

Topics

Resources

Code of conduct

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages