Open Sesame
Open Sesame
Open Sesame

The user flashes a QR Code (or accesses a website) to ring a door bell in a remote location.


Operation Principle:

When the user accesses the website, an ajax call is performed which changes the contents of a .txt file to "on". The Raspberry Pi checks this file every second. If it detects a change, it plays the sound and changes the contents of the .txt file to "off". The web interface then updates to tell the user that the bell has rung.

Created @ ICAH

Step 1: Get your material.

Open Sesame

You will need a:

- Raspberry Pi

- wifi dongle (e.g. Edimax EW-7811Un)

- speakers

- a sheet of mdf (4mm)

- A web hosting service (e.g. GoDaddy, Hostgator, etc)

- A laser cutter

Step 2: Web File Upload

Open Sesame

Create a directory on your web server & add the files in the folder "". You can use an FTP client (e.g. Filezilla).

When visiting http://yourwebsite/directory you should see the interface.


The folder contains 6 files:

- index.html : the main entry point. contains the DOM structure

- style.css: the css

- status.txt: a text file storing the values "on" or "off" depending on whether the sound has been played

- ajax.php: php scripts to check the status.txt file

- script.js: js scripts to perform ajax calls

- doorbell.svg: icon to display on the screen

Open Sesame
web.zip2 KB

Step 3: Configure the wifi on the raspberry pi

To configure the wifi:

1. Boot the Raspberry Pi and run: sudo nano etc/network/interfaces

Edit the file so that it looks like:

etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp

2. Run the command: sudo nano etc/wpa_suppilicant/wpa_suppilicant.conf

- If you are on a WPA-EAP network, edit the file so that it looks like:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

network {ssid="" key_mgmt=WPA-EAP password="" identity="" }

- If you are on a WPA-PSK network, edit the file so that it looks like:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

network {ssid="" key_mgmt=WPA-PSK psk=""}

Step 4: Add the files to the Raspberry Pi

Open Sesame

You can clone all files to the raspberry pi from my github by using:

git clone

(if you haven't installed git on your Pi, you can run: sudo apt-get install git)

Otherwise, just copy the files,, audio.mp3 in some directory on your Pi.

Make sure to change the lines:

response = http_request(http://yourURL/status.txt")



so that they point to your URL.

Open Sesame
pi.zip297 KB

Step 5: Run program on Pi boot

To run the program immediately when the Pi boots up, we use a crontab. A crontab is a background (daemon) process that lets you execute scripts at specific times. It's essential to Python and Raspberry Pi. To do this, open the file

nano connected-doorbell/pi/

Make sure that the line

cd home/pi/connected-doorbell/pi

is pointing to the directory containing your program.

Then, follow this excellent tutorial:

(starting from step 2)

Step 6: Create the poster

Open Sesame

Generate a QR code for your url by visiting this website:

Open the poster.svg file & edit it with your favorite vector editing software (e.g. illustrator, inkscape, etc)

Open Sesame
poster.svg7 KB

Step 7: Laser cut and assemble!

Open Sesame
Open Sesame
Open Sesame

Laser cut the house & the case for the raspberry pi.


Open Sesame
adafruit_pi_box.svg123 KB
Open Sesame
House.svg155 KB

Tag cloud

make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel