---
title: "AsyncESP32_SC_W5500_Manager"
url: "https://maker.wiznet.io/teju/projects/asyncesp32-sc-w5500-manager/"
markdown_url: "https://maker.wiznet.io/teju/projects/asyncesp32-sc-w5500-manager/md"
type: "UCC: User Created Content"
author: "khoih-prog"
author_url: "https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "khoih-prog"
original_url: "https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager"
published: "2023-01-03"
language: "en"
hardware: ["WIZnet W5500"]
likes: 6
views: 736
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# AsyncESP32_SC_W5500_Manager

> This is an ESP32_S2/S3/C3 + LwIP W5500 Credentials and Connection Manager with fallback Web ConfigPortal. This Library is used for configuri

Original author: khoih-prog (source: https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Documents and links

- [AsyncESP32_SC_W5500_Manager](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager) (code)

## Article

#### Features

This is an `ESP32_S2/S3/C3 + LwIP W5500` Credentials and Connection Manager with fallback Web ConfigPortal. This Library is used for configuring ESP32_S2/S3/C3 Ethernet Static / DHCP and Credentials at runtime. You can specify static DNS servers, personalized HostName and CORS feature.

This library is based on, modified, bug-fixed and improved from:

1. [`Khoi Hoang's ESPAsync_WiFiManager`](https://github.com/khoih-prog/ESPAsync_WiFiManager)

to use the better and faster **asynchronous** [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer) instead of WebServer_ESP32_W5500

Thanks to this [AsyncESP32_SC_W5500_Manager library](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager) is based on and sync'ed with [`ESPAsync_WiFiManager`](https://github.com/khoih-prog/ESPAsync_WiFiManager), all the features currently supported by [`ESPAsync_WiFiManager`](https://github.com/khoih-prog/ESPAsync_WiFiManager) will be available. Please have a look at [`ESPAsync_WiFiManager`](https://github.com/khoih-prog/ESPAsync_WiFiManager) for those too-many-to-list features.

---

### Why Async is better

- Using asynchronous network means that you can handle **more than one connection at the same time**

- You are called once the request is ready and parsed

- When you send the response, you are **immediately ready** to handle other connections while the server is taking care of sending the response in the background

- **Speed is OMG**

- **Easy to use API, HTTP Basic and Digest MD5 Authentication (default), ChunkedResponse**

- Easily extensible to handle **any type of content**

- Supports Continue 100

- Async WebSocket plugin offering different locations without extra servers or ports

- Async EventSource (Server-Sent Events) plugin to send events to the browser

- URL Rewrite plugin for conditional and permanent url rewrites

- ServeStatic plugin that supports cache, Last-Modified, default index and more

- Simple template processing engine to handle templates

To appreciate the power of the [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer) and underlying Async libraries, please compare the more efficient [Async_ESP32_FSWebServer example](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/blob/main/examples/Async_ESP32_FSWebServer) example with the complicated twin [ESP32_FSWebServer](https://github.com/khoih-prog/ESP_WiFiManager/tree/master/examples/ESP32_FSWebServer).

---

### Twin Libraries

Please also check these similar libraries

#### Base libraries

1. [WebServer_WT32_ETH01](https://github.com/khoih-prog/WebServer_WT32_ETH01) for ESP32-based `WT32_ETH01` using `LwIP LAN8720`

2. [WebServer_ESP32_ENC](https://github.com/khoih-prog/WebServer_ESP32_ENC) for ESP32-boards using `LwIP ENC28J60`

3. [WebServer_ESP32_W5500](https://github.com/khoih-prog/WebServer_ESP32_W5500) for ESP32-boards using `LwIP W5500`

4. [WebServer_ESP32_SC_ENC](https://github.com/khoih-prog/WebServer_ESP32_SC_ENC) for ESP32_S2/S3/C3-boards using `LwIP ENC28J60`

5. [WebServer_ESP32_SC_W5500](https://github.com/khoih-prog/WebServer_ESP32_SC_W5500) for ESP32_S2/S3/C3-boards using `LwIP W5500`

#### Synchronous Ethernet Manager libraries

1. [ESP32_ENC_Manager](https://github.com/khoih-prog/ESP32_ENC_Manager) for ESP32-boards using `LwIP ENC28J60`

2. [ESP32_W5500_Manager](https://github.com/khoih-prog/ESP32_W5500_Manager) for ESP32-boards using `LwIP W5500`

3. [ESP32_Ethernet_Manager](https://github.com/khoih-prog/ESP32_Ethernet_Manager) for ESP32-boards using `LwIP W5500 or ENC28J60`

4. [ESP32_SC_ENC_Manager](https://github.com/khoih-prog/ESP32_SC_ENC_Manager) for ESP32_S2/S3/C3-boards using `LwIP ENC28J60`

5. [ESP32_SC_W5500_Manager](https://github.com/khoih-prog/ESP32_SC_W5500_Manager) for ESP32_S2/S3/C3-boards using `LwIP W5500`

6. [ESP32_SC_Ethernet_Manager](https://github.com/khoih-prog/ESP32_SC_Ethernet_Manager) for ESP32_S2/S3/C3-boards using `LwIP W5500 or ENC28J60`

#### Asynchronous Ethernet Manager libraries

1. [AsyncWT32_ETH01_Manager](https://github.com/khoih-prog/AsyncWT32_ETH01_Manager) for ESP32-based `WT32_ETH01` using `LwIP LAN8720`

2. [AsyncESP32_ENC_Manager](https://github.com/khoih-prog/AsyncESP32_ENC_Manager) for ESP32-boards using `LwIP ENC28J60`

3. [AsyncESP32_W5500_Manager](https://github.com/khoih-prog/AsyncESP32_W5500_Manager) for ESP32-boards using `LwIP W5500`

4. [AsyncESP32_Ethernet_Manager](https://github.com/khoih-prog/AsyncESP32_Ethernet_Manager) for ESP32-boards using `LwIP W5500 or ENC28J60`

5. [AsyncESP32_SC_ENC_Manager](https://github.com/khoih-prog/AsyncESP32_SC_ENC_Manager) for ESP32_S2/S3/C3-boards using `LwIP ENC28J60`

6. [AsyncESP32_SC_W5500_Manager](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager) for ESP32_S2/S3/C3-boards using `LwIP W5500`

7. [AsyncESP32_SC_Ethernet_Manager](https://github.com/khoih-prog/AsyncESP32_SC_Ethernet_Manager) for ESP32_S2/S3/C3-boards using `LwIP W5500 or ENC28J60`

---

#### Currently supported Boards

This [**AsyncESP32_SC_W5500_Manager** library](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager) currently supports these following boards:

1. **ESP32_S3-based boards (ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, etc.)**

2. **ESP32-S2 (ESP32-S2 Saola, AI-Thinker ESP-12K, etc.)**

3. **ESP32-C3 (ARDUINO_ESP32C3_DEV, etc.)**

using `LwIP W5500 Ethernet`

---

#### ESP32S3_DEV

[![](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/ESP32S3_DEV.png)](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/ESP32S3_DEV.png)

#### ESP32S2_DEV

[![](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/ESP32S2_DEV.png)](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/ESP32S2_DEV.png)

#### ESP32C3_DEV

[![](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/ESP32_C3_DevKitC_02.png)](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/ESP32_C3_DevKitC_02.png)

---

#### W5500

[![](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/W5500.png)](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/W5500.png)

[![](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/W5500_small.png)](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/raw/main/Images/W5500_small.png)

---

---

## Prerequisites

1. [`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [![GitHub release](https://maker.wiznet.io/upload/mirror/body/381331e50972fdafe470.png)](https://github.com/arduino/Arduino/releases/latest)

2. [`ESP32 Core 2.0.5+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [![Latest release](https://maker.wiznet.io/upload/mirror/body/5ce56eb824ddf2c00aff.png)](https://github.com/espressif/arduino-esp32/releases/latest/)

3. [`ESPAsyncWebServer v1.2.3+`](https://github.com/me-no-dev/ESPAsyncWebServer). You have to use the latest [forked ESPAsyncWebServer](https://github.com/khoih-prog/ESPAsyncWebServer) if the PR [Fix compiler error for ESP32-C3 and mbed TLS v2.7.0+ #970](https://github.com/me-no-dev/ESPAsyncWebServer/pull/970) hasn't been merged. **To install manually for Arduino IDE**

4. [`ESPAsyncDNSServer v1.0.0+`](https://github.com/devyte/ESPAsyncDNSServer) or [`Forked ESPAsyncDNSServer v1.0.0+`](https://github.com/khoih-prog/ESPAsyncDNSServer/releases/tag/v1.0.0)

5. [`AsyncTCP v1.1.1+`](https://github.com/me-no-dev/AsyncTCP). **To install manually for Arduino IDE**

6. [`ESP_DoubleResetDetector v1.3.2+`](https://github.com/khoih-prog/ESP_DoubleResetDetector) if using DRD feature. To install, check [![arduino-library-badge](https://maker.wiznet.io/upload/mirror/body/26b65c9df2175eee615c.png)](https://www.ardu-badge.com/ESP_DoubleResetDetector). Use v1.1.0+ if using `LittleFS` for ESP32 v1.0.6+.

7. [`WebServer_ESP32_SC_W5500 library v1.2.1+`](https://github.com/khoih-prog/WebServer_ESP32_SC_W5500) if necessary to use ESP32 boards using LwIP W5500 Ethernet. To install, check [![arduino-library-badge](https://www.ardu-badge.com/badge/WebServer_ESP32_SC_W5500.svg?)](https://www.ardu-badge.com/WebServer_ESP32_SC_W5500)

---

---

## Installation

### Use Arduino Library Manager

The best and easiest way is to use `Arduino Library Manager`. Search for `AsyncESP32_SC_W5500_Manager`, then select / install the latest version. You can also use this link [![arduino-library-badge](https://www.ardu-badge.com/badge/AsyncESP32_SC_W5500_Manager.svg?)](https://www.ardu-badge.com/AsyncESP32_SC_W5500_Manager) for more detailed instructions.

### Manual Install

1. Navigate to [AsyncESP32_SC_W5500_Manager](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager) page.

2. Download the latest release `AsyncESP32_SC_W5500_Manager-main.zip`.

3. Extract the zip file to `AsyncESP32_SC_W5500_Manager-main` directory

4. Copy the whole `AsyncESP32_SC_W5500_Manager-main` folder to Arduino libraries' directory such as `~/Arduino/libraries/`.

### VS Code & PlatformIO:

1. Install [VS Code](https://code.visualstudio.com/)

2. Install [PlatformIO](https://platformio.org/platformio-ide)

3. Install [**AsyncESP32_SC_W5500_Manager** library](https://registry.platformio.org/libraries/khoih-prog/AsyncESP32_SC_W5500_Manager) by using [Library Manager](https://registry.platformio.org/libraries/khoih-prog/AsyncESP32_SC_W5500_Manager/installation). Search for **AsyncESP32_SC_W5500_Manager** in [Platform.io Author's Libraries](https://platformio.org/lib/search?query=author:%22Khoi%20Hoang%22)

4. Use included [platformio.ini](https://github.com/khoih-prog/AsyncESP32_SC_W5500_Manager/blob/main/platformio/platformio.ini) file from examples to ensure that all dependent libraries will installed automatically. Please visit documentation for the other options and examples at [Project Configuration File](https://docs.platformio.org/page/projectconf.html)

---

Source: https://maker.wiznet.io/teju/projects/asyncesp32-sc-w5500-manager/
