Smartphone-Controlled Garage Door

I like to ride my bike on the weekend; it helps me relax and unwind after a long week of work. One thing I don’t like is being unable to open the garage when I’m done with my exercise. The easy solution would be to keep a garage remote with me. The truth is, I already carry a smartphone to listen to music, measure my speed and track my route and I’d rather not carry anything else. Why not use the smartphone to handle the garage door as well?

SmartThings is a kickstarter-born startup that is now a part of Samsung. They make a SmartThings Hub that communicates to smartphones via Internet and to a myriad of sensors and actuators via ZigBee/Z-wave. The availability of many different sensors make the SmartThings platform very versatile and expandable, so I decided to give it a try for this project.

Hardware

Most solutions I found online required manipulating the installed system, by hooking something to either the garage opener or to the wall switch. My house is brand new, so I decided to use a  different approach that did not require interfering with the installed setup.

The idea is very simple; operate the door by using a remote controller, instead of talking directly to the door opener. This way, my whole system could sit almost anywhere in the house granted the remote radio signal can still reach the garage. The only downside of this solution is that it requires a little bit of hacking, as there is no SmartThings-compatible device designed to perform this specific function.

To activate the remote controller, I connected an Evolve LFM-20 dry switch in parallel to its mechanical push-button, so that when the LFM-20 relay is closed, the push button would become a short circuit as if someone had pressed it. Note that this does not compromise the functionality of the push button which can still be used for manual operation. The LFM-20 is in turn operated by the SmartThings hub, which is commanded by my smartphone.

    High-level system architecture

 

High-level system architecture

The LFM-20 uses AC power to generate its own DC voltage while the remote controller uses a battery. Having a system where some parts run on AC power and others from a battery is not very elegant. Therefore, I decided to steal some of the DC power from the dry switch to supply the remote controller as well. Luckily enough, its internal logic works at 3.3V, the same as the remote battery. The remote controller current consumptions during transmission amounts to less than 5% of the capability of the LFM-20 internal regulator (a LT1121-3.3, capable of delivering 150mA) so it is possible to steal the required current without overloading it. To improve things, I added a small RC filter to decouple the two devices and limit the maximum current between them.

Finally, I electrically connected the LFM-20 device with the remote controller using a two-screw terminal strip and taped the two devices together to obtain a compact and standalone solution.

Software

The dry switch device is compatible with the SmartThings platform so it can be operated using the provided standard app. The only change I needed to make was to configure the device as a “temporary switch”: the device normally works as a bistable switch that can be toggled between the open and closed condition. This is not quite what I wanted for this project: remote controllers are operated by pushing buttons for only a few seconds, just enough time to make sure the command is sent. To change the device type, I signed up as a SmartThings developer on http://developer.smartthings.com/ (it’s free) and changed the device type from “Z-Wave Switch” to “Z-Wave Virtual Momentary Contact”. Now when I trigger the LFM-20, its relay is closed for about 1 second and then automatically released.

iPhone 6 Grey.png

Conclusions

I’m now a happy owner of a smartphone-operated garage! This certainly wasn’t the only way possible to reach this result, neither was it the cheapest. I do like the fact that this solution didn’t require hacking the installed setup and can be located anywhere in the house.

How to improve this solution? One thing that could be done is to create more sophisticated rules to manage the garage door: for instance, instead of using an app, the door could automatically open when the bike approaches it. Another idea is to detect whether the door is open or closed and, for example, force it close if nobody is at home. With a little bit of hacking, imagination is the only limit.