The ESP8266 is a useful little board that comes super cheap (about $2.50 if you buy a few on eBay) and can be programmed via Arduino, Lua, and a number of other options. It comes in a number of different packages, which break out different pins so that you can sense and control things – we'll be working with the popular ESP8266-01 module. It can serve a web page on your WiFi network, or act as an access point, creating its own custom network.
It is, however, a bit of a diva. Once you're set up, it's pretty easy and cheap – but first, you'll probably want to build a programming jig so that it behaves reliably. And make sure that your local WiFi is strong and stable.
Ready? Let's go!
Follow my ESP8266 jig soldering tutorial – you can leave the circuit on a breadboard, but that's much more likely to cause problems like the board constantly resetting, which is due to poor connections. Layer these two circuits on top of each other; I made them separate for legibility.
Make sure you're using an FTDI cable that provides only 3.3 volts! Otherwise, you're likely to burn out your chip.
The Arduino IDE requires a bit of setup to talk to your ESP8266 boards. Follow these instructions to get up and running.
Ray Burnette did an amazing job creating this Captive Portal tutorial! I go through it in the video above, and it's a great starter project because it lets you have a little fun without any extra circuit-juggling. It's also a great reminder to be mindful of where you connect.
Check out the Programming Jig tutorial for a walkthrough on the WiFiWebServer tutorial, which allows you to toggle things on and off via the GPIO0 pin!