Automating your garage door with MIMOlite

One of the most exciting parts about the current home automation scene is the ability to create and configure your own devices.  I recently bought a MIMOlite module to turn my “dumb” garage door into a (slightly) smarter one.  The requirements were simple: I wanted to be able to monitor the state of the garage door (open/closed) and be able to control it from my home automation platform.  I did not have much experience with home electrical work, but luckily I had a friend who was much more knowledgeable than I was, so together we were able to set up a (relatively) simple and smart garage door controller.

What is it?

As a brief overview, the MIMOlite is a small device that can be wired up to electrical systems to trigger a relay and/or monitor a sensor.  The device exposes control of the relay and provides access to the sensor through the Z-Wave protocol. For our intents and purposes, there are 4 parts of the module that we’re interested in:

  1. The relay block, which has 3 terminals: COM (common), NC (normally closed), and NO (normally open).  If you want the simplest approach of just controlling the garage door (no sensors, provided power supply), this it the only block you’ll be working with.  The wire that runs to the existing garage door button will be attached to this block.
  2. The signal input terminal block, which has 2 terminals: positive and negative.  You can optionally attach a sensor to the module that will be broadcast to the hub so you can keep track of states.  You could attach the obstruction sensor here, or the door state sensor if you don’t want to monitor that as its own component.  This is not necessary though, especially if the sensor is already on the Z-Wave network.  I’ll be providing info on this the best that I can, but bear in mind that I did not hook up a sensor to the MIMOlite.
  3. The jumper is the little black wire connector (labelled P5 on the circuit board) that determines whether the module should be in “momentary” or “latching” mode.  More on this later, but we will want to take the jumper off (“momentary” mode).
  4. The power terminal block provides power to the module.  A power adapter is provided, but if you want to hook up to an existing system (which wasn’t readily possible on my system, so I would advise against it), you can hook up your own wiring as well.

Here’s mine, which I’ve labelled with each of the above item’s name or what the bottom terminals connect to.


How does it work?

The garage door opener has a circuit that runs to the door button. When the button is not pressed, there is no current flowing through the circuit. When the button is pressed the circuit is completed and the garage door opener detects the current on the wire that normally has none.

To emulate this, we need a way to briefly send current into the same wire that normally gets it when the garage door button is pressed. We’ll accomplish this using the module’s relay, a simple electrical component that flips a switch from open to closed (or vice versa, depending on which terminals you use) when power is applied to it. By connecting the COM port of the MIMOlite to the black garage door wire and the NO (normally open) port to the red garage door wire, the current will flow only when the relay is powered.  We can trigger this behavior with Z-Wave commands and the MIMOlite (as well as the original garage door button).


If, unlike me, you already know what you’re doing, then FortrezZ (the company behind MIMOlite) actually has a wiring diagram on their site.  Either way, the components you’ll need are:

  • Door sensor. We will use this to monitor the state of the garage door, since the MIMOlite itself will not report on that.  You can set this up independently of the MIMOlite to monitor your garage door state, and in fact I would recommend setting it up first to ensure it works.  We will monitor its state separately from the module, so there will be no need for extra wiring (unless you want to get the state through the MIMOlite).
  • MIMOlite module.  This will send the garage door signal, and takes commands from your Z-Wave controller. If you want, you can hook it up to other sensors as well (obstruction sensor, the door open/close sensor, etc.).
  • 22 gauge (copper) bell wire.  Based on my research and personal experience (so be aware that it’s a sample size of 1), this is the most common garage door wire.  Be sure to use the proper wire for your system.  The amount you need will depend on where you are placing the module.  Be sure to grab enough for splicing and stripping the wire — each terminal will most likely require 2 wires.
  • Wire connectors/nuts. You’ll only need a handful of these (depending on if you’re attaching a sensor or not), but be sure to get the correct connectors for your gauge and wire material.
  • You’ll also need a wire cutter/stripper, and a small flat head screwdriver for connecting the wires to the MIMOlite terminals.

Make It

Before we start I want to emphasize that this is meant to be a general guide and not a comprehensive walkthrough.  The approach I detail here worked for me, but be sure to take utmost care and familiarize yourself with local fire and electrical codes before starting on this project.  Be sure to disconnect power to any components you are working on, and read the manuals on all of the electrical systems you are working with (including the MIMOlite–it’s actually pretty good).

The first thing we’ll need to do is to remove the jumper on the MIMOlite module to enable “momentary” mode. It’s recommended to do this before pairing with the Z-Wave hub.  In this mode the MIMOlite briefly closes and re-opens the circuit rather than switching to closed (or open) like it would in “latching” mode. We select this because we only need to close the circuit briefly to activate the garage door. Otherwise it would be like continuously holding down your garage door button.

Next you can pair both the module and the door sensor with your hub.  Simply powering on the module will pair it with a Z-Stick in inclusion mode. Your door sensor pairing process may vary, but mine just needed to be turned on near a Z-Stick (also in inclusion mode). After pairing, you should test the door sensor to make sure it properly reflects the states you want, and add any rules you need based on the garage door state (e.g. notify me if it’s opened at night, open for x many minutes, etc.).  It’s nice to get this step done now, in case you plan on wiring the sensor to the MIMOlite and run into any complications later.

