A touch-enabled image slideshow application designed for Raspberry Pi with touch displays. Features automatic slideshow progression with intuitive touch gestures for manual control, panning, and zooming.
- Automatic Slideshow: Images advance automatically with configurable timing
- Touch Controls: Tap to pause/resume, drag to pan, pinch to zoom
- Full-Screen Display: Optimized for touch displays and kiosks
- Multiple Formats: Supports JPG, PNG, BMP, GIF image formats
- Smooth Scaling: High-quality image scaling with aspect ratio preservation
- Gesture Support: Natural touch gestures for image manipulation
- Raspberry Pi (3B+ or newer recommended)
- Touch display (official 7" touchscreen or compatible)
- MicroSD card (16GB+ recommended)
- Power supply
- Raspberry Pi OS (Bullseye or newer)
- Python 3.7+
- X11 or Wayland display server
-
Clone or download this project to your Raspberry Pi:
cd ~/ git clone <repository-url> slideshow # OR copy files manually to ~/slideshow/
-
Navigate to the project directory:
cd ~/slideshow
-
Run the setup script (recommended):
./run.sh
This will:
- Create a Python virtual environment
- Install required dependencies
- Check for images and start the slideshow
OR install manually:
# Create virtual environment python3 -m venv venv source venv/bin/activate # Install dependencies pip install -r requirements.txt
-
Add your images:
- Copy your image files to the
images/
directory - Supported formats: JPG, JPEG, PNG, BMP, GIF
- The application will automatically scale images to fit your display
- Copy your image files to the
- Add image files to the
images/
directory - Run:
./run.sh
- The slideshow will start in fullscreen mode
# Basic usage
python slideshow.py
# Custom image directory
python slideshow.py --images /path/to/your/images
# Custom slideshow interval (in seconds)
python slideshow.py --interval 10
# Both options
python slideshow.py --images /home/pi/Pictures --interval 8
Gesture | Action |
---|---|
Single Tap | Pause/Resume slideshow |
Single Finger Drag | Pan image when paused |
Two Finger Pinch | Zoom in/out with multi-touch |
Two Finger Spread | Zoom out with multi-touch |