Making a Dashboard or Kiosk with a Raspberry Pi

So you have a web based dashboard showing some live information of some kind, or you have some kind of web based system that you want people to interact with.

You have a nice big screen to show this all on, but how do you show it? The most obvious option is to plugin a laptop (or connect it via Chromecast) and share the screen.

But why carry around a clunky laptop, waste all that resource just to show a webpage?

Right now, the Raspberry Pi costs just £30 and the Pi Zero W (which is what I used) less than £10. Both of them have a built in network capabilities and both of them are more than capable of being turned into a basic Kiosk at the fraction of the cost of a full laptop.

You will need other things on top of the Pi itself: a micro SD card (8GB is enough but it depends on your usage), micro HDMI to HDMI cable and a USB cable for power (possibly a plug but I was able to use the TVs USB output). If you are using the Pi Zero W, you will also need micro USB converters.

Installing the OS

The recommended operating system is to use Raspbian. For me, the easiest way to install it is to download it and use Etcher to write it onto the micro SD card (so you will need a way to plug it into your computer.

You should download the "RASPBIAN JESSIE WITH PIXEL" version as this has a nice desktop for you to use. Once, you have downloaded it, follow the very easy steps on Etcher to get it onto the card. Then just plug the card into your Pi and turn it on. Done.

Turn it into a Kiosk

Here are the steps that we want:

  • Chrome to boot onto the website when the Pi starts
  • Chrome to be full screen
  • Mouse cursor should not be visible nor should any other OS things

It is very very easy to do all of this.

We will start with the last one first. Start by installing unclutter:

sudo apt-get install unclutter

This will be used to hide the mouse and everything else.

Next, open up the autostart config file in your favourite text editor:

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

Comment everything out and add the following lines:

@xset s off
@xset -dpms
@xset s noblank
@unclutter -idle 0.1 -root
@chromium-browser --incognito --kiosk http://your-website-here

So this runs as soon as the Pi has loaded and what it does is disables the screensaver and disables the screen automatically switching off. You can see the line using Unclutter we installed earlier, this hides the mouse cursor after 0.1 seconds of being idle and then the last line fires up Google Chrome in incognito and kiosk mode and goes to your website.

Save and restart your Pi. It should work straightaway. The Pi can then neatly be hidden behind the TV.

If you need to do anything on it, you can plug in the keyboard and press CTRL+ALT+T to bring up the terminal window.

It is that simple! No more clunky, resource hungry, sometimes unreliable laptop/chromecast.

© 2012-2023