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




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

Be the First to Share


    • Crayons Challenge

      Crayons Challenge
    • Microcontroller Contest

      Microcontroller Contest
    • Metal Contest

      Metal Contest



    8 years ago on Introduction

    Small question. Where in zip file other files ?


    Reply 8 years ago on Introduction

    Hi eong2,

    I have uploaded only one zip file containing required software file in step 5.

    all other files are uploaded separately as required in respective steps.

    I have not uploaded any zip file that contains all the necessary files from this instructable.


    Reply 6 years ago

    Have to ask why not? Please either post complete tested guides or it's really ot worth the frustration


    Reply 8 years ago on Introduction


    Can you send all files ? . I want open and close my greenhouse windows manually .

    Best regards


    7 years ago on Introduction

    Awesome tutorial, I'm using this as the basis for my garage door opener project. I would definitely appreciate a detailed explanation of the software. For example, how would you implement updating the door status icon automatically rather than pressing a button to update status?


    8 years ago on Introduction

    Hi there this may be a dumb question but for a newbie it will mean a lot,how can i copy all these files into the /var/www it doesn't let me do it i even use de "sudo cp" command and it says "error" can someone tell me a little step by step,please?

    thank you all


    8 years ago on Introduction

    Can I also ask java data complete?

    please help me


    Reply 8 years ago on Introduction

    please my email