Skip to content
/ bamx Public

BamX is a Dashboard + Backend API for managing Bambu Lab 3D print jobs, printers, and filament usage. It is designed to connect to [Bambu Connect (beta)](https://bambulab.com/) — which runs on the host (macOS/Windows)

License

Notifications You must be signed in to change notification settings

culpur/bamx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

BamX

Python
Docker
Flask
License: MIT
Status


🚀 Overview

BamX is a Dashboard + Backend API for managing 3D print jobs, printers, and filament usage.

It is designed to connect to Bambu Connect (beta) — which runs on the host (macOS/Windows) — while BamX itself runs in Docker. BamX provides:

  • A backend API for jobs, printers, filament, and metrics.
  • A Dashboard UI for live monitoring of printers, jobs, and usage.
  • Persistent state using JSON files under /data.
  • Integration layer to communicate with Bambu Connect.

🔹 Important: At present, Bambu Connect only supports Windows/macOS, so BamX runs in Docker and relays to the host’s Bambu Connect daemon until a Linux version is released.


📁 Project Structure

BamX/
├── app.py                  # Main application entrypoint
├── routes/                 # Flask Blueprints
│   ├── job_routes.py       # Job endpoints
│   ├── printer_routes.py   # Printer endpoints
│   ├── filament_routes.py  # Filament endpoints
│   └── dashboard_routes.py # Dashboard UI
├── services/               # Business logic
│   ├── job_service.py
│   ├── printer_service.py
│   └── filament_service.py
├── templates/              # HTML templates
│   └── dashboard.html
├── data/                   # Persistent JSON storage
│   ├── jobs.json
│   ├── failed_jobs.json
│   ├── printers.json
│   └── filament_stats.json
├── Dockerfile              # Docker image
├── docker-compose.yml      # Compose setup
├── requirements.txt        # Python dependencies
└── README.md

🖥️ Dashboard

  • Web-based dashboard at /dashboard (HTML/JS frontend).
  • Displays:
    • Jobs summary (total, failed, success rate).
    • Printer list.
    • Filament stats.
    • System metrics.
  • Job history table with job_id, name, status, timestamp.
  • Future: Navigation pane with printer/filament/job management actions.

🧪 Setup & Run

1. Clone the repo

git clone https://github.com/culpur/bamx.git
cd bamx

2. Build with Docker

docker compose build --no-cache
docker compose up -d

3. Access the Dashboard

Open: http://localhost:5005/dashboard


📡 Example Endpoints

  • POST /printers/register → Register a printer
  • POST /jobs/submit → Submit a job
  • GET /jobs/summary → Get job stats
  • GET /filament/stats → Get filament usage stats
  • GET /metrics → App metrics

📌 Integration with Bambu Connect

  • BamX does not replace Bambu Connect — instead, it provides an API and dashboard to interact with it.
  • Bambu Connect runs on the host (macOS/Windows).
  • BamX runs in Docker and communicates with the host Bambu Connect process.
  • This allows:
    • Centralized metrics, jobs, and filament tracking.
    • A unified dashboard for monitoring.
    • Persistence across container restarts.

📜 License

MIT License © 2025 Culpur Defense Inc.

About

BamX is a Dashboard + Backend API for managing Bambu Lab 3D print jobs, printers, and filament usage. It is designed to connect to [Bambu Connect (beta)](https://bambulab.com/) — which runs on the host (macOS/Windows)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published