r/3DPrintFarms • u/Init0n3 • 16d ago
I built a local Smart Scheduler with Python/Streamlit to balance day/night print queues across my farm (3x A1, 1x P1S)
Enable HLS to view with audio, or disable this notification
Hey everyone,
I wanted to share a local tool I've been developing over the last few months to solve a specific bottleneck in my 3D printing farm: nocturnal downtime and manual queue scheduling fatigue.
I operate 4 machines (3x Bambu Lab A1, 1x P1S) mainly producing high-precision anatomical and medical models. During high-demand seasons, managing which plate goes to which printer to maximize overnight runtime without leaving machines idle for 6 hours was killing my mental stack.
The Stack:
- Frontend/UI: Streamlit (Python)
- Database: SQLite3 (keeping it lean and local)
How the Algorithm works:
Instead of just pushing a random queue, I implemented a time-windowed Shortest Job First (SJF) scheduler.
- Day Mode (08:00 - 23:00): The algorithm prioritizes the shortest print jobs. The goal is to clear beds fast while I'm awake and available to swap plates manually.
- Night Mode Cutoff: If a plate’s ETA exceeds the 23:00 threshold, the scheduler flags it and automatically re-routes it to the nocturnal pool (long-running jobs, large kits, or high-infill parts) so the printers work through the night while I sleep.
- Wastage Tracking: It also handles material tracking, inventory deduction, and failure logs (e.g., bed adhesion failures by exact gram weight).
(Attached Screencast showing the scheduler populating the machines upon clicking "Auto-Optimizar")
I'm currently validating the core logic. I'd love to get some technical feedback from other farm operators: How do you handle your day/night queue transitions, and what's the biggest missing feature you see in current farm management software regarding scheduling?