esp 8266 on board mega.. talk to me like I am an idiot

What library are you using? The libraries usually come with nice examples which will show you the basics.

To your questions, first your system will most likely be two processors without you knowing. The WiFi module has a separate processor handling all the complicated stuff. The software/firmware is already on the module when you get it. Updates are provided separate and downloaded with the Tools Menu -> WiFi Firmware updater or some other tools that might come with your module. You only need to download the latest version if something does not work. Sometimes the developer fix bugs and make enhancements.

Then you need to write some code for the Arduino. If you installed the libararies there will be examples specific to the libaries you are using. Use the examples to get you started.

In general you do not need to know the IP address of your board. The IP address is just a number used by the TCP/IP protocol to identify your board. The other devices might need to know the IP address. But only when you are a server. When you are a client you will automatically send your IP address with the request. Then the server will answer to that IP address. Magic :slight_smile:

If you have an example that connects to your WiFi network. You will need to type somewhere in the code your WiFi SSID and PASSWORD. This will allow your board to tell your WiFi router that it is allowed to connect to your WiFi network. Most examples I have seen use a file called arduino_secrets.h. In this file you change the two strings.

#define SECRET_SSID ""
#define SECRET_PASS ""

On your router runs a service/program called DHCP. This will give your Arduino an IP address and the network functions you are calling will make use of it.

If you want to know the IP address, there is usually a function which looks like below. This depends on the WiFi library you are using. Check the examples that come with it.

IPAddress ip = WiFi.localIP();

You might need to know the IP address of another device which you want to talk to. If the device is a PC or Raspberry Pi you can find out from the terminal or desktop. If it is a thing without a monitor, you can check in your routers web interface. There is usually a page that shows you everything on the local network. You might need to assign a fixed IP address to devices on your network that function as a server.

Once you have the information, there will be code like

status = WiFi.begin(ssid, pass); // Connecting to your wifi
Udp.begin(localPort);
sendNTPpacket(timeServer);

You need to compile this program and download it to the Arduino.

Then magic things start to happen. Hope this helps.