Cheap Digital Signage for Churches Using Raspberry Pi Mini Computer – Part 1

Hello friends! We are in the process of installing some really cool digital signage at Nations Church Los Angeles and I wanted to share with you the setup and gear we used to get four screens up and running for under $300 (at least for us). This set-up will from here on be called the PiPlan.

Step 1: The Purpose of Cheap Digital Signage

When starting any project for a church it’s hightly important to consider the reason for it, especially if there is money being spent on it. This is something I’ve always tried to consider when proposing a project to my Pastor. Before I begin researching solutions, I ask myself, why do I think this is necessary? Is this truely solving a problem, or just upgrading something that is working perfectly now?

The goal of this project was to solve two real problems.

  • The first is the lack of a visible clock in the sanctuary.
  • We needed an easy way to update the slide show that was running the lobby, in a visually appealing way.

So, how does the PiPlan solve these two problems?

Problem 1: The Lack of a Clock

There is a clock mounted above the sound booth in the sanctuary, however we recently installed a spotlight up in the booth that makes seing the clock impossible. This is problematic because we run two services, and knowing how much time is left before we have to reset helps our pastor in leading the service.

Could we just buy a nice digital clock and mount it below the light? Yes, but to get one that was bright enough it would raise the cost above what we would be willing to spend. Also, we wouldn’t have control over the look and feel.

Want to incorporate our logo into the clock? Nope. Want to update it to match the sermon series? Not possible.

With the PiPlan we will have that ability.

Problem 2: Fixing the Lobby Signage

At the moment, our set-up in the lobby is, 2 mounted TVs with DVD players plugged into them. This presents two major issues that the PiPlan seeks to rectify.

  1. Updating the slideshow requires a new DVD to be made for every update or new event.
  2. We lack the proper equipment to get a fullscreen, looping DVD to play easily.

Step 2: Getting the Great Gear

