Easy Raspberry Pi Based Screensaver/Slideshow for Exhibitions/Store Front

At exhibitions you often want to show off your work in the hopes of attracting new potential customers. This also works for the  windows of stores to advertise products on sale within. Most will simply create a large fixed image poster at great expense and use this for long periods of time. Sometimes much longer than the product in question is on promotion.

Using modern technology it is possible to create a dynamic animated display for approximately the same cost as the fixed image poster.


Modern flat screen TVs are relatively large and thin so it really opens up the possibilities in terms of where you can put them. If a TV isn’t doing it for you then for a bit more cash you could use a projector in exactly the same way.


The guide below describes in step by step detail how to create one of these displays using a flat screen television and a Raspberry Pi. Displaying dynamic animated content such as video is also possible but is not covered in the scope of this tutorial.

The Raspberry Pi is a very small single board computer with a very low price tag. It is a relatively powerful device and has the capability to output HD video so it makes great sense for use in the project. Also most modern HD TVs feature USB support so in some cases they are able to power the Pi directly. The Pi is also small enough to be attached directly to the back of the TV so all the customers will see is the TV and maybe the TV’s power cable.


The Raspberry Pi hardware runs a Linux based operating system which puts off a lot of potential users due to unfamiliarity but using my instructions below it should  be fairly simple to create a working system and start your introduction to the world of GNU Linux. To load your pictures you simply place them onto a USB memory stick, put the stick in the Pi, power it on, press a couple of keys on the keyboard and off it goes.


Items you will need

  • Large TV with HDMI support
  • Raspberry Pi B or B+ (the one with the Ethernet connector)
  • SD Memory Card, Capacity >= 4GB, Class >= 10
  • 2A Micro USB Cable (95% of Micro USB Cables will not supply enough current due to resistance of the cable so make sure you get the right type of cable, genuine phone charger cables often work well)
  • USB socket on TV or Micro USB Charger Rated @ 2A
  • USB Mouse and Keyboard (I used a Raspberry Pi compatible wireless combined mouse and keyboard from Amazon)
  • USB memory stick (containing the images you want to display)
  • HDMI Cable

These additional items are required for setup only

  • Hub/Router with Internet Connectivity
  • Ethernet Cable
  • Computer / Laptop with SD card reader


Configuring the SD Card

The SD card needs to be configured before it is inserted into the Pi. To do this you will need a computer with an SD card socket.

You will first need to download the Linux installation and copy it to the card.

First download the latest version of the operating system Raspbian Debian from RaspberryPi.Org

Then write the OS onto the SD card using the techniques described here:
Windows Based Installation
Mac Based Installation
Linux Based Installation


Connecting Up & Powering On

Once the OS is loaded onto the SD card remove it from your computer and insert it into the Raspberry Pi. While your at your computer you can also put your images into the root folder of the USB memory stick before connecting this to the Pi.

Next connect the HDMI cable between the Pi and the television and the Ethernet cable between the Pi and the Router. Next connect the mouse and keyboard to the Pi and finally the USB power cable.

Ensure that the TV is switched on before switching on the Pi or there is a chance that the HDMI interface will not start up. If this happens simply remove power to the Pi, switch on the TV and try again. If the TV is powering the Pi then the Pi should automatically come on when the TV is switched on.


Installing the Software

After a minute or two you should be faced with a simple desktop type environment similar to this.


Feel free to have a browse around, and if it’s your first time then welcome to the world of free software! If anything goes wrong you can always return to step one and rewrite the image on the SD card using your computer.

To continue with the tutorial we will be using the terminal application. To run this you simply double click the LxTerminal shortcut on the desktop or find it in the Start type menu at he bottom left hand corner.

First we install the image display software feh by entering in the following command and hitting return.

sudo apt-get install feh
sudo = run as super user to allow installation
apt-get = download the latest package from the internet
install = install the application
feh = application to download and install
Once the installation of feh is complete repeat for the screen saver application using the command below.
sudo apt-get install xscreensaver

Configuring the Screen Saver

The next thing we need to do is to configure the Pi’s screensaver. By default the Pi will automatically switch off the screen after a few minutes on inactivity on the mouse or keyboard, as we want to display a set of banner images for a long period of time without interaction we need to switch this default behavior off.

You do this by going to the Start type menu at he bottom left hand corner, selecting Preferences and then Screensaver.

Set the blank out time to 720 (the max allowed time).  You must remember to wiggle mouse or press a key on the keyboard at least every 12 hours if you want a constant display. For a permanent display without interaction you could use a embedded USB microcontroller to simulate mouse movement every few hours to ensure screen blanking doesn’t kick in. Using Flowcode and a device such as a MatrixTSL ECIO40P this would be a 5 minute job.

Running the Slideshow

Returning to the terminal application we can now fire up the slide show by entering the following command. Don’t worry you won’t have to type this in every time!

feh -Y -x -q -D 5 -B black -F -Z -z -r /media/

To end the slide show press the q key on the keyboard.

You can refer to the manual on the feh application by typing this into the terminal.
man feh
Here is the explanation of the parameters used in our reference command.
-Z Auto Zoom
-x Borderless
-F Fullscreen
-Y hide pointer
-B image background
-q quiet no error reporting
-z Randomise
-r Recursive search all folders in folders
-D Slide delay in seconds

Shutting Down and Powering Up

If you simply pull the power from the Pi then there is a chance the SD card can be corrupted which may mean it will not boot the next time you come to use it. To try and avoid this remember to shut down the Pi before removing power.  As a precaution it might be advisable to have multiple SD cards ready just in case one were to fail to boot on the day of the exhibition.
When you boot the Pi back up and you want to fire up the screen saver simply open the terminal application and then press the up cursor arrow on your keyboard to recall the last entered command before hitting enter to execute the command.

Securing the Pi to the back of the TV

The Pi can be affixed to the back of the television using hook and loop tape or double sided tape.If you don’t want to use tape then there are cases designed for the Pi with small sucker feet which can secure it to a surface like a TV.

The various wires can be neatened up and held in place with a few cable ties. Be careful when manipulating the HDMI cable, there are a lot of very thin wires inside it and you don’t want to snap one! It wants to be positioned so it’s not flapping about but also so it’s not taught or kinked.

3 thoughts on “Easy Raspberry Pi Based Screensaver/Slideshow for Exhibitions/Store Front”

  1. Hi. Great application! I tried creating an icon on my Raspberry Pi to launch the slide show, but I was unsuccessful in creating the launcher. Can you advise or show me the code I must enter in my .desktop file? Regards.

    1. Hi Louis,

      Auto running the slideshow might vary a bit depending on which linux distro you are running on your pi. Even the Linux experts seem to suggest different approved ways to do this. I would have a hunt around and see if you can find something that works on your specific setup.

  2. Hi – I am very interested in creating some slideshow tv’s for our large campus. I have order the Raspberry Pi from Amazon, and am thrilled to find your tutorial. I have 2 questions: 1) can you explain the steps in “Using Flowcode and a device such as a MatrixTSL ECIO40P this would be a 5 minute job”? I have searched the web, but can not find a tutorial on how to do this.

    And 2) are you available to be hired for a small project? I am trying to find someone who can tell me how to program an arduino to control the eye & jaw movements of an animatronic head. I want to build this as a project that can be replicated by high school kids (I teach HS).



Leave a Reply

Your email address will not be published. Required fields are marked *