Your Farm.
Your Data.
Your Control.¶
BamDude is a self-hosted 3D print farm management system for Bambu Lab printers. Monitor your fleet in real-time, queue and schedule prints, automate workflows with macros, and control everything from a Telegram bot.
Hard fork of Bambuddy with per-printer queues, swap mode, staggered start, Telegram bot, macros, maintenance history, and more.
Multi-Printer Works Offline Open Source
Why BamDude¶
BamDude is a fleet manager, not a passive backend that just listens to your slicer. The classic "slice → print → BamDude logs whatever it can" flow is fine for one or two printers, but it falls apart the moment accurate history and real spool control start mattering.
The fleet-first flow flips it: slicer → BamDude → printers. Hit Print in your slicer, route it to a BamDude virtual printer in File Manager mode, then in BamDude pick how many printers and how many copies. BamDude dispatches the file, runs swap macros, watches progress, writes history, and tracks every gram of filament — across the whole fleet, from one place.
Quick Start¶
Features¶
Real-time Monitoring¶
Live printer status via WebSocket, MJPEG camera streaming, HMS error tracking, and AMS humidity/temperature monitoring.
Per-Printer Queues¶
Independent print queues per printer with drag-and-drop ordering, scheduled prints, staggered start, and swap mode for A1 Mini plate swappers.
Print Archive¶
Automatic 3MF archiving with metadata extraction, 3D model preview, duplicate detection, and full-text search.
Telegram Bot¶
Full printer control from Telegram with inline menus, multi-chat authorization, role-based permissions, and actionable notifications.
Macros¶
G-code macros triggered by print events (start, end, pause). Built-in editor with per-printer and per-model configuration.
Notifications¶
Multi-provider alerts via Telegram, Discord, Email, Pushover, ntfy, CallMeBot (WhatsApp), Home Assistant, and custom webhooks. Per-provider quiet hours and daily digest.
Server-Side Slicing¶
OrcaSlicer + BambuStudio sidecar containers, per-job slicer picker with reachability badges, bed-type override, inline multi-plate selection, owner-filter on preset dropdowns.
File Manager + Library¶
3MF / G-code / STL / STEP library with composite tag chips (format / readiness / modifiers / provenance), chip-row filter, per-plate gallery, 3D + G-code viewer with build-volume wireframe. Page-level drag-and-drop on File Manager + per-printer queue cards + the Auto-Queue panel.
Farm Auto-Queue¶
One pool of work spread across the whole farm: jobs route to any printer whose loaded filament matches, with staggered starts, plate-clear gates and per-printer fallbacks.
Zigbee, With No Hub¶
BamDude drives the radio itself over USB or Ethernet — smart plugs and temperature / humidity sensors pair into a network it owns. No Home Assistant, no Zigbee2MQTT, no broker to keep alive.
Energy and Cost per Print¶
Watt-hours captured against the archive of each print, with hourly snapshots behind the range figures and a dynamic tariff if your supplier publishes one.
Filament and Spools¶
Spool inventory with usage tracking, colour resolution against a shared catalogue, printable labels, and two-way Spoolman sync.
Calibration¶
Flow-rate and pressure-advance runs with the K-profiles they produce, plus device calibration — bed levelling, vibration, motor noise, nozzle offset — gated to what each model actually supports.
Maintenance¶
Per-printer service intervals counted in print hours, with what is due surfaced on the printer card and markable from the web or the bot.
Virtual Printer¶
Send from the slicer to a printer that is not there: the file lands in the library as something you can browse, tag and print later, rather than in the archive.
Authentication¶
Always on. Permission groups per user, TOTP and email 2FA, OIDC single sign-on, and scoped API keys for everything that is not a browser.
Supported Printers¶
| Series | Models |
|---|---|
| X1 Series | X1, X1 Carbon, X1E |
| H2 Series | H2D, H2D Pro, H2C, H2S |
| P1 Series | P1P, P1S |
| P2 Series | P2S |
| X2 Series | X2D |
| A2 Series | A2L |
| A1 Series | A1, A1 Mini |
Tech Stack¶
Backend¶
Python FastAPI SQLAlchemy + SQLite
Frontend¶
React TypeScript Tailwind CSS
Communication¶
MQTT over TLS FTPS WebSocket
Where this came from¶
BamDude grew out of a volunteer workshop. Its author volunteers with DrukArmy — Ukraine's largest volunteer 3D-printing effort for the front line — printing, and running the FPV direction as senior curator.
Batches, deadlines and a farm that has to keep moving around the clock do not fit any off-the-shelf tool, so every feature here earned its place on a real order first. That is also why Ukrainian is a first-class locale rather than an afterthought.
Partners¶
-

Ukraine's largest volunteer 3D-printing community, printing for the front line. BamDude was born in this workshop — and if you have a printer, there is useful work waiting for it.
-

A volunteer 3D-printing initiative: a 24/7 print farm making plastic gear for Ukraine's defense forces, with fully transparent finances — everything public, counted automatically.
-

Ukraine's #1 3D-printing marketplace: post a job and verified makers place blind bids — FDM, SLA and SLS printing, 3D modelling and post-processing.
Support the project¶
BamDude is free and stays free — AGPL-3.0, no paid tiers, no pro edition. The most valuable support is a bug report, a translation PR or a star on GitHub. If you would rather chip in:
| Monobank jar | send.monobank.ua/jar/2vREyf3SrF |
| PayPal | [email protected] |
| USDT (TRC20) | TWe1MaXz7mpDZZqDkY7Az7NdZ6s9H5fvMF |
Made with for the 3D printing community