ESP8266

I don't modify the firmware on the esp8266, I just use them as I get them from the vendor. I believe that vendors ship them with firmware that allows them to respond to AT commands.

I created an Arduino program to store the SSID/Password in EEPROM on the atmega. That way other users can use it without needing to change the source code. My Arduino program allows me to set the SSID and password for my home network. by typing in the Serial monitor: ssid mySSID, where mySSID is the ssid of my home router. My Arduino program also allows me to set the password by typing in the Serial monitor: password myPassword, where myPassword is the password on your home router.

The first step when I get an ESP8266 is to determine what baud rate the device is set to. I do this by sending "AT" commands at various baud rates until it responds with "OK". Once it responds with "OK", I know I have the correct baud rate, and I will be able to set its parameters. First I set the baud rate to 19200. Then I set the other parameters to configure it as a UDP server. At that point I will be able to use it to fulfill a variety of functions such as a motor controller or a sensor. After setting the baud rate, I also set:

AT+CWMODE=3
AT+CIPMUX=1
AT+CIPSERVER=1,3333
AT+CIPSTO=120

once this is done, the esp8266 will get an ip address assigned by my home router and listen to port 3333 for a command. In this manner it can be used as a sensor or a device controller.