π€ AI-Assisted Development Project
This project was developed through collaboration between human creativity and Claude AI. The original concept and requirements came from practical experience with Linux systems and 3D printer hardware, then brought to life with guidance and coding assistance from Claude AI.
A comprehensive management system for Creality 3D printer farms, supporting batch operations, remote monitoring, and automated workflow.
- Auto Discovery: Automatically scan and detect printers on your network
- Fast Scan Mode: Quick network scanning with ping-based detection
- Status Monitoring: Real-time monitoring of printer status, temperature, and progress
- Color-coded UI: Easy identification of printer states (Standby, Printing, Error, etc.)
- Smart Sorting: Standby printers automatically sorted to the top
- Bulk Upload & Print: Upload and start printing on multiple printers simultaneously
- Batch Settings: Apply configurations to multiple printers at once
- Bed Leveling (Mesh Calibration)
- Material Loading (Extrude)
- Material Unloading (Retract)
- File Management: Delete files from multiple printers in bulk
- SSH-based Configuration: Set static IP directly on printers via SSH
- No Router Access Required: Configure IPs without router admin access
- Auto-detection: Automatically detects Buildroot-based systems (Creality printers)
- Batch IP Assignment: Set static IPs for multiple printers at once
- Verification: Automatic verification after IP configuration
- Print History: Track all print jobs with success/failure rates
- Usage Statistics: Monitor total prints, files uploaded, and deleted
- Success Rate Analysis: Calculate and display print success percentages
- Session Tracking: Record first use and last use dates
- Save Printer Groups: Save frequently used printer combinations
- Quick Load: Quickly load saved printer profiles
- Settings Persistence: Window geometry and preferences saved between sessions
- OS: Windows 10/11
- Python: 3.11 or higher
- Network: Local network connection to printers
- Printers: Creality K1/K1 Max or any Klipper-based printer with Moonraker API
git clone https://github.com/akali997/Creality_Farm.git
cd Creality_Farmpip install -r requirements.txtpython main.py- PyQt6: Modern UI framework
- requests: HTTP client for Moonraker API
- paramiko: SSH client for static IP configuration
- python-dateutil: Date/time utilities
- Launch the application
- Click "Scan Printers" to discover printers on your network
- Select printers you want to manage
- Start printing!
For improved reliability and profile usage:
- Go to IP Tools (IP_Tools.bat)
- Open "Static IP Manager"
- Configure SSH credentials (usually root/creality3d)
- Scan printers and assign static IPs
- Apply configuration
Normal Scan (Default):
- Full Moonraker API verification
- Most accurate but slightly slower (~12s for 254 IPs)
Fast Scan:
- Ping-based detection (~3-5s)
- Background verification
- Shows results faster
- Select target printers (multi-select supported)
- Click "Upload & Print"
- Choose G-code file
- System automatically:
- Skips completed printers
- Uploads files in parallel
- Verifies print start
- Shows detailed results
- Select printers
- Click "Settings" button
- Choose operations:
- π§ Leveling
- β‘οΈ Load Material
- β¬ οΈ Unload Material
- Operations sent in parallel for efficiency
- Printers must be on the same local network
- Moonraker API port 7125 accessible
- For SSH configuration: SSH port 22 accessible
- β Creality K1
- β Creality K1 Max
- β Creality Ender-3 V3 (with Moonraker)
- Any Klipper-based printer with Moonraker API
- Voron printers
- Custom Klipper builds
creality-farm-manager/
βββ main.py # Application entry point
βββ ui/
β βββ printer_manager_app.py # Main UI application
βββ printer/
β βββ api.py # Moonraker API client
β βββ discovery.py # Network scanning
β βββ file_manager.py # File operations
βββ threads/
β βββ upload_thread.py # Upload worker
β βββ verify_print_worker.py # Print verification
β βββ batch_operations_worker.py
βββ config/
β βββ settings.py # Configuration
β βββ app_settings.py # Application settings
βββ IP/
βββ static_ip_manager.py # Static IP configuration tool
This project was born from:
- Need: Managing multiple Creality K1/K1 Max printers efficiently
- Foundation: Practical experience with Linux systems and 3D printer hardware
- Execution: Built with guidance and coding assistance from Claude AI (Anthropic)
The development process showcases how human domain knowledge combined with AI assistance can create practical, production-ready tools.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Verify printers are on same network
- Check Moonraker is running (http://printer-ip:7125)
- Try Fast Scan mode
- Check firewall settings
- Verify printer status (not in error state)
- Check network connection
- Ensure sufficient storage on printer
- Verify G-code file is valid
- Verify SSH credentials (default: root/creality3d)
- Check SSH is enabled on printer
- Ensure network connectivity
- Try manual SSH connection first
This project is licensed under the MIT License - see the LICENSE file for details.
- Claude AI (Anthropic) - Development guidance and coding assistance
- Klipper & Moonraker teams - Excellent 3D printer firmware
- Creality - K1/K1 Max hardware
- PyQt team - Powerful UI framework
For issues, questions, or feature requests:
- Open an issue on GitHub Issues
- Check existing issues first
- Provide detailed information (printer model, OS, error logs)
- WiFi management for printers
- Advanced statistics and analytics
- Remote access via cloud
- Mobile app companion
- Multi-language support
- Dark mode theme
Made with β€οΈ for the 3D printing community