Introduction: Garage Door Controller Using Raspberry-Pi: Monitor Status and Control Your Garage From Anywhere in the World!

** Have your ever drove out of your garage and after few minutes into your drive, feared you did not close the door?

** What if you did really leave the door open?
The garage door might close itself after few minutes, but that means your home's security has been compromised!

** Did you ever feel the need to check the status of your garage door maybe from your office?

>> This project offers a solution to all those problems!

This Raspberry-Pi based Garage door opener is capable of controlling of your garage door which enables you to open/close the door when desired, and lets you monitor the status to report back if the door is opened or closed at that moment.
An intuitive User-Interface lets the user to control and monitor the garage door through the Internet and thus giving access to the door from anywhere in the world!

This instructable article describes the step by step approach.

Step 1: Design Hardware

Step 1: Design hardware that can control and monitor the status of the door.

Things you need:

> A raspberry-Pi, enabled with Wi-Fi (preferably) or ethernet 
> single strand wires
> magnets
> A USB power supply of at least 1A output capacity to drive the raspberry-pi
> Things to make the custom PCB listed in the BOM

Check the BOM.txt file attached for the detailed Bill Of Materials

Things I assume you already have or intend to have:

A simple garage door system operated with a remote. Ex: Lift Master

The schematic designed is shown below. 
Hover over to see the descriptions for each block.

I used Eagle CAD to design the circuit. Download the .sch for the schematic

Step 2: Make PCB

Next step is to make a PCB from the circuit we designed

I used Eagle CAD to generate the .brd files

Download the .brd file and it is ready to be used!

Step 3: Get the PCB

I got my custom PCB done at
After i got the PCB, I discovered the board was missing a vital trace route that was driving the relay.
Hover over the Top PCB image to check tweak.
You could make the changes to .brd file itself before sending it out to the fab.

Step 4: Solder on the Components

Once you get the PCB solder on the components. Also make sure route the missing trace I mentioned in the earlier step.
After mounting the components this is what it looked like

Step 5: Software

The Software comprises of a Web-based front end and a python based RPi-GPIO library as a backend.
The web based interface comprised of HTML and Java script makes calls to python based RPi.GPIO library.
This is the backend firmware.
Would explain in detail if someone is interested.
Check the attached zip file for the complete bundle.

The Images below show the screenshots of the interface.

Step 6: Software Installation

To install the code you need to:
1) Install Apache web server on your Raspberry-Pi
2) Place the unzipped code files in /var/www of the Raspberry-Pi including the index.html file.
     >> You will have to replace the default index.html with the index.html included in the bundle.
3) You can access the User-Interface by visiting the IP address of your Raspberry Pi.

Step 7: Installation in the Garage

Now that the setup is ready and the required software installed, we need to install the system in the garage.
You could follow two approaches.

1) Drive a spare RF remote control of the garage door to switch ON or OFF the system.
2) Driver the garage door system directly from the relay on board.

I will explain the 2nd option since the 1st option needs you to buy an extra RF remote for your garage system.

To drive the garage door system directly from the relay board, route the wires as showed above.
This will let you control the door to open and close when you command using the user-interface.

Step 8: Installation in the Garage: Placement of the Raspberry-Pi

Install the Raspberry-Pi close enough to the garage door system, so that you can route wires to the door opener and also route the wires required for the Reed-Switch

Step 9: Installation in Garage: Installing the Status Monitoring Sensor

The next step is to install the input sensor that lets us monitor the door status.

The images show how i have installed in my garage.

Step 10: Demonstration

Here is a demo video
Raspberry Pi Contest

Participated in the
Raspberry Pi Contest