The fun, menu-driven interface for your Raspberry Pi High Quality Camera!
Built with Pygame, this project turns your Raspberry Pi into a proper digital camera with a slick, navigable UI. Whether you're snapping photos in the field or testing on your desktop, we've got you covered.
- Slick UI: A responsive, menu-driven interface that feels like a real camera.
- Deep Control: Tweak everything from ISO and Shutter Speed to AWB and Image Effects.
- Rich Metadata: Your photos aren't just pixels; they come packed with EXIF data (Lens info, Copyright, XP Tags).
- Mock Mode: No Pi? No problem! Run it on your PC using your webcam to test the UI.
- Resumable Queue: Never lose a shot! Images are processed in RAM for speed, but automatically cached to disk (
home/cache) if the system gets busy or power is lost. - Persistent Settings: We remember your tweaks using a local SQLite database.
- Reset Button: Messed up your settings? Hit the "Reset Settings" option to go back to fresh defaults.
- Python 3.x
- A Raspberry Pi with a Camera Module (or a webcam for Mock Mode)
-
Clone the repo:
git clone https://github.com/yourusername/pi-camera-gui.git cd pi-camera-gui -
Install dependencies:
pip install -r requirements.txt
-
Run it!
python run.py
Note: On a desktop without a Pi Camera, it automatically switches to Mock Mode and uses your webcam!
Navigate the UI like a pro. (Default keyboard mappings, customizable in home/config/camerasettings.json)
| Action | Key | Description |
|---|---|---|
| Menu / Back | Enter |
Toggle the menu overlay |
| Capture | Space |
Snap a photo! |
| Up / Down | Arrow Keys |
Navigate lists or adjust values |
| Left / Right | Arrow Keys |
Enter/Exit submenus |
| Quick Stats | Arrows |
Cycle stats when menu is closed |
We keep your data organized in the home/ directory:
home/dcim/: Your captured masterpieces go here.home/cache/: Temporary storage for the resumable queue (automatically cleaned up).home/config/: Configuration files and your settings database.
Want to hack on it?
src/: The source code.tests/: Test scripts to verify camera resolution and EXIF tags.
Happy Snapping! 📷
