Raspberry PI Touchscreen Kiosk

A Raspberry PI touchscreen kiosk project GUI application using GTK+ 3 and Glade. A full-screen information kiosk application written in C for the Raspberry PI.

Raspberry PI Touchscreen Kiosk

Raspberry PI Touchscreen Kiosk

Raspberry PI Touchscreen Kiosk Details

This Raspberry PI touchscreen kiosk project is a demo application that shows a simple mall with four shops. An official Raspberry PI touchscreen is used as an information kiosk. When any button on the screen is touched, information for the corresponding page is displayed.

An example of one of the information screens for a shop is shown in the image below.

Raspberry Pi Kiosk Info Screen

Raspberry Pi Kiosk Info Screen

GTK+ 3 and Glade 3 Raspberry Pi Project

GTK is a toolkit that is used to create windows and widgets such as buttons, images and text boxes. Glade is a user interface design application that allows windows to be designed and laid out graphically. It is used to design the GUI of the application.

The Application is written in the C programming language. GTK functions are called in the C code to draw the windows and widgets designed in Glade and to attach callback functions to window events such as button presses.

Application Details and Code

The project is built from a set of GTK template files that make it easy to start a new GTK / Glade GUI application. Full code and project details can be found in the Raspberry PI Information Kiosk project on the Starting Electronics website.

The code and example project can help you to start your own Raspberry PI GUI application development if you are building an information kiosk or similar application.

Go to the Raspberry PI Kiosk Page →

Stiff Breadboard Problem

Often a new electronic breadboard will be too stiff to insert components or jumper wires. When attempting to insert a wire or lead of a component into a tight breadboard, the wire or lead just bends.

Too Tight Breadboard

Too Tight Breadboard

How to Insert Components into a Stiff Breadboard

Use a pair of pliers to hold the wire or component lead before inserting it into the breadboard. Take the lead or wire as low down as possible and use the pliers to push the lead into the tight breadboard hole or tie point.

See the article on how to insert a component into a stiff breadboard, which contains more details. The article also has photos and a video which shows exactly what to do.

Breadboard Prototyping with Atmel Xplained Boards

Breadboard prototyping with an Atmel Xplained board is not as easy as using a board such as an Arduino which allows jumper wires to be connected directly from the board’s headers to the breadboard.

Easily Connecting to an Atmel Xplained Board for Breadboard Prototyping

One solution to easily connect to an Atmel Xplained board from a breadboard is to make up a ribbon cable with two female IDC connectors. This allows jumper wires to be inserted into the IDC connector which can then be connected to a breadboard or breadboard circuit. The image below shows how this is done.

Breadboard Prototyping with an Atmel Xplained Pro Board

Breadboard Prototyping with an Atmel Xplained Pro Board

The above arrangement of breadboard prototyping is used in the ASF ARM tutorial series that teaches how to use the Atmel Software Framework on ARM Cortex microcontrollers.

The board in the above image is a SAM4N Xplained Pro board.

Raspberry PI Security Camera

How to build a Raspberry PI security camera using a Raspberry PI camera and a USB camera. I built these two cameras using older Raspberry PI B and B+ boards (not the version 2 or 3) using motionEyeOS for the operating system.

The camera live video, recorded video, recorded images and settings are accessed by connecting to the camera with a web browser. Cameras are connected to the network by either wired Ethernet or WiFi from the Raspberry PI boards. The camera can be set to start recording as soon as motion is detected.

RPI Camera Raspberry PI Security Camera and WiFi

The first camera uses a Raspberry PI camera and Raspberry PI model B+ board. Connection to the network is via WiFi. The image below shows the Raspberry PI board set up with the RPI camera, USB WiFi dongle and micro SD card.

Raspberry PI Security Camera with WiFi Connection

Raspberry PI Security Camera with WiFi Connection

USB Camera and Wired Ethernet

The second camera uses a Raspberry PI model B board, full sized SD card and an external USB camera as shown in the following image.

Raspberry PI Board with USB Camera and Wired Ethernet

Raspberry PI Board with USB Camera and Wired Ethernet

A cheap USB camera is attached to the board via the black USB connector in the above image.

Cheap USB Camera

Cheap USB Camera

Installing and Setting up the motionEyeOS Software

Details on setting up the Raspberry PI camera and motionEyeOS software can be found on the Starting Electronics website. The article shows how to set up the Raspberry PI camera and wired Ethernet connection.

Security Camera Video Image in Web Browser

Security Camera Video Image in Web Browser

The motionEyeOS software is a complete operating system and camera motion detection software all in one. A SD card image is simply installed onto the SD card to install all the software. The Raspberry PI board and camera can then be accessed from a web browser.

Even if WiFi is to be used, the board must first be connected to a network using wired Ethernet so that the board can be accessed from a web browser and settings changed to use WiFi.

Further details and settings can be found on the motionEyeOS wiki pages.

Raspberry PI Security Camera Performance and Issues

Recording Reliability

I have found that the camera, whether USB or RPI, does not reliably trigger and start recording every time that motion occurs in front of the camera. This problem occurs even with a fairly modest frame rate and fast SD card. I suspect that it is due to the performance of the Raspberry PI board. Performance should improve with a model 2 or 3 board.

Triggering on Unwanted Motion

If there is a tree or anything that moves when there is wind, this is a problem. Because of this, the camera will detect unwanted motion and start recording. On a windy day this is a big problem as the SD card will start to fill with unwanted recordings.