Before we get to the fun part, a couple of quick notes–I’m going to assume that we’re running off of the provided power supply, so we do not need to do anything with the power terminal block.  I also did not end up attaching a sensor to the module, as I opted to monitor the garage door state independently of it.  However, my picture below includes the wires for it, if you’re interested.  I’ll try to make the rest of the guide conducive to attaching a sensor, but keep in mind that I did not go that route.

Anyway, go ahead and cut enough wire for each terminal you will be using.  Assuming you’re not using a sensor and are splicing in the wire, that means you’ll need 4 wires (MIMOlite COM, MIMOlite NO, opener control positive, opener control negative).  Double that number if you are also attaching a sensor.  My module sits on top of the garage door opener, so I only need a few inches of wire for each terminal, but the amount you need may be much greater if you’re attaching at the push button, for example.  Strip enough of the wire covering on each side to connect to the terminals and other wires.  Connect one of the wires to the COM terminal in the relay block, and connect the other to the NO terminal.  If you are attaching a sensor, you can connect those to the + and – of the signal terminal block. Be sure to strip the splicing wires as well.  (Please note that the picture below has the “NO” terminal wire labelled “NC”, but that’s just a typo — the wire is in the right terminal.)

At this point you should have 2 (or 4) wires coming out of your module, and an additional 2 (or 4) wires for splicing in, so we are ready to hook up our new device.  Bring your MIMOlite to wherever you are going to keep it, TURN OFF POWER TO THE GARAGE DOOR OPENER, and either cut or detach the control wires from it.

Next, use the wire connectors to attach the MIMOlite COM wire to the wire that was connected to the black terminal of the garage door opener, and then attach both to a new wire that connects to the black terminal on the opener.  Do the same with the red/NO/positive wires. In the end you should have 2 connectors, each with 3 wires coming out — one to the button/control, one to the MIMOlite, and one to the opener.  As usual, you’ll have another 2 connectors if you’re attaching a sensor.


My understanding is that low voltage wire splicing does not need to be in a junction box, but you may install and use one if you so choose.  If you do, note that the MIMOlite should not be placed in a metal enclosure.  Ensure everything is properly set up and up-to-code, and power on the garage door opener.  Here’s a (mostly) finished product.  (I switched from the grey wire in the first image to the red/black wires here, in case you’re wondering where those went):


The first thing you should do is verify that the original push button control still works — we hooked up the module in parallel so that Z-Wave doesn’t need to work for the garage door to open and close.  In other words, everything that worked before should continue to work now.  If this isn’t the case, then ensure that the wires from the button to the opener are properly in place.  Otherwise, your setup is complete!  The MIMOlite should show up on your home automation platform, and the binary switch command class is the one you’ll use to toggle the garage door.

A note for home automation software — since we are in momentary mode, the switch is basically always “off”, so to trigger the signal, you need to always send the “turn on” command.  Depending on your home automation controller, this means you cannot use a simple binary switch, as going to the “off” state will not do anything.  If you need to push the button twice before the garage door opens/closes, this is most likely what’s going on.

I have a Home Assistant script (which enables a button on the front end, essentially acting like a garage door remote control) for anyone who also uses that.

Please let me know if you have any question, I’ll be happy to help (with what generally little knowledge I have) and most importantly be safe!

Igor Shults

About the Author

Object Partners profile.

One thought on “Automating your garage door with MIMOlite

  1. MC says:

    Thank you thank you thank you! You should write instructions for Fortrezz

  2. RickSFL says:

    Hi Igor, I think that this is a great tutorial! One question though, and not sure if you may know the answer to this, but I am not sure that this mimolite relay will work on newer garage door openers (like the Chamberlain LF9000WF MyQ opener or similar GDO) as it would seem that you cannot simply connect the N.O. and common wires into the GDO head unit Red and White contact points since there is some security communication between the wall switch and GDO head unit. Usually I can manually short the 2 wires to actuate the GDO but if this does not work on these newer GDOs, then the relay will not be able to simulate the same action. Does this sound correct to you and if so is there any way to create a work around for this scenario?

Leave a Reply

Your email address will not be published.

Related Blog Posts
Natively Compiled Java on Google App Engine
Google App Engine is a platform-as-a-service product that is marketed as a way to get your applications into the cloud without necessarily knowing all of the infrastructure bits and pieces to do so. Google App […]
Building Better Data Visualization Experiences: Part 2 of 2
If you don't have a Ph.D. in data science, the raw data might be difficult to comprehend. This is where data visualization comes in.
Unleashing Feature Flags onto Kafka Consumers
Feature flags are a tool to strategically enable or disable functionality at runtime. They are often used to drive different user experiences but can also be useful in real-time data systems. In this post, we’ll […]
A security model for developers
Software security is more important than ever, but developing secure applications is more confusing than ever. TLS, mTLS, RBAC, SAML, OAUTH, OWASP, GDPR, SASL, RSA, JWT, cookie, attack vector, DDoS, firewall, VPN, security groups, exploit, […]