# Soft Access Point¶

Example below presents how to configure ESP8266 to run in soft access point mode so Wi-Fi stations can connect to it. The Wi-Fi network established by the soft-AP will be identified with the SSID set during configuration. The network may be protected with a password. The network may be also open, if no password is set during configuration.

## The Sketch¶

Setting up soft-AP with ESP8266 can be done with just couple lines of code.

#include <ESP8266WiFi.h>

void setup()
{
Serial.begin(115200);
Serial.println();

Serial.print("Setting soft-AP ... ");
boolean result = WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP");
if(result == true)
{
}
else
{
Serial.println("Failed!");
}
}

void loop()
{
Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
delay(3000);
}


## How to Use It?¶

In line boolean result = WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP") change pass-to-soft-AP to some meaningful password and upload sketch. Open serial monitor and you should see:

Setting soft-AP ... Ready
Stations connected = 0
Stations connected = 0
...


Then take your mobile phone or a PC, open the list of available access points, find ESPsoftAP_01 and connect to it. This should be reflected on serial monitor as a new station connected:

Stations connected = 1
Stations connected = 1
...


If you have another Wi-Fi station available then connect it as well. Check serial monitor again where you should now see two stations reported.

## How Does it Work?¶

Sketch is small so analysis shouldn’t be difficult. In first line we are including ESP8266WiFi library:

#include <ESP8266WiFi.h>


Setting up of the access point ESPsoftAP_01 is done by executing:

cpp  boolean result = WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP");

If this operation is successful then result will be true or false if otherwise. Basing on that either Ready or Failed! will be printed out by the following if - else conditional statement.

## Can we Make it Simpler?¶

Can we make this sketch even simpler? Yes, we can! We can do it by using alternate if - else statement as below:

WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP") ? "Ready" : "Failed!"


Such statement will return either Ready or Failed! depending on result of WiFi.softAP(...). This way we can considerably shorten our sketch without any changes to functionality:

#include <ESP8266WiFi.h>

void setup()
{
Serial.begin(115200);
Serial.println();

Serial.print("Setting soft-AP ... ");
Serial.println(WiFi.softAP("ESPsoftAP_01", "pass-to-soft-AP") ? "Ready" : "Failed!");
}

void loop()
{
Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
delay(3000);
}


I believe this is very neat piece of code. If ? : conditional operator is new to you, I recommend to start using it and make your code shorter and more elegant.

## Conclusion¶

ESP8266WiFi library makes it easy to turn ESP8266 into soft access point.

Once you try above sketch check out WiFiAccessPoint.ino as a next step. It demonstrates how to access ESP operating in soft-AP mode from a web browser.

For the list of functions to manage ESP module in soft-AP mode please refer to the Soft Access Point Class documentation.