Skip to content
Arduino WiFi library for ESP8266 modules
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead of bportaluri:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Modify the Serial.begin baudrate of the examples. Apr 12, 2019
src Modify the Serial.begin baudrate of the examples. Apr 12, 2019
test Modify the Serial.begin baudrate of the examples. Apr 12, 2019
keywords.txt Support K210 platform Mar 29, 2019


With an ESP8266 board, WiFiEsp library allows an Arduino board to connect to the internet. It can serve as either a server accepting incoming connections or a client making outgoing ones. The WiFiEsp library is very similar to the Arduino WiFi and Ethernet libraries, and many of the function calls are the same.

Supports ESP SDK version 1.1.1 and above (AT version 0.25 and above).


  • APIs compatible with standard Arduino WiFi library.
  • Use AT commands of standard ESP firmware (no need to flash a custom firmware).
  • Support hardware and software serial ports.
  • Configurable tracing level.


The WiFiEsp library has been designed to work with the ESP WiFi shield. It is a cheap version of the Arduino WiFi shield that uses an ESP-01 module to provide networking capabilities to Arduino boards.


  • ConnectWPA - Demonstrates how to connect to a network that is encrypted with WPA2 Personal
  • WebClient - Connect to a remote webserver
  • WebClientRepeating - Make repeated HTTP calls to a webserver
  • WebServer - Serve a webpage from the WiFi shield
  • WebServerAP - Serve a webpage from the WiFi shield starting a local Access Point
  • WebServerLed - Turn on and off a led from a webpage
  • UdpNTPClient - Query a Network Time Protocol (NTP) server using UDP

Supported APIs

Most of the standard Arduino WiFi library methods are available. Refer to the WiFi library page for more details.

WiFiEsp class

  • begin() - Not all authentication types
  • disconnect() - YES
  • config()
  • setDNS() - NO (no AT command available)
  • SSID() - YES
  • BSSID() - YES
  • RSSI() - YES
  • encryptionType() - NO (no AT command available)
  • scanNetworks() - YES
  • getSocket()
  • macAddress() - YES

WiFiEspServer class

The WiFiEspServer class creates servers which can send data to and receive data from connected clients (programs running on other computers or devices).

  • WiFiEspServer() - YES
  • begin() - YES
  • available() - YES
  • write() - YES
  • print() - YES
  • println() - YES

Client class

The WiFiEspClient class creates clients that can connect to servers and send and receive data.

  • WiFiEspClient() - YES
  • connected() - YES
  • connect() - YES
  • write() - YES
  • print() - YES
  • println() - YES
  • available() - YES
  • read() - YES
  • flush() - YES
  • stop() - YES

WiFiEspUDP class

The UDP class enables UDP message to be sent and received.

  • WiFiUDP - YES
  • begin() - YES
  • available() - YES
  • beginPacket() - YES
  • endPacket() - YES
  • write() - YES
  • parsePacket() - YES
  • peek()
  • read() - YES
  • flush()
  • stop()
  • remoteIP() - YES
  • remotePort() - YES


If you discover a bug or would like to propose a new feature, please open a new issue.

You can’t perform that action at this time.