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
- FireBeetle ESP8266 IOT Microcontroller (SKU: DFR0489) ×1
- Micro USB Cable ×1
Software Preparation
- Download Arduino IDE: Click to download Arduino IDE.
- CH340 FireBeetle ESP8266 Window Driver, Download Link: Download CH340 FireBeetle ESP8266 Window Driver
Software Preparation
- Download Arduino IDE: Click to download Arduino IDE.
- CH340 FireBeetle ESP8266 Window Driver, Download Link: Download CH340 FireBeetle ESP8266 Window Driver
Other Preparation Work
Setup Arduino IDE Development Environment
-
Plug FireBeetle to your computer, install the driver manually.
-
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.
-
Paste URL here.

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

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

-
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:

Was this article helpful?

