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)

Getting Started:

How To:

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)

β†’ Full hardware guide


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


License

MIT License β€” See LICENSE file for details.