About | Download and use | Faq | Changelog

Please download Raspberry Slideshow for all Raspberry Pi models from Sourceforge.

Detailed write instructions are available in the FAQ page. Some default images and videos (taken from the Web and YouTube) are included within the system for a quick functioning example: plug in the Ethernet cable (DHCP) for a full experience.

For web-based signaging, please have a look at Raspberry Digital Signage instead.


Setup: how to use (functioning modes)

This short guide covers Raspberry Slideshow v6 only. It combines and obsoletes Raspberry Picture Frame Slideshow and Raspberry Video.

1. Local media

Put image and/or video files into a USB stick.
The USB key must be formatted in FAT (16/32), vFAT, NTFS or ext4.
Connect the USB stick to the Raspberry Pi running Raspberry Slideshow and boot. That’s all.

2. Point remote URLs: remote-urls.txt

Put a text file named remote-urls.txt into a USB stick.
With this file you will specify LAN or Internet URLs of remote images and/or videos, one per line (please see the examples below).
Connect the USB stick to the Raspberry Pi and boot.

3. Point a remote list of images: serverlist.txt

In many real-life deployments, slideshow informations are returned and updated by a remote server and the Raspberry Pi units only display the images blindly.
In order to accomplish this goal, you can specify the URL of the remote server list in a file called serverlist.txt, save it into the USB key, connect the USB stick to the Raspberry Pi and boot.
Remote list is as usual a simple text list of images. See the examples below.

A very useful refresh feature is also available (this way, the server can update its serverlist and the Raspberry Pi will fetch the new one after the desided interval time). Please see the examples once again.


  • All USB files are copied into the internal Raspberry’s SD-CARD:
          – if the USB key is inserted: at every reboot, SD-CARD files are updated and hence played according to the key content;
          – if the USB key is not inserted: at every reboot, media are played from the internal cache. So, after the first run, you can unplug the USB key.
  • Functioning modes can be combined: you can put files, remote-urls.txt and serverlist.txt into the USB key.
  • Media will be displayed in a name-based order, first remote-urls.txt images, then serverlist.txt-related images and then USB images, followed by name-based order of remote-urls/serverlist-related/USB key videos. So, all images first and then videos. This behaviour is by design and unmodifiable.
  • Remote server list must be served by a web server or retrieved via a URI format compatible with (Debian 8’s) wget.
  • Accepted image formats are jpeg (.jpeg or .jpg), png, gif.
  • Accepted video formats are the ones played by omxplayer, mostly mp4 files.



All examples below concern images, but they are valid for videos and/or images+videos, too.

How to play two local images plus two remote ones:

a) Copy the image files into the USB key and create a text file named remote-urls.txt in which you will specify the remote image locations (URLs), one per line:


b) save remote-urls.txt into the USB key, too.

c) Insert the key into the Raspberry and (re)boot.

How to use serverlist.txt – server content based slideshow:

a) Create a text file named serverlist.txt inside the USB key specifying the URL of the remote list file in one single line without carriage return (in the example it is named images.txt):


b) Make your LAN or Internet server host the file images.txt (here it is of course a LAN web server). File content is, again, just a simple list of URLs, for example:


c) Insert USB key into the Raspberry Pi and (re)boot.

This is an extremely powerful digital signage use, because you can instruct your R-Pi to slide images according to your server content, programmatically.

The refresh feature:

You may want your R-Pi to have a look at the remote list resource every N minutes in order to refresh the slideshow content according to the server logic changements. You can accomplish this by adding a file named refresh-serverlist.txt (together with serverlist.txt of course) into the USB key, in which you specify the refresh time. System is smart enough to actually re-download all server-side linked images only when it sees server-side changements.

Put value in one single line without carriage return.
Refresh value is in seconds (so, for an hour, just save 3600 in the file).



If you like this project please donate via one of the the following PayPal buttons.

Personal use (no email help):

Personal users will also receive a copy of Raspberry Digital Signage, donors release. So with this donation you will be given a complete digital signage bundle for web and slideshow installations – without email help.

Professional use (same as Personal use, but with email help, so strongly recommended, but not mandatory, if you intend to use a solution based on this software for your clients):

Professional users will also receive a copy of Raspberry Digital Signage, donors release. So with this donation you will be given a complete digital signage bundle for web and slideshow installations – with email help.

Donors’ installations feature:

  • you can deploy RS how many times you need and on how many devices you wish;
  • Wi-Fi enabled: wlan0 will work with all Raspbian-supported Wi-Fi adapters and the built-in Raspberry 3 device;
  • SSH remote management enabled;
  • unlimited media slideshow;
  • alphabetic order media playback;
  • automatic photos rotation basing on EXIF informations;
  • serverlist.txt and its refresh feature enabled.

Once donation is done I’ll give you the download URL directly via e-mail within 12 hours. Double check that your PayPal email address is valid.



For bug-related support feel free to drop me an email – please have a look at site FAQ, first.
Professional users only: for help, you can reply directly to the email you will receive after the donation. I am sorry but I cannot offer support to everyone else due to the lack of my time.
For new features development, please contact me in order to ask for a quotation.
See page footer for my email address.