Introduction: DAKboard: a Wifi Connected Wall Display for Your Photos, Calendar, News and Weather

Picture of 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

Picture of ​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!

Comments

rvendrame made it! (author)2017-10-03

Working perfect with PI 3! Thanks a lot! I combined it with a bash script and a PIR sensor, so the screen auto turns-off after 10min without any movement around...

Thanks to https://www.raspberrypi.org/forums/viewtopic.php?t=147311

PIR: https://www.amazon.com/HC-SR501-Sensor-Module-Pyroelectric-Infrared/dp/B007XQRKD4

1. Install light-locker:

sudo apt-get install light-locker

2. Setup light-locker

sudo nano /boot/config.txt

# uncomment to put the monitor into power saving mode (DPMS)

hdmi_blanking=1

sudo nano /etc/xdg/autostart/light-locker.desktop

Exec=light-locker --lock-after-screensaver=0 --no-lock-on-suspend --no-late-locking

3. Adjust autostart script

sudo nano ~/.config/lxsession/LXDE-pi/autostart

@lxpanel --profile LXDE-pi

@pcmanfm --desktop --profile LXDE-pi

@xscreensaver -no-splash

@point-rpi

@xset s 0 0

@xset s noblank

@xset s noexpose

@xset dpms 0 0 300

@bash /etc/pir_wake.ch &

@chromium-browser --noerrdialogs --incognito --kiosk http://dakboard.com/?p=xxxxxxxxxxxxxxxxxxxxxxxxx

4. create bash script

sudo nano /etc/pir_wake.ch

#!/bin/bash

echo "4" > /sys/class/gpio/export

echo "in" > /sys/class/gpio/gpio4/direction

while [ true ] ; do

state=$(cat /sys/class/gpio/gpio4/value)

if [ "$state" = "1" ]; then

light-locker-command -p

echo "Wake"

sleep 280

fi

sleep 0.3

done

5. Make script executable:

sudo chmod +x /etc/pir_wake.ch

6. Connect PIR sensor:

PIR Vcc: to any +5V pin on PI header

PIR GND: to any GND pin on PI header

PIR OUT: to GPIO4 pin on PI header

7. Reboot

sudo reboot

DavidD8 (author)2017-07-26

I made it with a raspberry pi zero. Getting the right screen was trick for me. I got a tv for free (digital research tv wt322) but it was not high enough resolution. It was something like 1024 X 760 so it would not display the last day of the week in in the calendar. I have a better screen now, it is Dell-2407wfp 24-Inch WUXGA 1920 x 1200. The display needs to be 1080p, or the calendar will not fit correctly. I just need to figure out how to mount it to the wall.

robertbaruch made it! (author)2016-10-06

I found a 12v-to-5v USB module on Amazon, that eliminated the power strip nicely.

robertbaruch (author)2016-10-03

Nice! I was able to do everything except pop the back off the Dell S2340L. How did you do it?

dannyk6 (author)robertbaruch2016-10-04

Great! I used a large flat-head screw driver. Just wedge it in the small gap between the sides and twist. Do that all the way around and it should come loose!

robertbaruch (author)dannyk62016-10-04

Thanks, that did the trick! Not without a little damage to the side from digging the screwdriver in, but once one tab popped out, the rest came out easily.

cs97jjm3 made it! (author)2016-10-04

I now have one at home and one at work.... great instructions

WillN33 (author)2016-09-23

I made this using a Pi Zero and Epiphany Browser with the same results. Works great!

BrandonM201 (author)2016-09-20

This is neat!

Swansong (author)2016-09-20

This would be nice to have set up in the office :)