Open the Door

This was in my mind since years, and because home-automation is everywhere. I’ve had many ressources to stumble upon. I startet with an infrared to ethernet device to remote controle my stereo and tv with my phone. My most recent project was to remotely open the entrance door to our flat, with great success.

The setup


An arduino microcontroller hooked up with an ethernet-shield and a self soldered ‘trigger-board’. The arduino and the ethernet-shield is no magic, you can find example code here and here. I simply run a dead-simple non-secure web server on arduino listening for 3 arguments, for each relais on my trigger-board one. One of the relais is connected to my door-buzzer. The arduino is on my local network reachable only via cable. My home server is hooked up to the arduino ethernet interface and on this server I host a publicly available, mobile optimized, secure and beautifully designed, web application – written in plain PHP using RedBeanPHP.


You can log in and open the door, wherever you are. One can now use the ‘add to homescreen’ feature on iOS and have a pseudo native door opener.

One more thing…

Since I wanted to play around a little, I created a unique, one-time-usage-link-generator. So I can invite friends over, send them my link and they can open the door exactly once.

// Generating a random string to create a unique URL and allow entrance once 
function generateRandomString($length = 20) {
	$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
	$randomString = '';
	for ($i = 0; $i < $length; $i++) {
		$randomString .= $characters[rand(0, strlen($characters) - 1)];
	return $randomString;


Since I live in an old house, the doorbuzzer is not very reliable. So when I trigger the buzzer, my server-arduino-trigger system works like a charm, butte the door doesn’t open always at the first try.


  1. sweet! and unicorns make everything even better 😉

Comments are closed.