Garage Genie – Parking & Remote Control using Arduino

The Garage Genie is a car automation Arduino gadget. Click on the two images above to see the animated explanation. It aims to do a few things:

1. The “traffic lights” tells you when you’ve inched your car up close enough when parking. The lights are control by an Arduino using an ultrasonic distance sensor.

2. The ultrasonic distance sensor tells the system whether a car is parked in the stall or not. Using iPhone or Android app, you can check whether or not someone’s car is in the garage.

3. Non-invasive remote open/close operation of the garage door via smart phone app. I’m using a spare garage door remote so that you don’t need to cut into existing wiring.

4. Webcam view of garage if you have a webcam in the garage.

The Garage Genie is part of my series of Instructables for Arduino devices based on an awesome, open source home automation platform called OpenHAB.
Here is how the pieces of the Garage Genie fit together. Continue on for a step-by-step of how it’s built.

Don’t know if it’ll amount to anything. But I’m in the Instructables Contest, if you want to vote. Thanks!

Garage Genie - Parking & Remote Control using Arduino

Step 1: Parts List and Initial Hardware Prep

Here’s the parts list.

  1. Ultrasonic distance sensor (less than $4)
  2. Arduino Uno clone ($9)
  3. Arduino prototype shield ($4)
  4. Arduino ethernet shield ($8)
  5. Relay module ($6)
  6. Color LEDs
  7. Dupont cables
  8. 5V AC adapter (like from a smart phone / USB charger)

The initial hardware preparation involves putting the Arduino together and getting the garage door remote ready for wiring. I’ve combined these tasks into this step.

READ  Wireless Notice Board using GSM and Arduino

Once you have the parts, assemble the Arduino components (Arduino, ethernet shield, prototype shield) into a stack like this. Pretty simple.

Next, we’ll be using the relay module to actuate the button on the spare garage door remote. To do this, we need to prepare the remote. First, remove the circuit board and solder wires to one of the buttons. This following series of pictures should give you a good idea of what to do.

Here’s the circuit board removed from the remote housing.

Next, decide which button corresponds to the garage door open button. Use a multimeter to determine which two pads/legs on the button are shorted when the button is pressed. Solder a few inches of wire to these two legs. You should take the batteries out of the remote so you don’t accidentally operate the garage door.

If you measure the continuity across the two wires, it should be an open circuit. Once the wires are installed, try to open garage by touching the two wires together. It won’t work because the batteries aren’t installed. Put in the battery and try again.

Ok, next!

Garage Genie - Parking & Remote Control using Arduino circuit

Step 2: Software Setup

The data flow diagram above explains how the three pieces of software (Arduino, Mosquitto, and OpenHAB) work together to get the functionality we’re after. This one diagram pretty much explains how all the communications work. Hopefully it makes sense.

Let’s take care of the PC side by installing the two programs Mosquitto and OpenHAB.


Install the MQTT broker called Mosquitto. Once installed, Mosquitto can simply be ran by double clicking on the executable after installation. Make sure Mosquitto is running by navigating to the program folder and running this following command in the command prompt window (“dos prompt”).

cd C:\"Program Files (x86)"\mosquitto
mosquitto_sub -h localhost -t #

This subscribes to all topics on the MQTT broker. When numbers come in from the Arduino’s ultrasonic distance sensor in later steps, you’ll see them appear here. And when you push the garage door open button, you’ll also see that activity here. Use ctrl_c to cancel out of this.

READ  4x4x4 interactive LED-cube with Arduino


OpenHAB is the main server. It can be installed on a PC, Mac, or Raspberry Pi (and other similar single board computer). The Raspberry Pi is ideal for this since it’s very energy efficient, but for first time users, a Windows or Mac installation will be easiest.

Install OpenHAB according to the instructions on the OpenHAB wiki. Get familiar with some of the OpenHAB files like the sitemap, item, and rules file. The wiki does a good job explaining this, so I’ll forgo the OpenHAB explanation myself.


For more detail: Garage Genie – Parking & Remote Control using Arduino

This Post / Project can also be found using search terms:

  • automatic door to ultrasonic arduino pdf
  • ultrasonic garage parking assistant steps
  • arduino project remote led
  • arduino sensor schematic

Comments (1)

  • Dave Sutherland

    I have built this and the LED’s change colour OK and the door button in openhab operates the relay but my icon does not change in openhab to show if the car is in the stall or not..

    I get this in the serial log from arduino when moving in front of the ultrasonic sensor …

    starting MQTT send
    MQTT connected OK from MQTT Send
    finished MQTT send

    Have renamed the icons you uploaded to instructibles to mycarstall-OFF and mycarstall-ON,what do I name the 3rd image ?

    Only the mycarstall-OFF icon shows at all times.

    Please reply to my email address above,I would really like to get this brilliant
    project working properly !



Leave a Comment

= 5 + 3

(Spamcheck Enabled)

Read previous post:
Guitar Tuner for the Blind (using an Arduino)

How to modify a guitar tuner so it can be used by a blind person This build uses an Arduino...

Scroll to top