bbl-shutter-cam
Reliable, headless time-lapse capture for Bambu Lab 3D printers on Raspberry Pi.
What This Does
bbl-shutter-cam listens for Bluetooth shutter signals from a Bambu Lab CyberBrick Time-Lapse Kit (BBL_SHUTTER), automatically captures photos using a Raspberry Pi camera, and stores them locally. Perfect for creating stunning time-lapse videos of your 3D prints directly inside your printer enclosure.
Key Features:
- π₯ Automatic photo capture on shutter triggers
- π Headless operation (no display needed)
- π§ Multi-profile support (multiple printers/cameras)
- π Intelligent signal discovery (auto-detect unknown Bluetooth signals)
- βοΈ Extensive camera tuning options (rotation, focus, exposure, white balance, etc.)
- π Configuration-driven (easy to modify settings without code)
- π‘οΈ Robust reconnection (handles dropped connections gracefully)
Quick Links
Getting Started:
How To:
- Understanding Profiles & Configuration
- Camera Settings & Tuning
- Discovering Unknown Bluetooth Signals
Advanced Topics:
Help:
Real-World Example
Hereβs a typical workflow:
1. Setup (one-time)
# Install on a Raspberry Pi Zero 2 W with Camera Module 3 NOIR
bbl-shutter-cam setup --profile p1s-office
# System asks you to physically press the shutter button on your CyberBrick
# It learns the Bluetooth signal automatically
2. Discover Signals (if needed)
# If Bambu Studio app sends different signals, discover them:
bbl-shutter-cam debug --profile p1s-office --duration 120 --update-config
# While the printer is running, Bambu Studio can trigger captures via app
3. Tune Camera Settings (optional)
# Adjust rotation, focus, exposure, white balance interactively
bbl-shutter-cam tune --profile p1s-office
4. Run for Real
# Prints capture automatically as the printer runs
bbl-shutter-cam run --profile p1s-office
# (Or enable systemd auto-start for hands-off operation)
5. Review Photos
# Access via SFTP or SCP (see Headless Operation guide)
sftp pi@raspberrypi.local
> cd captures/p1s-office
> get *.jpg # Download all photos
System Requirements
Hardware:
- Raspberry Pi Zero 2 W, Pi 4, or Pi 5 (Zero 2 W recommended for cost)
- Raspberry Pi Camera Module 3 (Wide-Angle or NOIR variant)
- Bambu Lab CyberBrick Time-Lapse Kit (BBL_SHUTTER)
- 5V power adapter
- SD card (16GB+)
Software:
- Raspberry Pi OS Lite (Bookworm recommended)
- Python 3.9+
rpicam-still(included with latest Raspberry Pi OS)
Project Status
Current Version: v1.0.0 (Stable)
Implemented Features
- β BLE device discovery & setup
- β Manual button press capture (0x4000 signal)
- β Bambu Studio app trigger support (0x8000 signal)
- β
Dynamic signal discovery mode (
bbl-shutter-cam debug) - β Profile-based configuration
- β
Interactive camera calibration mode (
bbl-shutter-cam tune) - β Extensive camera options (resolution, rotation, flip, quality settings)
- β Dry-run mode for testing
- β Verbose logging for debugging
- β CI linting/testing with coverage targets
Planned Features (Post-v1)
- π Hardware detection and setup wizard
- π Web-based configuration UI
- π Multi-camera support
See ROADMAP.md for detailed development timeline.
Getting Help
- Stuck? β Troubleshooting Guide
- Common Questions? β FAQ
- Found a bug? β GitHub Issues
- Want to contribute? β Extending & Contributing
License
MIT License β See LICENSE file for details.