If you give presentations often, you will know that one of the biggest headaches is managing slides. You have to figure out software, hardware, and connectors. I’ve usually resorted to bringing a USB thumb drive with my slides in PDF and ODP format, but then I came across an even better idea: the Raspberry Pi Zero W (or RPi0W).

Previously, I had been playing with using Erlang on the RPi0W to control stepper motors, but this seemed more useful. Follow along to see how I created a portable presentation machine that’s about the size of a pack of gum.

Hardware Used

I purchased the RPi0W as part of a kit so it would have a nice case and all of the connectors I needed. I also wanted a good way to control it, so I found an inexpensive mini wireless keyboard and mouse on Amazon. You can follow my example or find your own alternatives.

Installing and Configuring Software

I’m not the first person to think of using a Raspberry Pi for slides and presentations. Rob Reilly wrote a great article on this topic for Raspberry Pi Geek which provides some great tips and recommendations. However, I wanted to create a presentation machine that was even faster and more portable.

I used Raspbian Stretch with Desktop, but knew that I would run into memory and performance issues on the RPi0W. It only has 512MB of RAM, so I would need to use small, efficient applications and cut out unnecessary services and applications on the device. It’s really important that the machine boots up fast and gets running quickly.

Quickly I gave up on the idea of running LibreOffice Impress. Instead, I would use a lightweight full-screen PDF viewer. I tested out a number of the smaller PDF readers available on Raspbian before finally settling on apvlv. This reader is tiny, fast, and configurable. It also requires some additional setup.

Install apvlv on your system with the following commands.

sudo apt update && sudo apt upgrade -y
sudo apt install -y apvlv

These commands might take a while. When you are done, edit the apvlv preferences file. You will probably do this using the command nano ~/.apvlvrc but you might want a different text editor. Edit to look like this.

set fullscreen = yes
set zoom = fitwidth
set continuous = no
set scrollbar = no
set content = no

Displaying Slides

You will need to get your PDF slides onto the RPi0W. I usually use a webpage to download them, or copy them over via scp. Do whatever feels best to you.

Simply use the apvlv command from a terminal or the menu to load your PDF file. The interface is a little arcane, but easy to get the hang of. You can use the up and down arrows on the mini keyboard to go forward and backward one slide. To exit, hit q and to go to a specific slide type :go <number> and replace “<number>” with the slide number.

The RPi0W still takes a little while to boot, but you now have an extremely portable device that plugs into any HDMI screen or projector and displays your slides with as little fuss as possible!