Garage Door Control with WeMos D1 mini

I received my WeMos devices quite a while ago and found some time this weekend to play with them.  The web site has some information related to setting them up for programming using the Arduino IDE.  Devices and shields can be ordered from AliExpress

Once the IDE was all setup, the hardware configuration was quite trivial and I was able to replace the old “clunky” πŸ™„  Arduino UNO + WIFI shield with just the single WeMos unit.  Adding a relay shield on top of that and I was able to control the garage door without any issues.

Update: Did away with the relay and replaced it with a transistor circuit.


You can see the size comparison in the above image.  The Arduinio UNO + WIFI shield are massive in comparison to the WeMos D1 mini.  I also put a Mini Arduino Pro into the picture so that it could be part of the comparison.  The WeMos relay shield was easy to hookup and offered the ability to easily control the garage door.  Later I may replace that with a transistor circuit to keep the size small, and to be able to support our 2 garage doors off one device.

As I write this, I have taken a second WeMos device and have it tracing distance using a Parallax Ping))) sensor which I have used on other projects.


The Ping))) sensor will be mounted to the ceiling in the garage to measure the distance from ceiling to floor (or open garage door).  This will serve as a method to determine if the garage door is actually open.  I’ve also been think about including a temperature device to track the temperature in the garage.

Updated Arduino sketch is attached:  WeMOS_garageDoor.ino

Updated July 23rd, 2016

Been running the device now for over 2 weeks with a transistor circuit and without fail!   Generally speaking, I bang and whack my controller sometimes to get it to work.  Since I have hooked this devvice up to the door, I use it all the time and have not had a single issue.

Here’s a picture of the transistor board.  Only one of the transistors is currently in use.


Here’s a video of the setup as of today..  there will be more added to the setup since I plan to control 2 garage doors once I am done.

I have also been playing around with the Google Firebase Notifications so I plan to implement that into the Android software over the next month or so.  Once that is done then I can receive notifications when the door is left open.

All data is pushed to my web server which tracks temperature and when the door is open.

I have updated the code to allow the action of force sending the data to the server.  As a result, I can test the door from anywhere….  πŸ˜‰

Here is the data that was recorded when the door was up for a few minutes, and then toggled to go back down.  Don’t mind the temperature, it hasn’t been properly calibrated!


Updated Arduino sketch is attached:  WeMOS_garageDoor2.ino and garageDoor.php (web server script)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.