How to Make a Digital Picture Frame – DIY Home Decor | PiShop Africa
Did you know that over 1.8 trillion photos are taken worldwide every year? With so many memories stored on our devices, why not give them a place to shine? Whether you’re a maker looking for a weekend project, an educator teaching digital displays, or a hobbyist eager to repurpose old hardware, building a Raspberry Pi-powered digital picture frame is a fun and rewarding challenge. In this guide, we’ll walk you through everything you need to create a sleek, customizable display for your favorite photos—perfect for your desk, wall, or even as a thoughtful DIY gift. Let’s get started!
How to setup your Digital Frame
1. Install the Image Viewer
First, install feh, a lightweight image viewer that will power your slideshow:
sudo apt-get install feh
2. Test the Slideshow
Run the following command to start a full-screen slideshow with randomized images, refreshing every 60 seconds and changing pictures every 15 seconds:
DISPLAY=:0.0 XAUTHORITY=/home/pi/.Xauthority /usr/bin/feh --quiet --preload --randomize --full-screen --reload 60 -Y --slideshow-delay 15.0 [Your Directory]
📌 Press Ctrl + C
to exit the slideshow.
3. Create an Auto-Start Script
To ensure the slideshow starts automatically, create a script:
sudo nano /home/pi/start-picture-frame.sh
Then, add the following line to the file:
DISPLAY=:0.0 XAUTHORITY=/home/pi/.Xauthority /usr/bin/feh --quiet --preload --randomize --full-screen --reload 60 -Y --slideshow-delay 15.0 [Your Directory]
Save and exit by pressing Ctrl + X
, then Y
, and Enter
.
Run the script manually to test it:
sudo bash /home/pi/start-picture-frame.sh
4. Start the Slideshow on Boot
Edit the rc.local file to launch the script at startup:
sudo nano /etc/rc.local
Before the line that says exit 0
, add:
sleep 10
sudo bash /home/pi/start-picture-frame.sh
Save and exit (Ctrl + X
, then Y
, then Enter
).
Finally, reboot your Raspberry Pi to apply the changes:
sudo reboot

Pro Tips and Tricks: Preventing the Raspberry Pi Display from Sleeping
1. Edit the LightDM Configuration File
Open the LightDM configuration file in a text editor:
sudo nano /etc/lightdm/lightdm.conf
2. Modify the Display Settings
Scroll down to the section labeled [SeatDefaults]
, and add the following line:
xserver-command=X -s 0 -dpms
This ensures the display stays on indefinitely by disabling the screen saver (-s 0
) and power management (-dpms
).
3. Save and Exit
Press Ctrl + X
, then Y
, and hit Enter
to save your changes.
4. Apply the Changes
Reboot your Raspberry Pi for the settings to take effect:
sudo reboot
FAQ: Common Questions About Your Raspberry Pi Digital Picture Frame
Q: Can I display images from a USB drive or network storage?
Yes! You can mount a USB drive or set up network-attached storage (NAS) to pull images from an external source. Modify the directory in the slideshow command to point to your mounted storage.
Q: Can I display videos or GIFs instead of static images?
Feh only supports static images, but you can use other software like mpv or Pi Presents for video or animated slideshows.
Q: How do I add new images to the slideshow?
Simply place new images into the directory you specified in the script. Feh will automatically detect them when it refreshes.
Q: What if my slideshow isn’t starting on boot?
Double-check that you edited rc.local correctly, ensuring that the script runs after a short delay (sleep 10
). Also, verify that your images are accessible and that your feh command is working manually.
You’ve successfully transformed your Raspberry Pi into a sleek, automated digital picture frame. Whether you’re displaying family photos, artwork, or inspirational images, this setup keeps your favorite moments in constant view. Plus, with the flexibility of Raspberry Pi, you can expand the project with new features like weather overlays, calendar integrations, or even remote photo uploads. Got ideas or improvements? Share your experience with the community and keep experimenting
2025-03-13 @ 10:13
It sounds great, I’ll try to make it when I have time.