An open-source, modular digitization toolkit designed for low-cost, high-quality scanning using Raspberry Pi Compute Module 4 and 64MP ArduCam cameras. Built for use in low-resource environments and community archives.
- Empower small institutions and communities to digitize archival materials.
- Provide an easy-to-use web interface for image capture, metadata entry, and export.
- Ensure long-term reproducibility through open standards (BagIt, CSV, TIFF).
- Prioritize modularity and hardware independence for future-proofing.
- Hardware: Raspberry Pi CM4 + CM4IO, Raspberry Pi 5 (dual camera embedded), 2x 64MP ArduCam autofocus cameras, 2 x Cannon EOS Rebel T7 (GPhoto compatible cameras)
- Backend: Python, FastAPI
- Frontend: Svelte
- Database: PostgreSQL
Project currently in development. Kick-off: September 2025 Alpha prototype planned for deployment at SBMAL in June 2025.
# One-command startup (all services in Docker)
./scripts/start-dev.shOr manually:
docker compose --profile with-backend up# One-command startup (Docker + native backend)
./scripts/start.shOr manually:
docker compose up -d && ./scripts/run_backend_native.shAccess: http://localhost:5173 (frontend) | http://localhost:8000/docs (API)
Note: The native backend is required for camera access due to Raspberry Pi-specific libraries (libcamera, picamera2).
This repository uses Git submodules for the frontend and backend code.
When cloning, make sure to fetch submodules as well:
# Clone with submodules
git clone --recurse-submodules git@github.com:UCSB-AMPLab/digitization-toolkit.gitIf you already cloned without --recurse-submodules, you can initialize and update submodules manually:
git submodule update --init --recursiveTo pull the latest changes for submodules after updates:
git submodule update --remote --mergeSee the wiki for detailed developer guides and API references.
MIT