/chilipie-kiosk

Easy-to-use Raspberry Pi image for booting directly into full-screen Chrome, with built-in convenience features for unattended operation. Perfect for dashboards and build monitors.

Primary LanguageHTMLMIT LicenseMIT

chilipie-kiosk

Easy-to-use Raspberry Pi image for booting directly into full-screen Chrome, with built-in convenience features for unattended operation. Perfect for dashboards and build monitors.

Features

Screenshots

▲ Customizable, full screen          ▲ Boots directly into a simple       ▲ WiFi & other system config
      startup graphics                    getting started -guide            is just one keypress away
  • Boots directly to full-screen Chrome - with all the features of a modern browser
  • No automatic updates - no surprises due to Chrome (or other packages) suddenly updating
  • Automatic crash-recovery - accidental unpowering won't result in "Chrome did not shut down correctly :("
  • Custom startup graphics - displays customizable graphics instead of console messages during startup
  • Lightweight window manager - uses Matchbox for minimal clutter and memory footprint
  • HDMI output control - ready-made scripts for turning off the display outside of office hours, for example
  • Cursor hiding - if you leave a mouse plugged in, the cursor is hidden after a brief period of inactivity
  • Automatic reboots - reboots the Pi nightly, when nobody's watching, to keep it running smoothly
  • Based on a recent Debian - if you want to add your own tweaks, all the expected packages are one apt-get away
  • Batteries included - the most common how-to's and ProTips have been collected to the first-boot document

Getting started

  1. Check that you have compatible hardware.
  2. Download the latest image.
  3. Decompress it.
  4. Flash the image onto your SD card. We recommend Etcher for this: it's delightfully easy to use, cross platform, and will verify the result automatically. If you know what you're doing, you can of course also just sudo dd bs=1m if=chilipie-kiosk-vX.Y.Z.img of=/dev/rdisk2.
  5. Optional: Setup automatic WiFi
  6. Insert the SD card to your Pi and power it up.
  7. You should land in the first-boot document, for further instructions & ideas.

Automatic WiFi setup

  1. After flashing remount your SD card.
  2. Create a wpa_supplicant.conf in your SD cards boot folder
  3. Copy the sample wpa_supplicant.conf file into the boot folder on the SD card.
  4. Replace WiFi-SSID and WiFi-PASSWORD with your WiFi configuration.
  5. Optional: Set the country code to your country code e.g. DE.

Sample wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
    ssid="WiFi-SSID"
    psk="WiFi-PASSWORD"
    key_mgmt=WPA-PSK
}

Hardware

Works with Raspberry Pi versions 1, 2 & 3. The 3 series is recommended, as it's the most powerful, and comes with built-in WiFi (though both official and off-the-shelf USB WiFi dongles can work equally well).

Make sure you have a compatible 4+ GB SD card. In general, any Class 10 card will work, as they're fast enough and of high enough quality.

The Pi needs a 2.5 Amp power source. Most modern USB chargers you'll have laying around will work, but an older/cheaper one may not.

Common issues

  • I get a kernel panic on boot, or the image keeps crashing. The Raspberry Pi is somewhat picky about about its SD cards. It's also possible the SD card has a bad sector in a critical place, and dd wasn't be able to tell you. Double-check that you're using a blessed SD card, and try flashing the image again.
  • I see a "rainbow square" or "yellow lightning" in the top right corner of the screen, and the device seems unstable. This usually means the Pi isn't getting enough amps from your power supply. This is sometimes the case in more exotic setups (e.g. using the USB port of your display to power the Pi) or with cheap power supplies. Try another one.
  • The display control scripts don't turn off the display device. Normal PC displays will usually power down when you cut off the signal, but this is not the case for many TV's. Please check if your TV has an option in its settings for enabling this, as some do. If not, you can try your luck with HDMI CEC signals, but the TV implementations of the spec are notoriously spotty.

Acknowledgements

This project is a grateful recipient of Futurice Open Source sponsorship. Thank you. 🙇