Tag Archives: diy

ESP8266, NodeMCU, and my garage

The remote on one of my garage doors stopped working. Coincidentally, right around that time Trung mentioned the ESP8266, a very cheap (around $3) Chinese chip with built-in WiFi and a bunch of GPIO. Also, there’s a project called NodeMCU around this chip, which puts a Lua interpreter on it.

What does this all mean? That with very little investment and some time, I can create a small circuit that connects to the motor of my garage door so I can control it from my iPhone.

Long story short, I went through several different versions of boards with the chip. I started with the super cheap but barebones ESP-01 but using that required too many extra things (USB-Serial adapter, 3.3 V power supply, more wiring). I finally settled on the official NodeMCU devkit, which is extremely nice. I hadn’t done any electronics in many years, but that went well.

Official-original-only-V2-not-V3-Esp8266-NodeMCU-v2-Lua-WIFI-network-development-kit-board-based
NodeMCU devkit. It’s very nice because the built-in USB port provides power and to-serial conversion. Just pop it on a breadboard.

I ended up writing a general purpose web server for NodeMCU: the Open Source and creatively named nodemcu-httpserver. The garage door opener software is just a small web application running off the chip itself. It’s one of the demos I packaged with the server.

FullSizeRender 5
My garage door opening circuit. Almost as elegant and dense as the insides of an Apple Watch. I used zip ties to attach everything to the lid of an H-E-B tupperware. A couple of relays act as the push-buttons that control the garage door motors.
IMG_4123
This is what the “app” looks like. It’s a simple web page served from the chip. When you push a button, it opens the corresponding garage door.

Without further ado, the video:

The nodemcu-httpserver project I started has gotten some traction. The server, while limited (the chip has very little memory), works relatively well. It’s pretty cool to see that other people are using the software and starting to contribute. And it’s making rounds:

  • It was mentioned in this tutorial online, screenshots and all!
  • On this Russian website, people are probably mocking my coding.
  • On Slide 7 of this presentation there’s a screenshot of an early version of the Garage Door application.
  • Artem Pastukhov, who has been one of the most knowledgeable contributors to nodemcu-httpserver and the NodeMCU firmware itself, posts about a little app he did for nodemcu-httpserver here.