Introduction: DAKboard: a Wifi Connected Wall Display for Your Photos, Calendar, News and Weather
DAKboard is designed to be an always on, zero maintenance, ever changing display featuring the content that's important and relevant to you. A modern, wifi connected, digital photo frame. At a glance you can see your upcoming calendar events and weather overlaid on top of photos pulled from Flickr, Dropbox, Instagram, Google Photos and other photo/file sharing sites, all in a beautifully designed interface.
Not into DIY? Check out the shop! A 23-inch pre-built wall display is available in the DAKboard shop!
Things You’ll Need
- Monitor with HDMI input (preferably an IPS panel!)
- Short HDMI cable (1 foot is perfect, but 3 feet works too)
- Raspberry Pi computer (plus wifi dongle, if using the Pi version 1 or 2)
- 8GB+ SD/Micro SD card
- Micro USB charger (for Raspberry Pi)
- Power Extension Cord
- Photo Frame Wire
Step 1: Sign Up (free!) and Configure DAKboard
If you haven’t already done so, sign up and configure DAKboard. In the configuration screen, go to “Account” and click the “Generate” button next to “Private URL”. Note this URL, as we’ll need it later when configuring the Raspberry Pi.
Step 2: Download and Install Raspbian OS
I recommend downloading NOOBS, which is a simplified Raspbian OS installer:
https://www.raspberrypi.org/downloads/noobs/
Once downloaded, follow the setup guide to get the OS onto your SD card, and the Raspberry Pi up and running:
https://www.raspberrypi.org/help/noobs-setup/
After following the NOOBS setup instructions, you should now have your Raspberry Pi running but we’ll need to update a few settings to optimize it to run DAKboard.
Step 3: Configure the Raspberry Pi
We’ll want our Raspberry Pi to boot directly into a browser running DAKboard in fullscreen mode, without having to press the keyboard or click the mouse! So, you’ll either want to open the terminal application if you’re in the Raspberry Pi desktop, or SSH into your Raspberry Pi.
Run raspi-config to configure some system options:
sudo raspi-config
In here, choose to:
- Boot to desktop
- Enable SSH server (optional, if you want to connect from another computer)
- Set the proper timezone
Exit and choose to reboot later. Set your Wifi network name and password:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
and change your SSID and PSK:
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_WIFI_PASSWORD"
}
If you’re going to be mounting your display vertically (portrait orientation), change the rotation configuration:
sudo nano /boot/config.txt
and add:
display_rotate=1
You’ll also want to check and make sure that disable_overscan=1 and no other overscan configs are uncommented here.
Now lets reboot so our network settings will take effect and we can access the internet:
sudo reboot
Once the RPi is back up, go back into a terminal and we will need to install a couple apps, and have DAKboard load automatically on boot.
sudo apt-get install chromium unclutter
Chromium isn’t included in the Raspbian Jessie repository (as of 12/9/2015). Instructions to download and install Chromium on Raspbian Jessie are here.
And lastly we’ll want to force the screen to stay on, and load the Chromium browser running DAKboard on boot:
Raspbian Wheezy:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
@xset s off
@xset -dpms
@xset s noblank
@chromium --noerrdialogs --incognito --kiosk http://dakboard.com/?p=YOUR_PRIVATE_URL
Or on Raspbian Jessie:
sudo nano ~/.config/lxsession/LXDE-pi/autostart
@xset s off
@xset -dpms
@xset s noblank
@chromium-browser --noerrdialogs --incognito --kiosk http://dakboard.com/?p=YOUR_PRIVATE_URL
Reboot one last time, and when the Raspberry Pi comes back up, we should see DAKboard running in full screen!
Step 4: Turn the Monitor on and Off Automatically (optional)
To turn the monitor on/off on a daily schedule, grab this script and put it in /home/pi/rpi-hdmi.sh. Next, make it executable:
chmod +x /home/pi/rpi-hdmi.sh
Now we’ll need to add a cron entry to call this script at the desired time, so open the cron editor:
crontab -e
And add the following lines at the bottom of the file:
# Turn HDMI Off (22:00/10:00pm)
0 22 * * * /home/pi/rpi-hdmi.sh off
# Turn HDMI On (7:00/7:00am)
0 7 * * * /home/pi/rpi-hdmi.sh on
The first number (0) is the minutes and the second number on each of those lines (22 and 7) is the hour in 24 hour time. So in this example, the monitor would turn off at 10:00pm and back on again at 7:00am. Adjust the time for your needs. Keep in mind: this does not turn the Raspberry Pi off! It just turns off the monitor, saving energy and hopefully extending the life of your monitor. The Raspberry Pi is still on and running however.
Step 5: Install Hardware on the Back of the Monitor
I used a Dell S S2340L 23-Inch monitor for a few reasons:
First, it’s an IPS display, which means if you’re going to be hanging it vertically on the wall, you’ll still be able to see it when viewing at an angle greater than 90 degrees!
Second, the HDMI and power connections on the back of the monitor face down, not straight out. This is crucial if you’re going to be mounting it to the wall, because if they face out, the monitor will stick out from the wall much further.
And third, the plastic case is perfect for this setup. There’s almost no bezel on the front, and the back cover pops off easily, leaving the frame which I then attached the photo frame wire to use for hanging!