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.
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.
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.