There is a lot of information on the internet to setup the ESP8266, however it is extremely fragmented. Also, I wanted to use the Arduino IDE instead of Lua, and that was slightly more difficult to find information on. I have collated all the information required to make this project a success and to ensure that everything needed is in one place.
Download the arduino IDE (any version greater than 1.6.4):
http://arduino.esp8266.com/stable/package_esp8266com_index.jsonintoAdditional Board Manager URLs field. You can add multiple URLs, separating them with commas.
Install the ESP8266Wifi Arduino Library (if it wasn't installed in the earlier step)
The ESP8266 needs to be put into the boot-load mode before it can be programmed. Very easy - once you know how. Just connect the following:
Ensure that CH_PD is connected to +3.3V and GPIO0 is connected to GND
DO NOT TRY TO CONNECT TO WIFI WHEN THE MODULE IS CONNECTED THROUGH THE USB-UART. The ESP8266 can pull a lot of power and can destroy your USB-UART module.
It is recommended to power the module separately and connect the ground from your power supply to the USB-UART.
Based on Code from
Ensure you change lines 12 and 13 to your SSID and Password
Upload to the ESP8266 by:
Ensure that the module is connected as per the programming circuit.
The actual circuit is extremely simple:
You can find the IP address of the module by connecting to your wifi router and finding the new device. Alternatively, you can connect the USB-UART to the actual circuit (ensure that you connect the grounds together). DO NOT CONNECT the 3V3 from the USB-UART to the circuit. Once connected, open the Arduino Serial Monitor and restart the ESP8266. The module will diplay it's IP address once it is connected to the serial monitor.
The android phone connects to the module using Tasker (as I already had it installed), however you should be able to do something similar using IFTTT.
Once configured, the notifier will blink whenever you get a missed call, and will stop blinking when you open the phone application (presumably to see your phone log)