So for this project we’ll need some equipment.


  • Raspberry Pi Kits – I found a kit that includes everything we need for a full Raspberry Pi 2 setup, (The Pi, a case, WIFI dongle, HDMI cable, heatsinks, 8gb microSD card, microSD card adapter, and a quick start guide.) Heres a link to the kit – $69.99 each.
  • TV’s or Computer Monitors (We already had the TVs from a sweet deal at a Hotel Surplus Outlet store near us).
  • TV Mounts here’s some great ones from Monoprice – $14.99 each
  • USB Keyboard and USB Mouse – I had some of these lying around but here’s a cool wireless one from Amazon.
  • A decent WIFI network.


  • Raspberry Digital Signage (This is an excellent opperating system for the Raspberry Pi developed specifically for Digital Signage. The way it works is you can set a URL and when the Pi is powered on, it will load a locked fullscreen version of that URL. There are two flavors, a free version and a donation version that I strongly recommend using because it adds some customizability and makes this tutorial possible.) – $18
  • Self Hosted WordPress Blog, I already had this for my own family of sites. (I use GoDaddy and have the Web Hosting Deluxe plan) – $8.99 /mo
  • WordPress Digital Signage Theme – This is for Problem 2 and is free!
  • If you are on a PC you will need Win32DiskImager (This is to write the operating system to the SD Card, I’ll be doing this on a Mac but the process should be fairly similar.
  • Also if you are on Windows, you’ll need Putty for SSH control
  • HTML/Javascript/CSS Clock Template
  • Dreamweaver or a text editor for the modification of HTML/CSS/Javascript Files. (One of my favorites is Komodo Edit, or Brackets)

Step 3: Put It On My Card

Since I don’t actually have a Windows computer, I can’t give a detailed explanation on how to load the card using that platform. HOWEVER! I did find an excellent tutorial on Sabayon.

For Mac users, the process is a little different and easier.

First we insert the microSD card into the included adapter and stick that bad boy into the computer. The microSD card ships with a pre-loaded operating system, which we don’t need, so first we are going to format the disk.

  1. Open Disk Utility.
  2. Select the SD card from the list on the left of the screen.
  3. Select Erase from the top of the main screen.
  4. Then choose MS-DOS (FAT) I don’t think it actually matters, but this is what I used.
  5. Click Erase.
  6. Twiddle thumbs while it works.
  7. Tada, the disk is ready.

Now it’s time to load the operating system. After purchasing the Donation Version of Raspberry Digital Signage you will be emailed a download link. Download the file, and extract it from the .zip archive. I suggest leaving the .iso in the folder it extracts to. Once you have that, it’s time to load the OS onto the card.

Open Terminal, if you’re on Yosemite or above, you can simply hit Command + Space and type Terminal then hit enter.

Type this into the terminal window and hit enter.

[code language=”plain”]diskutil list

This will list all the drives you have connected to your computer. It wil look like this:

Figure out which disk is the microSD card. (Hint it will most likely be the last one on the list.) Once you know what disk it is then type:

[code language=”plain”]diskutil unmountDisk /dev/disk3

Replace “disk3” with the actual number of your disk. It will give you a message saying that the disk has been unmounted sucessfully or something like that. Then type:

[code language=”plain”] sudo dd bs=1m if=~/Downloads/rds-6.0-donors/rds-6.0-donors.iso of=/dev/rdisk3[/code]

If you have left your .iso file in the folder it extracted to you can just copy and paste the text above and then change the disk number to the correct one. If you moved the .iso file, you will need to replace the section after if= with the actual location of the .iso file. Then, hit enter.

Go get some coffee, stretch your legs, eat a bagel. Whatever floats your boat, while you wait. You’ll get a success message telling you how much stuff was moved, and how fast it was, once it’s done. Then eject the card from your computer and move on to Step 4.

Step 4: The Gathering of the Pi’s!

Ok, so to start off with we’ll need to get the Pis assembled!

First take everything out of the bag and take a super sweet photo for instagram.

cheap digital signage for churches

CHECK! Now lets assemble this thing! This is the PI.

Insert it into the bottom part of the case, it will be apparent which way it should go because the slots will line up.

cheap digital signagefor churches

Next before you put the top on, you will want to install the heat sinks. I’m a dummy and didn’t take pictures of this part, but here is what the heatsinks look like.

raspberry pi heat sink

Installation is really simple, just peel off the paper backing and then stick them on the two black squares pointed out below.

Heatsink instalation raspberry pi

The big one goes on the big square and the little one goes on the little square. Next we’re going to snap on the top half of the case. Insert the WIFI dongle into one of the USB ports on the side.

raspberry pi wifi dongle

After you have formatted the microSD card from Part 3, insert it into the slot on the bottom of the Pi.

cheap digital signage for churches sd card insertion

Next plug the HDMI cable into your screen and the Raspberry Pi. After you have done that, connect your mouse and keyboard to the remaining USB ports. Then go ahead and plug in the Pi to boot it up.

cheap digital signage for churches using raspberry Pi


Step 5: Connect it to the Internet

Alrighty, we have the OS Installed, the Pi assembled, now it’s time to configure it and make it work. When you first plug in the Pi, it will show a black screen and a ton of text will appear as it boots up. Then you will get this screen.

It should list out the available WIFI networks. If it doesn’t you can click List Wireless Connections and it will re-scan for networks. Select your network, then enter the password for it and click connect. Note: You might have to click connect and let it run twice.

Once the Pi connects to the internet, it will show some red text giving some network diagnostics, I suggest taking a picture of this page as it will display your IP address, which we will need later. If you miss it, you can always reboot by unplugging the unit and waiting until this screen pops up in the boot sequence:

That will have the IP address of the Pi.

Once the Pi Boots up the first time, click on the “Click Here to Modify Settings” button. There you have your settings panel with all sorts of sweet options.

Type in the URL you want the Pi to load when it boots up. as far as the kiosk type, I suggest choosing the middle one “Full screen view.” However, we’ll cover that more in-depth in step 7. First we have to make a few adjustments to the OS of the Pi before we’re good to go.

Step 6: Config,
Config, Config!

Alright, leave the Pi, up and running and connected to the internet. Move over to your computer. Open your SSH client, for Windows use Putty, on a Mac, Terminal works perfectly.


[code language=”plain”]ssh [email protected][/code]

Then hit enter, it will ask you for your password. The default password is live. Then type:

[code language=”plain”]sudo -i[/code]

Hit enter, then type live as the password and hit enter again. You now have administrative rights. Next, we need to update the components of the underlying Operating System on the Pi, we do this by running these commands one after the other.

[code language=”plain”]apt-get update
apt-get upgrade[/code]

After you run upgrade command, terminal will ask you if you want to install the updates, type y to install them.

Note: It may take a while to run both of these commands.

Once both of those have run, we need to reset the timezone so the clock works correctly. Run this command:

[code language=”plain”]dpkg-reconfigure tzdata[/code]

Follow the on screen prompts to set the timezone to wherever you are, using the arrow keys and enter to navigate.

Next we need to install a cool little tool called raspi-config that will enable us to overclock the Pi to get more performance, this is why we installed the heatsinks back in step 4.

In terminal run this command:

[code language=”plain”]apt-get update && apt-get install raspi-config[/code]

Wait till it finishes, you’ll need to confirm you want to install the program then run:

[code language=”plain”]raspi-config[/code]

This will open a new screen. First we are going to choose Expand Filesystem

Follow the instructions and wait for it to finish. Then arrow down to Overclock we’re going to choose the preset Medium.

Scroll to OK then follow all the steps raspi-config has you confirm. Then, exit raspi-config. It will ask you if you want to reboot now, choose yes.

Eat some pizza rolls while you wait patiently for the Pi to reboot, when it does the response time should be a lot quicker.

Step 7: Key the Kiosk!

Once the Pi gets booted up. Click on the link that says change settings.

In the section that says Select kiosk type we want to choose Full-Screen view. You can also set the “Display the following URL” to whatever you want, like you chruch’s website

Then click Start kiosk mode, for some reason this is the only way to make sure those settings stick when you reboot the Pi.

Step 8: Build a Clock

For the clock, I simply followed this tutorial and applied some of my own CSS and HTML skills to customize if for what we needed. If you want you can download a pre-packaged template you are free to modify at this link. One thing to note is that you will want to put everything you intend to have on the screen inside of a div that has the css width property set to 100%, or else you’ll get some nasty scroll bars.

Here is how it ended up looking on my TV

2015-10-13 22.15.46

I’ll be back next week to talk about the WordPress Digital Signage theme once I get it up and running and get everything figured out for us. In the meantime, download it for yourself and play around with it!

Let me know if this tutorial was helpful down in the comments!

Read more