How to Set Up an Inexpensive Digital Signage Menu Board

After a remodel at the restaurant where I work, the owner decided that she didn’t want to put up the old letter board that had been used as a menu for the previous 11 years. We decided that a digital menu board would be an appropriate compliment to our slick new countertops and fresh coat of paint, and I confidently asserted that I could tackle such a task.

Researching for tutorials on setting up the digital signage solution I had in mind was not very productive, so I have decided to record the steps I followed in setting up the menu boards in my workplace. Hopefully, someone in a similar situation to mine might find some help here, or at least somewhere to start. This guide is written in such a way that just about anyone should be able to follow its steps. No true knowledge of software or hardware should be necessary.


I am using two Raspberry Pi B+ computers, linked to two 43 inch Vizio televisions via HDMI.

Note: It would absolutely be more appropriate to use commercial-grade displays in this setup. These higher quality screens are built to stand up to long hours and more stressful conditions. For our purposes, we hope that these consumer-grade devices will be able to withstand 8-ish hour workdays under low-stress conditions. With that said, “buy nice or buy twice” and Your Mileage May Vary.

The Raspberry Pis are connected to the internet by Ethernet cables, to the televisions by HDMI, and use standard micro USB for power. The digital signage software on the Pis requires a minimum of 8GB microSD card. You may want to (and probably should) add a case to your Raspberry Pis, which can be had for less than 10 dollars.


After researching software platform options for this setup, I landed at The digital signage solution offered here seems to rest at a solid middle ground between having too few features and being too much of a pain to configure and manage. For those who don’t already have an idea of how this setup is going to work, piSignage acts as the server for our menu board content. This is where we check the status of our devices, upload our content, and manage when, where, and how it is displayed on our Raspberry Pi players.


First, we will be setting up our piSignage account. Navigate to the website and click the “Host It For Free” button. Follow the prompt to create a username and password, and continue. After creating your account, you will be able to access the piSignage web app, which looks something like this:

piSignage Web Application Dashboard

The column on the left contains the menus that you will use to add and manage content and players.

Manage Players: This menu is where you will be able to monitor the status of your Raspberry Pi players and assign them to a group (This will be discussed later).

Deploy in Groups: From this menu, you can dispatch any changes made to the menu boards to the digital signage players. Players are assigned to Groups, and Groups are given Playlists to display.

Upload Assets: This is simply where you upload the images that will be displayed on your menu boards.

Create Playlists: This menu is where you will set up which images will be displayed and for how long. Displays will loop through their assigned Playlist continuously. If you only require a single image, you can ignore the timer for your content. The Playlist editor menu also allows you to set a layout for your content. The selection for layouts is relatively slim, but if you select a layout with more than one “zone,” you can set different timers for content in each “zone.” This is difficult to explain without a visual example, but you can play with the Layout button in this menu to see exactly what I mean.

Reports: Allows you to monitor any fluctuations in uptime for your players. This will be largely unimportant for our basic setup.

Settings: The most significant function of this menu, at least to start, is that this is where you can de-register a Player from your account. piSignage allows 3 Players that can be licensed for free. Any more than that will require an additional license, which can be purchased for $25.

Note: Certain menus will include an Edit button in the top-right of the application. This button is mostly used for removing elements, like Playlists and Groups, depending on which menu you have selected. This is useful if you create Assets, Playlists, and Groups for testing purposes.

The first thing you’ll want to do is add some Assets. For testing purposes, you simply add an image file or two from your computer. You can easily remove these files later. Once you’ve added an Asset or two, create a Playlist to place these Assets in. Now you can investigate the different layouts that piSignage provides, zones associated with these layouts, and the timers that control how long the image is displayed in the Playlist. Finally, create a Group and associate it with the test Playlist you have created.

At this point, you’ll most likely be interested in how the content will look on a digital signage player. Initially, you can use the Chrome app that piSignage provides to view your Playlist. Download the piSignage Chrome player and start it. The first thing you should see is a screen providing a Player ID. Back in the piSignage content manager, you can add this player in the Manage Players menu by clicking the “Register a Player” button. After adding the player, assign it to the test Group that you made. In the Deploy in Groups menu, press the Deploy button.

Note: If the Chrome app player that you added does not show up in the Deploy in Groups menu, refresh your browser until it displays, then press the Deploy button.

You should now be able to navigate to your piSignage Chrome app and see the playlist looping through the images you added to the Playlist. If you added only one image, the player will display that image continuously.

Setting Up a Raspberry Pi as a Player

The piSignage website provides a guide on how to set up the Raspberry Pi, but I will explain the process here.

First, you must write the piSignage Player disk image to your micro SD card. Use this page to download the disk image, using the Download ZIP button on the right, and extract its contents. Now, download the suggested disk imaging application on this page for your operating system. I am using OSX, and Apple Pi Baker was pretty straightforward to use. I can’t speak for the alternatives, but using a walkthrough provided with this type of software, you should be able to write the disk image to your SD card without issue.

The imaging process will wipe your SD card, so you should not be using a card that contains important files or anything that hasn’t been backed up. These SD cards will remain in the Raspberry Pis for the entirety of their use, so you should be using SD cards that you don’t need to use for anything else.

The rest is pretty simple. Carefully insert the now written-to SD card into your Raspberry Pis memory card slot. Connect an ethernet cable from your router or modem and an HDMI cable from your television to the appropriate ports on your Pi. Finally power the Pi on by connecting it to micro USB power.

After powering on, your Raspberry Pi will go through a lengthy initial startup process. Once startup is complete, you should be greeted to a “Welcome” screen similar to the one that was displayed when the Chrome player app started for the first time. Add your Player ID to the content manager the same way (navigate to Manage Players menu, click the Register a Player button, enter your Player ID and a name, etc.).

Note: If the screen you will be displaying to is 1080p, you must select this resolution in order for your display to be fully utilized. In the Deploy in Groups menu, click the Group you will be deploying, then click the Set Display Mode button in the top-right. Here you can select 1080p as your display resolution. The other settings should remain untouched.

You can now assign the player to a Group and press the Deploy button in the Deploy in Groups menu to display your Playlist through the Raspberry Pi.

Note: Pressing the Update button in the Manage Players menu for the Raspberry Pis created some problems for me. The software that was written to my SD card in the imaging process was sufficient for performing the basic tasks of displaying a Playlist on my Pi. The updated software provides support for some more advanced Assets, but screwed up the resolution of my images and caused the Player to continuously reboot when attempting to display certain images.

Anything Left to Do?

That’s about it. You should now have a Raspberry Pi displaying the content that you have uploaded to piSignage.

If you are still using a test image and need guidance on how to create a menu to display, I can tell you that I used Adobe InDesign to create the menus for my displays. Export your menus as an image file, like .PNG, as the piSignage software cannot display PDFs or other document file types. I would also recommend setting your document size to 1920 x 1080 pixels (or 1280 x 720 pixels for 720p displays) before starting your menu. This way, your menu will fit perfectly in the screen, without stretching or cutting out any content. If your content is displaying improperly, check your television’s picture settings first. You may need to change the picture mode from “Standard” to “Wide” or vice-versa.

Good luck with your menus! Hopefully you (and your coworkers) will be as pleased with them as I am with my first version!