-
-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Welcome to the ankerctl wiki. ankerctl is a CLI and web UI for monitoring, controlling, and interfacing with AnkerMake M5 3D printers, written in Python (3.10+) using Flask. It is an open-source alternative to the proprietary AnkerMake / eufyMake Studio software, with full local LAN control, slicer integration, and raw protocol access.
This is the original Python implementation. A separate Go reimplementation exists at ankerctl_go_remake — both share the same web UI and feature set; pick whichever fits your deployment best.
- No vendor lock-in — talks to your printer locally over MQTT and PPPP without any cloud dependency once configured
- Slicer integration — print directly from PrusaSlicer, OrcaSlicer, SuperSlicer, and Bambu Studio via the OctoPrint-compatible upload API
- Full visibility — live MQTT events, video stream, print history, timelapse, bed-level heatmap
- Home Assistant ready — native MQTT Discovery for sensors, light switch, and camera entity
- Notifications — push print events to Discord, Telegram, Slack, email, and any other Apprise-supported target
- Installation — system requirements, Python install, Docker, eufyMake login.json
- Quick Start — five-minute walkthrough from clone to first print
- Configuration — environment variables, config file location, API key
-
CLI Reference — every
ankerctl.pysubcommand with examples - Web UI — page-by-page tour of the dashboard
- Slicer Integration — PrusaSlicer / OrcaSlicer / Bambu setup
- Notifications — Apprise events, snapshot attachments, light control
- Timelapse — automatic capture, resume window, light modes
- Bed Level Map — heatmap and before/after comparisons
- Home Assistant — MQTT Discovery setup
-
Docker —
docker compose, host networking, UID/GID, HA addon - Firewall ufw — required UDP ports for PPPP
- Architecture — three-tier layout, services, message flow
- Protocol Details — MQTT, PPPP, HTTP API
- API Reference — REST and WebSocket endpoints
- Development Guide — codegen, tests, contributing
- Troubleshooting — common problems and fixes
git clone https://github.com/Django1982/ankermake-m5-protocol.git
cd ankermake-m5-protocol
cp .env.example .env
docker compose up -dThen open http://localhost:4470 and either upload your login.json or sign in with your AnkerMake email and password.
Note: Docker requires
network_mode: hostbecause PPPP uses asymmetric UDP. Linux hosts only.
git clone https://github.com/Django1982/ankermake-m5-protocol.git
cd ankermake-m5-protocol
pip install -r requirements.txt
./ankerctl.py webserver runSee Installation for platform-specific details.
- GitHub Repository
- Issues
- Changelog
- Go remake
- Apprise (notifications)
- Home Assistant MQTT Discovery