In the Summer of 2015 I began my Garage Door Opener 2.0 project. It was suggested that, since I needed to have it connect to WiFi, I should use the ESP8266 MCU. This is a great little MCU that has built in WiFi and a huge online community with tons of support.
The support for the ESP in the Arduino environment has been getting better and better, but during the summer the best support was for the nodeMCU firmware which uses the Lua scripting language.
Below is a document derived from a report that I made for my job over that summer. I used the ESP for a project there and learned a lot about the quirks an intricacies of the ESP. Those are all documented in the report, so feel free to download it, but keep in mind that it is out of date.