Example Code for ESP8266-Scan WiFi

Last revision 2026/01/13

This article explains how to scan WiFi networks using Arduino, providing example code for the FireBeetle ESP8266 environment to help you discover nearby networks and improve your IoT projects.

Hardware Preparation

Software Preparation

Software Preparation

Other Preparation Work

Setup Arduino IDE Development Environment

  1. Plug FireBeetle to your computer, install the driver manually.

  2. Add FireBeetle Board URL to Arduino IDE: Open Arduino IDE, File->Preferences, find Additional Boards Manager URLs, copy the below link, and paste in the blank.

  3. Paste URL here.
    DFR0489-URL

  4. Click OK.

  5. Open Tools->Board->Boards Manager, waiting automatic update. You'll find FireBeetle-ESP8266.

    DFR0489_Board Manager

  6. Now, the development environment has been installed, you can use it like a normal Arduino board.

    DFR0489-FirBeetle_ESP8266

  7. After you have installed the FireBeetle ESP8266 development environment, it will comes with a lot of sample code in Arduino IDE, you can find them in File > Examples.

Sample Code

The follow sample code scans the around WiFi:

/*
 *  This sketch demonstrates how to scan WiFi networks.
 *  The API is almost the same as with the WiFi Shield library,
 *  the most obvious difference being the different file you need to include:
 */
#include "ESP8266WiFi.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) == ENC_TYPE_NONE)?" ":"*");
      delay(10);
    }
  }
  Serial.println("");

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

Result

Open your Arduino IDE serial monitor:

DFR0489_WiFi_Scan

Was this article helpful?

TOP