CoreControl - 3D Print Failure Detection
AI-powered failure detection for 3D printers using YOLOv11.
Installation
# Clone repository
git clone <repository-url>
cd coreconrol
# Install dependencies
pip install -r requirements.txt
Quick Start
# Run detector with display
python src/run_detector.py --display
# Or run directly
python -m print_monitor.detector --display
Hailo AI Accelerator (Optional)
For 4-6x faster performance on Raspberry Pi 5 with Hailo AI HAT:
# Use Hailo backend (requires compiled HEF model)
python src/run_detector.py --backend hailo --display
See HAILO_QUICKSTART.md for setup instructions.
Usage
CPU Backend (Default)
# Basic monitoring
python src/run_detector.py
# With custom settings
python src/run_detector.py \
--rtsp-url rtsp://YOUR_IP/live \
--confidence 0.30 \
--alert-cooldown 60 \
--display \
--save-frames
Hailo AI Accelerator Backend
For Raspberry Pi 5 with Hailo AI HAT (30-40 FPS):
# Use Hailo backend
python src/run_detector.py \
--backend hailo \
--rtsp-url rtsp://YOUR_IP/live \
--confidence 0.30 \
--display
First-time setup: See HAILO_QUICKSTART.md
Options
--backend- Inference backend:cpu(default) orhailo(Raspberry Pi 5 only)--rtsp-url- Camera RTSP stream URL--model- Hugging Face model name (CPU) or HEF file path (Hailo)--confidence- Detection threshold (0.0-1.0)--alert-cooldown- Seconds between alerts--display- Show video with detections--save-frames- Save detection frames--verbose- Enable debug logging
Documentation
Full documentation available in docs/:
Project Structure
coreconrol/
├── src/ # Source code
│ ├── print_monitor/ # Main package
│ │ ├── __init__.py
│ │ └── detector.py # Detector implementation
│ └── run_detector.py # CLI entry point
├── docs/ # Documentation
├── tests/ # Tests (future)
├── requirements.txt # Dependencies
└── README.md # This file
Requirements
- Python 3.8+
- ultralytics
- opencv-python
See requirements.txt for full list.
License
See LICENSE file for details.
System Requirements
Development (macOS/Linux)
- Docker Desktop or Podman
- 10GB free disk space
- Network access to download models
Deployment - CPU Backend (Default)
- Raspberry Pi 5 (4GB or 8GB) or any Linux/macOS/Windows system
- Python 3.8+
- Network access to printer camera
Deployment - Hailo Backend (Optional)
- Raspberry Pi 5 with 8GB RAM (recommended)
- Hailo AI HAT or M.2 HAT+ with Hailo-8L
- Raspberry Pi OS (64-bit, Trixie or newer)
- Network access to printer camera
- Performance: 30-40 FPS (vs 5-10 FPS on CPU)
For Hailo setup, see HAILO_QUICKSTART.md
Contributing
This is a personal project for monitoring 3D printing operations. Feel free to fork and adapt for your own use cases.
License
See individual project licenses in respective directories.
Advancend control of the Prusa Core One printer using the GPIO hackerboard.
Idea
After building my Core One Plus printer and installing all addons (Buddy3D camera, GPIO board, accelerometer), I asked myself if it is possible to add advanced features to the printing experience without having to rely on 3rd party solutions such as OctoPrint. I wanted to have complete control without dependency on other projecs and build something I can control and debug myself. So the idea was to create a Python application running on a Raspberry Pi 5 with the HAILO AI accelerator to achieve the following:
- Use AI Model from Obico to monitor for print failures
- Send custom GCodes to the GPIO board based on different events (print failure detected, time of day,...)
- .....
graph LR
A[Raspberry Pi 5<br/>+ HAILO AI] -->|HTTP/WebSocket| B[GPIO Hackerboard]
B -->|Serial/USB| C[Prusa Core One<br/>Printer]
A -->|Camera Feed| D[Buddy3D Camera]
D -.->|Mounted on| C
A -->|GCode Commands| B
B -->|Status/Telemetry| A