Skip to content

Repository files navigation

FilaMind Flow

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.

Support on Ko-fi

CI Release License: GPLv3 Klipper Moonraker

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.

Install

curl -fsSL https://raw.githubusercontent.com/filamind-app/filamind-flow/main/scripts/install.sh | bash

This 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.

Uninstall

curl -fsSL https://raw.githubusercontent.com/filamind-app/filamind-flow/main/scripts/install.sh | bash -s uninstall

This 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.)

Screenshots

Real screenshots from a Sovol SV08 (CoreXY), with live data from the printer.

FilaMind Flow dashboard

More in the screenshot gallery, and at the top of each widget page.

Widgets

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/.

Tested on real printers

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.

How it's built

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.

Languages

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.

Develop

See CONTRIBUTING.md for local setup, the dev workflow, and how to add a widget.

Documentation

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

Support

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.

Support on Ko-fi

Credits

Built and maintained by the DeltaFabs team:

License

GPL-3.0-or-later © 2026 DeltaFabs team.

About

Extensible Neo-Brutalist control panel for Klipper / Moonraker — firmware flashing, input shaping, and TMC motor-driver tooling. Vue 3 + FastAPI, one widget at a time.

Topics

Resources

Contributing

Stars

24 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages