Saturday, October 31, 2020

Garage Door Remote

2020.10.31

  My garage door opener is about 30 years old. The motor and mechanism are still good, but its receiver started going wobbly whenever it got hot outside. It's lost sensitivity to the remotes; the manual switch always works. Having no desire to troubleshoot the receiver (too much like work), I decided to make a replacement remote control system.

  The remote and the stationary module are based on the ESP8266 (NodeMCU devboards). The ESP8266 (and ESP32) has "ESP-Now", a connectionless (wireless via the WiFi module) communication protocol, baked in. There are a few topologies to use; this application uses the simplest, 'one-way'. The remote, "sender", links only to its associated unit's MAC address. [I got a good education on all this compliments at randomnerdtutorials.]

  I found good use for one of those "power-banks". It's one of the sort that require a minimum load (or they turn off). In the remote's build, this 'feature' is useful, beneficial. I do have to click it on, but I don't have to click it off: 15 seconds to take care of business, reasonable enough. I have it kaptoned on for now. 

   

  Even though the activation button I chose is tactile ("clicky"), I wanted a visual cue, too. I didn't mount and wire back an LED - I used the NodeMCU's on-board LED (D0). To see it, I nibbled out a recess and fashioned a window from bit of old CD jewel case. 
  With expandability in mind, there's an unused pushbutton ready for future fun.

  The stationary module is in a project box that sits on a DIN rail. Not much to see, just a NodeMCU and a 5V relay circuit (NPN, Common Emitter). Some might opt for a semiconductor, but relay contacts don't care about polarities or any of that. 
  It's powered by a 5V wall-pack with a USB-B Micro cable that plugs into the NodeMCU. Receiving the proper packet, it clicks a relay. The relay's contacts are wired in parallel with the local switch's terminals on the back of the motor box. 



This is how it looked, with the USB-A connector --


before I got the idea to hack the powerbank

 



Here's the original test sled --