Eric Bergman-Terrell's Blog

Raspberry Pi 3B+ Photo Frame
June 17, 2025

Photo Frame
Photo Frame

I enjoy having a photo frame that can randomly cycle through my entire photo collection. Unfortunately, this collection consists of about 40,000 photos, which is more than most (or any?) dedicated photo frame can handle.

I created my own photo frame, which can handle all the photos, with a Raspberry Pi 3B+ and an inexpensive monitor. Here are very brief instructions, in case you want to set up a photo frame too. These instructions assume basic familiarity with Raspberry Pi machines, and Linux.

I used the following equipment:

Setting Up the Raspberry Pi

Use Raspberry Pi Imager to write an operating system to a microsd card. I used "Raspberry Pi OS (64-bit)".

Attach a keyboard, mouse, and power cable to the computer. Plug in the microsd card. Plug in a USB flash drive with all of your photos on it. I recommend that you scale the photos down to the monitor's resolution before storing them on the flash drive. That way the low-power computer won't have to scale them as they're rendered. I use Vault 3 to organize my photos, and it can scale photos and export them to a flash drive. Note, the following assumes that the flash drive with the photos has a volume label of "PHOTO FRAME".

After the machine boots, open a command shell (terminal) and enter this command:

sudo apt-get update && sudo apt-get upgrade

Then run raspi-config:

sudo raspi-config

Use raspi-config to:

Install "feh", which is the command that will render your photos. From a command shell:

sudo apt install feh

Create a script named photo_frame.sh. Note: I stored this file in a folder named "/home/erict/Apps". Also: You may need to change the folder name specified in the cd command. In my case, the volume label of my flash drive was "PHOTO FRAME", and it was accessible as "/media/erict/PHOTO\ FRAME".

#!/bin/sh

export DISPLAY=:0.0

sleep 60

cd /media/erict/PHOTO\ FRAME/

feh --recursive --auto-zoom --randomize --fullscreen --hide-pointer --slideshow-delay 30

Make the script executable. If you're using a command shell:

chmod +x photo_frame.sh

Now test the photo_frame.sh script from a command shell:

./photo_frame.sh

You can stop it at any time by pressing the Esc key.

Now the only remaining configuration task is to ensure that the photo_frame.sh script is run whenever the machine boots. For this, use the crontab command:

crontab -e

Add the following line to the bottom, which will launch the photo_frame.sh script after each boot. You will have to adjust the path to photo_frame.sh.

@reboot /home/erict/Apps/photo_frame.sh

Note: you don't need to use "sudo" with the above command. If you run "crontab -e" as root, and as a user, there will be two cron schedules, which can be confusing.

Reboot and verify that the photos are automatically displayed. Press Esc when done.

Mounting the Raspberry Pi

Attach command strips to the back of the monitor and the Raspberry Pi. Pro Tip: use isopropyl alcohol to clean the monitor and Raspberry Pi before attaching the command strips. When you press the computer to the back of the monitor, hold the monitor by the frame, not the display. You don't want to damage the display.

Raspberry Pi Mounted on Monitor Back
Raspberry Pi Mounted on Monitor Back

Finally, boot your Raspberry Pi and enjoy your photos!

Energy Cost

I run the photo frame 24/7, so it's important to know what the expense will be for electricity. The Raspberry Pi draws about 1 watt, and the monitor draws about 11 watts.

Raspberry Pi 3B+Monitor
Completed Photo FrameCompleted Photo Frame

I pay about US $ 0.17 per kilowatt hour on peak, and about US $ 0.04 off peak. On peaks hours are 8 hours per day, 6 days a week. Over one week, the average cost of a kilowatt hour is about US $ 0.08:

My electrical cost per kilowatt hour
I pay about US $ 0.08 per kilowatt hour for appliances that are always on

The Raspberry Pi and the monitor draw about 12 watts. 12 watt hours, or 0.012 kilowatt hours every hour. In a year, that would amount to 0.012 kilowatts / hour X 24 hours / day X 365 days / year = about 105 kilowatt hours per year. At a price of US $ 0.08 per kilowatt hour, that's about US $ 8.40. Well worth it!

Keywords: Raspberry Pi, Raspberry Pi 3B+, photo frame, feh, raspi-config

Reader Comments

NameCommentURLDate/Time
Barbara TerrellLove it
 July 20, 2025

Comment on this Blog Post

Recent Posts

TitleDate
.NET Public-Key (Asymmetric) Cryptography DemoJuly 20, 2025
Raspberry Pi 3B+ Photo FrameJune 17, 2025
EBTCalc (Android) Version 1.53 is now availableMay 19, 2024
Vault 3 Security EnhancementsOctober 24, 2023
Vault 3 is now available for Apple OSX M2 Mac Computers!September 18, 2023
Vault (for Desktop) Version 0.77 ReleasedMarch 26, 2023
EBTCalc (Android) Version 1.44 is now availableOctober 12, 2021