Gave my Mom one of those Electronic LCD Picture Frames, that I loaded up with some family photos. She liked it and even my sisters enjoyed looking at the old photos. I used a flash card with a few hundred photos but the frame itself is small and the LCD screen isn’t very good. I wondered about making something simple that plugs into the TV that Mom (or anyone) could use. I wanted it as simple as possible, ideally just a power plug and an HDMI output.
I put together a little Raspberry Pi Zero gadget that does a pretty good job. I’m using the Linux utility feh, which does exactly what I want it to do. From the command line you can randomly display all the photos in a directory tree in full screen mode. The command I use is:
/usr/bin/feh --slideshow-delay 7.0 --auto-zoom --borderless --fullscreen --recursive --randomize --auto-rotate --hide-pointer /usr/pi/Pictures/
The photos are all in the
/usr/pi/Pictures directory and the delay between pictures is seven seconds. I put this into a file called
slideshow.sh in the pi user home directory (
/home/pi). This is the default user for Raspberry Pi OS. To get this script to execute on start-up a file called
/etc/xdg/autostart/display.desktop is created with the following content:
This file will run the slideshow script when the Raspberry Pi boots up. One last bit. You don’t want anything to interfere with the slideshow, so you should turn off the screensaver. This is done in the
raspi-config configuration tool under the
Preferences menu. Select the
Screen Blanking option and disable it. Lastly, you don’t want an upgrade request to interrupt things either, so we can turn that off, too. The following commands should disable requests for updates.
sudo systemctl mask apt-daily-upgrade
sudo systemctl mask apt-daily
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily.timer
Looks like it works. Bought a 256GB flash card and will load it up with a few thousand old photos I have in the archive. Will be visiting Mom in a few weeks. Hope she likes it.