A control panel for Klipper and Moonraker that lives next to Mainsail and Fluidd, and grows one widget at a time.
Built by Egyptian makers, for world makers. Happy printing. 🇪🇬
A small-team hobby project, built and tested on real printers. The code is all here to read.
Install · Uninstall · Screenshots · Widgets · Languages · Docs · Support
FilaMind Flow is a standalone single-page app that talks directly to Moonraker over REST and a WebSocket. It is a static frontend plus a small FastAPI backend, so it sits beside Mainsail and Fluidd rather than replacing them. The browser does most of the work, which keeps it light on the printer host, and the project grows one widget at a time.
curl -fsSL https://raw.githubusercontent.com/filamind-app/filamind-flow/main/scripts/install.sh | bashThis installs the backend service, serves the prebuilt UI through nginx on port 8090, and registers with Moonraker so updates are one click away. It also adds a sidebar link, and you can re-run it any time to update or repair the install.
curl -fsSL https://raw.githubusercontent.com/filamind-app/filamind-flow/main/scripts/install.sh | bash -s uninstallThis removes the service, the nginx site, the sidebar entry, the Moonraker registration, and the sudo and udev rules, while leaving the app files in place. (If you cloned the repo, cd ~/filamind-flow && bash scripts/install.sh uninstall does the same thing.)
Real screenshots from a Sovol SV08 (CoreXY), with live data from the printer.
More in the screenshot gallery, and at the top of each widget page.
| Widget | What it does | Status |
|---|---|---|
| Machine Doctor | One read-only health scan, graded A-F, each finding linking to its fix | ✅ Shipped |
| Firmware Manager | Build and flash Klipper firmware on every MCU, guided and gated | ✅ Shipped |
| Input Shaping | Turn a resonance capture into a ready [input_shaper] config | ✅ Shipped |
| Config Editor | Browse, edit, and safely save your printer's Klipper config with hardware-aware checks | ✅ Shipped |
| Max-Flow | Ramp extrusion flow to find your hotend's safe max volumetric speed | ✅ Shipped |
| Board Topology | Interactive map of your printer's control boards, linked to the hardware catalog | ✅ Shipped |
| Macro Designer | Offline G-code simulator: draw, explain, lint, and compare macros safely | ✅ Shipped |
| Hardware Browser | Curated, deduped catalog of 2,600+ parts with copy-ready Klipper configs | ✅ Shipped |
| Config Templates | Paste-ready Klipper config blocks and macros, filterable by category with one-click copy | ✅ Shipped |
| Motor Drivers | Live TMC driver inventory with datasheet-based current tuning, homing, and register editing | ✅ Shipped |
| KlipperScreen Studio | Manage the printer's touchscreen: edit config, build themes and menus, or run Kiosk mode | ✅ Shipped |
Every widget has its own page under docs/widgets/.
FilaMind Flow is tested on two machines that disagree on almost everything that matters to a control panel. The first is a Sovol SV08: an STM32F103 mainboard, TMC2209 drivers over UART, a USB toolhead, and a BTT CB1 host. The second is a Voron-class CoreXY: an STM32H723 mainboard, six TMC5160 drivers on a shared software-SPI bus, a CAN toolhead, and a Raspberry Pi 4. Bringing the second printer online surfaced the "works on my printer" class of bug, and each one turned into a generic fix.
The frontend is a Vue 3 and Vite single-page app, and a small FastAPI backend handles anything that has to run server-side. State flows through one reconnecting Moonraker WebSocket, mirrored into a shared store every widget reads from. Adding a feature means registering a widget; the core does not change. The UI ships in 19 languages, including right-to-left Arabic, with 7 switchable themes. For the full picture, see docs/ARCHITECTURE.md.
The whole interface is translated into 19 languages - every widget, not just the chrome, all 2,352 strings each. Pick one from the 🌐 menu in the header; your choice is remembered, and on first run the app matches your browser's language.
| English | Español | 简体中文 (Simplified Chinese) | 日本語 (Japanese) |
| العربية (Arabic, RTL) | Français | 繁體中文 (Traditional Chinese) | 한국어 (Korean) |
| Deutsch (German) | Русский (Russian) | Português (Brasil) | Tiếng Việt (Vietnamese) |
| Italiano | Nederlands (Dutch) | Polski (Polish) | Bahasa Indonesia |
| Türkçe (Turkish) | Українська (Ukrainian) | हिन्दी (Hindi) |
Each language is a drop-in catalog folder, so adding another needs no code changes - see Internationalization.
See CONTRIBUTING.md for local setup, the dev workflow, and how to add a widget.
| Document | What's inside |
|---|---|
| ROADMAP.md | Phase-by-phase plan and status for every widget |
| CHANGELOG.md | Release history |
| CONTRIBUTING.md | Dev workflow, conventions, and how to add a widget |
| docs/ARCHITECTURE.md | Design and data-flow deep dive |
| backend/README.md | Backend service, /api endpoints, and FILAMIND_* settings |
| docs/widgets/ | One page per widget |
FilaMind Flow is free and open source, built and maintained in spare time. If it saved you a tuning session, or you just want to see it grow, a coffee helps keep the work going. Code, data, and ideas are just as welcome.
Built and maintained by the DeltaFabs team:
- Abdelmonem Awad - eg2@live.com
- Ahmed Bebars - Ahmedbebars1@gmail.com
- Kareem Salama - Golden.kiko@gmail.com
GPL-3.0-or-later © 2026 DeltaFabs team.
