Skip to main content

WiFi Usage

Seeed Studio XIAO ESP32C3 supports WiFi connectivity with IEEE 802.11b/g/n. This wiki will introduce the basics of WiFi usage on this board.

⚠️ Please be careful when you try to use the board as a hotspot(access point). There may be a overheat problem and cause burns.

Hardware set up

  • Step 1. Connect the included WiFi/ Bluetooth antenna to the IPEX connector on the board
pir
  • Step 2. Connect XIAO ESP32C3 to your computer via a USB Type-C cable
pir

Scan WiFi networks (Station Mode)

In this example, we are going to use XIAO ESP32C3 to scan available WiFi networks around it. Here the board will be configured in Station (STA) Mode.

  • Step 1. Copy and paste the code below into Arduino IDE
#include "WiFi.h"

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

// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);

Serial.println("Setup done");
}

void loop()
{
Serial.println("scan start");

// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
delay(10);
}
}
Serial.println("");

// Wait a bit before scanning again
delay(5000);
}

Step 2. Upload the codes and open the Serial Monitor to start scanning for WiFi networks

pir

Connect to a WiFi network

In this example, we are going to use XIAO ESP32C3 to connect to a WiFI network.

  • Step 1. Copy and paste the code below into Arduino IDE
#include <WiFi.h>

const char* ssid = "your-ssid";
const char* password = "your-password";

void setup()
{
Serial.begin(115200);
delay(10);

// We start by connecting to a WiFi network

Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{
}

Step 2. Upload the codes and open the Serial Monitor to check that the board is connected to the WiFI network

pir

Use as an Access Point

In this example, we are going to use XIAO ESP32C3 as a WiFi access point where other devices can be connected to it. This is similar to WiFi hotspot feature on mobile phones.

  • Step 1. Copy and paste the code below into Arduino IDE
#include "WiFi.h"
void setup()
{
Serial.begin(115200);
WiFi.softAP("ESP_AP", "123456789");
}

void loop()
{
Serial.print("Host Name:");
Serial.println(WiFi.softAPgetHostname());
Serial.print("Host IP:");
Serial.println(WiFi.softAPIP());
Serial.print("Host IPV6:");
Serial.println(WiFi.softAPIPv6());
Serial.print("Host SSID:");
Serial.println(WiFi.SSID());
Serial.print("Host Broadcast IP:");
Serial.println(WiFi.softAPBroadcastIP());
Serial.print("Host mac Address:");
Serial.println(WiFi.softAPmacAddress());
Serial.print("Number of Host Connections:");
Serial.println(WiFi.softAPgetStationNum());
Serial.print("Host Network ID:");
Serial.println(WiFi.softAPNetworkID());
Serial.print("Host Status:");
Serial.println(WiFi.status());
delay(1000);
}

Step 2. Upload the codes and open the Serial Monitor to check more details about the WiFI access point

pir

Step 3. Scan for WiFi networks on a PC or mobile phone and you will be able to connect to this newly created network using the password we specified in the code

pir

Now you will see that the Number of Host Connections on serial monitor has been updated to 1

pir

XIAO ESP32C3 & Home Assistant

We are pleased to announce that we have made support for the XIAO ESP32C3 access to ESPHome and Home Assistant!

For more information on this section, please refer to the relevant tutorials.

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...