Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit 1540daf

Browse files
authored
v2.1.0 for ESP32_S2/C3 & LwIP Ethernet
### Releases v2.1.0 1. Add support to `ESP32S2/C3` boards using `LwIP W5500 or ENC28J60 Ethernet`
1 parent b823aff commit 1540daf

17 files changed

+144
-50
lines changed

Images/ESP32S2_DEV.png

352 KB
Loading

Images/ESP32_C3_DevKitC_02.png

205 KB
Loading

changelog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,18 @@
1717
## Table of Contents
1818

1919
* [Changelog](#changelog)
20+
* [Releases v2.1.0](#releases-v210)
2021
* [Initial Releases v2.0.0](#initial-releases-v200)
2122

2223
---
2324
---
2425

2526
## Changelog
2627

28+
### Releases v2.1.0
29+
30+
1. Add support to `ESP32S2/C3` boards using `LwIP W5500 or ENC28J60 Ethernet`
31+
2732
### Initial Releases v2.0.0
2833

2934
1. Initial coding to port [AsyncUDP](https://github.com/espressif/arduino-esp32/tree/master/libraries/AsyncUDP) to ESP32_S3 boards using `LwIP W5500 or ENC28J60 Ethernet`

examples/AsyncUDPClient/AsyncUDPClient.ino

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
#if USING_W5500
3333

34-
// For W5500
34+
// For ESP32_S3
3535
// Optional values to override default settings
3636
// Don't change unless you know what you're doing
3737
//#define ETH_SPI_HOST SPI3_HOST
@@ -45,6 +45,20 @@
4545
//#define SCK_GPIO 12
4646
//#define CS_GPIO 10
4747

48+
// For ESP32_C3
49+
// Optional values to override default settings
50+
// Don't change unless you know what you're doing
51+
//#define ETH_SPI_HOST SPI2_HOST
52+
//#define SPI_CLOCK_MHZ 25
53+
54+
// Must connect INT to GPIOxx or not working
55+
//#define INT_GPIO 10
56+
57+
//#define MISO_GPIO 5
58+
//#define MOSI_GPIO 6
59+
//#define SCK_GPIO 4
60+
//#define CS_GPIO 7
61+
4862
//////////////////////////////////////////////////////////
4963

5064
#else // #if USING_W5500
@@ -55,7 +69,7 @@
5569

5670
// Optional values to override default settings
5771
// Don't change unless you know what you're doing
58-
//#define SPI_HOST SPI2_HOST
72+
//#define ETH_SPI_HOST SPI2_HOST
5973
//#define SPI_CLOCK_MHZ 8
6074

6175
// Must connect INT to GPIOxx or not working
@@ -182,7 +196,7 @@ void initEthernet()
182196
void initEthernet()
183197
{
184198
UDP_LOGWARN(F("Default SPI pinout:"));
185-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
199+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
186200
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
187201
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
188202
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -202,8 +216,8 @@ void initEthernet()
202216

203217
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
204218
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
205-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
206-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
219+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
220+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
207221

208222
// Static IP, leave without this line to get IP via DHCP
209223
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUDPMulticastServer/AsyncUDPMulticastServer.ino

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
#if USING_W5500
3333

34-
// For W5500
34+
// For ESP32_S3
3535
// Optional values to override default settings
3636
// Don't change unless you know what you're doing
3737
//#define ETH_SPI_HOST SPI3_HOST
@@ -45,6 +45,20 @@
4545
//#define SCK_GPIO 12
4646
//#define CS_GPIO 10
4747

48+
// For ESP32_C3
49+
// Optional values to override default settings
50+
// Don't change unless you know what you're doing
51+
//#define ETH_SPI_HOST SPI2_HOST
52+
//#define SPI_CLOCK_MHZ 25
53+
54+
// Must connect INT to GPIOxx or not working
55+
//#define INT_GPIO 10
56+
57+
//#define MISO_GPIO 5
58+
//#define MOSI_GPIO 6
59+
//#define SCK_GPIO 4
60+
//#define CS_GPIO 7
61+
4862
//////////////////////////////////////////////////////////
4963

5064
#else // #if USING_W5500
@@ -55,7 +69,7 @@
5569

5670
// Optional values to override default settings
5771
// Don't change unless you know what you're doing
58-
//#define SPI_HOST SPI2_HOST
72+
//#define ETH_SPI_HOST SPI2_HOST
5973
//#define SPI_CLOCK_MHZ 8
6074

6175
// Must connect INT to GPIOxx or not working
@@ -178,7 +192,7 @@ void initEthernet()
178192
void initEthernet()
179193
{
180194
UDP_LOGWARN(F("Default SPI pinout:"));
181-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
195+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
182196
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
183197
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
184198
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -198,8 +212,8 @@ void initEthernet()
198212

199213
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
200214
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
201-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
202-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
215+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
216+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
203217

204218
// Static IP, leave without this line to get IP via DHCP
205219
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUDPServer/AsyncUDPServer.ino

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
#if USING_W5500
3333

34-
// For W5500
34+
// For ESP32_S3
3535
// Optional values to override default settings
3636
// Don't change unless you know what you're doing
3737
//#define ETH_SPI_HOST SPI3_HOST
@@ -45,6 +45,20 @@
4545
//#define SCK_GPIO 12
4646
//#define CS_GPIO 10
4747

48+
// For ESP32_C3
49+
// Optional values to override default settings
50+
// Don't change unless you know what you're doing
51+
//#define ETH_SPI_HOST SPI2_HOST
52+
//#define SPI_CLOCK_MHZ 25
53+
54+
// Must connect INT to GPIOxx or not working
55+
//#define INT_GPIO 10
56+
57+
//#define MISO_GPIO 5
58+
//#define MOSI_GPIO 6
59+
//#define SCK_GPIO 4
60+
//#define CS_GPIO 7
61+
4862
//////////////////////////////////////////////////////////
4963

5064
#else // #if USING_W5500
@@ -55,7 +69,7 @@
5569

5670
// Optional values to override default settings
5771
// Don't change unless you know what you're doing
58-
//#define SPI_HOST SPI2_HOST
72+
//#define ETH_SPI_HOST SPI2_HOST
5973
//#define SPI_CLOCK_MHZ 8
6074

6175
// Must connect INT to GPIOxx or not working
@@ -157,7 +171,7 @@ void initEthernet()
157171
void initEthernet()
158172
{
159173
UDP_LOGWARN(F("Default SPI pinout:"));
160-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
174+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
161175
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
162176
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
163177
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -177,8 +191,8 @@ void initEthernet()
177191

178192
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
179193
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
180-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
181-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
194+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
195+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
182196

183197
// Static IP, leave without this line to get IP via DHCP
184198
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUdpNTPClient/AsyncUdpNTPClient.ino

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
#if USING_W5500
3333

34-
// For W5500
34+
// For ESP32_S3
3535
// Optional values to override default settings
3636
// Don't change unless you know what you're doing
3737
//#define ETH_SPI_HOST SPI3_HOST
@@ -45,6 +45,20 @@
4545
//#define SCK_GPIO 12
4646
//#define CS_GPIO 10
4747

48+
// For ESP32_C3
49+
// Optional values to override default settings
50+
// Don't change unless you know what you're doing
51+
//#define ETH_SPI_HOST SPI2_HOST
52+
//#define SPI_CLOCK_MHZ 25
53+
54+
// Must connect INT to GPIOxx or not working
55+
//#define INT_GPIO 10
56+
57+
//#define MISO_GPIO 5
58+
//#define MOSI_GPIO 6
59+
//#define SCK_GPIO 4
60+
//#define CS_GPIO 7
61+
4862
//////////////////////////////////////////////////////////
4963

5064
#else // #if USING_W5500
@@ -55,7 +69,7 @@
5569

5670
// Optional values to override default settings
5771
// Don't change unless you know what you're doing
58-
//#define SPI_HOST SPI2_HOST
72+
//#define ETH_SPI_HOST SPI2_HOST
5973
//#define SPI_CLOCK_MHZ 8
6074

6175
// Must connect INT to GPIOxx or not working
@@ -252,7 +266,7 @@ void initEthernet()
252266
void initEthernet()
253267
{
254268
UDP_LOGWARN(F("Default SPI pinout:"));
255-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
269+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
256270
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
257271
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
258272
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -272,8 +286,8 @@ void initEthernet()
272286

273287
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
274288
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
275-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
276-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
289+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
290+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
277291

278292
// Static IP, leave without this line to get IP via DHCP
279293
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/AsyncUdpSendReceive/AsyncUdpSendReceive.ino

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
#if USING_W5500
3333

34-
// For W5500
34+
// For ESP32_S3
3535
// Optional values to override default settings
3636
// Don't change unless you know what you're doing
3737
//#define ETH_SPI_HOST SPI3_HOST
@@ -45,6 +45,20 @@
4545
//#define SCK_GPIO 12
4646
//#define CS_GPIO 10
4747

48+
// For ESP32_C3
49+
// Optional values to override default settings
50+
// Don't change unless you know what you're doing
51+
//#define ETH_SPI_HOST SPI2_HOST
52+
//#define SPI_CLOCK_MHZ 25
53+
54+
// Must connect INT to GPIOxx or not working
55+
//#define INT_GPIO 10
56+
57+
//#define MISO_GPIO 5
58+
//#define MOSI_GPIO 6
59+
//#define SCK_GPIO 4
60+
//#define CS_GPIO 7
61+
4862
//////////////////////////////////////////////////////////
4963

5064
#else // #if USING_W5500
@@ -55,7 +69,7 @@
5569

5670
// Optional values to override default settings
5771
// Don't change unless you know what you're doing
58-
//#define SPI_HOST SPI2_HOST
72+
//#define ETH_SPI_HOST SPI2_HOST
5973
//#define SPI_CLOCK_MHZ 8
6074

6175
// Must connect INT to GPIOxx or not working
@@ -268,7 +282,7 @@ void initEthernet()
268282
void initEthernet()
269283
{
270284
UDP_LOGWARN(F("Default SPI pinout:"));
271-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
285+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
272286
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
273287
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
274288
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -288,8 +302,8 @@ void initEthernet()
288302

289303
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
290304
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
291-
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
292-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST, mac[index] );
305+
//ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
306+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST, mac[index] );
293307

294308
// Static IP, leave without this line to get IP via DHCP
295309
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

examples/multiFileProject/multiFileProject.h

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
#if USING_W5500
3636

37-
// For W5500
37+
// For ESP32_S3
3838
// Optional values to override default settings
3939
// Don't change unless you know what you're doing
4040
//#define ETH_SPI_HOST SPI3_HOST
@@ -48,6 +48,20 @@
4848
//#define SCK_GPIO 12
4949
//#define CS_GPIO 10
5050

51+
// For ESP32_C3
52+
// Optional values to override default settings
53+
// Don't change unless you know what you're doing
54+
//#define ETH_SPI_HOST SPI2_HOST
55+
//#define SPI_CLOCK_MHZ 25
56+
57+
// Must connect INT to GPIOxx or not working
58+
//#define INT_GPIO 10
59+
60+
//#define MISO_GPIO 5
61+
//#define MOSI_GPIO 6
62+
//#define SCK_GPIO 4
63+
//#define CS_GPIO 7
64+
5165
//////////////////////////////////////////////////////////
5266

5367
#else // #if USING_W5500
@@ -57,7 +71,7 @@
5771
// For ENC28J60
5872
// Optional values to override default settings
5973
// Don't change unless you know what you're doing
60-
//#define ETH_SPI_HOST SPI3_HOST
74+
//#define ETH_SPI_HOST SPI2_HOST
6175
//#define SPI_CLOCK_MHZ 8
6276

6377
// Must connect INT to GPIOxx or not working

examples/multiFileProject/multiFileProject.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void initEthernet()
5959
void initEthernet()
6060
{
6161
UDP_LOGWARN(F("Default SPI pinout:"));
62-
UDP_LOGWARN1(F("SPI_HOST:"), SPI_HOST);
62+
UDP_LOGWARN1(F("SPI_HOST:"), ETH_SPI_HOST);
6363
UDP_LOGWARN1(F("MOSI:"), MOSI_GPIO);
6464
UDP_LOGWARN1(F("MISO:"), MISO_GPIO);
6565
UDP_LOGWARN1(F("SCK:"), SCK_GPIO);
@@ -75,7 +75,7 @@ void initEthernet()
7575

7676
//bool begin(int MISO_GPIO, int MOSI_GPIO, int SCLK_GPIO, int CS_GPIO, int INT_GPIO, int SPI_CLOCK_MHZ,
7777
// int SPI_HOST, uint8_t *ENC28J60_Mac = ENC28J60_Default_Mac);
78-
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, SPI_HOST );
78+
ETH.begin( MISO_GPIO, MOSI_GPIO, SCK_GPIO, CS_GPIO, INT_GPIO, SPI_CLOCK_MHZ, ETH_SPI_HOST );
7979

8080
// Static IP, leave without this line to get IP via DHCP
8181
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);

library.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"AsyncUDP_ESP32_SC_Ethernet",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"description":"Fully Asynchronous UDP Library for ESP32S2/S3/C3 boards using LwIP W5500 or ENC28J60 Ethernet. The library is easy to use and includes support for Unicast, Broadcast and Multicast environments",
55
"keywords":"communication, data, async, udp, ntp, time, time-server, server, client, multicast, broadcast, webserver, esp32, esp32-s3, esp32-s2, esp32-c3, w5500, enc28j60, lwip, lwip-w5500, lwip-enc28j60, lwip-ethernet, udp-server, udp-multicast-server",
66
"authors":
@@ -34,13 +34,13 @@
3434
{
3535
"owner": "khoih-prog",
3636
"name": "WebServer_ESP32_SC_W5500",
37-
"version": "^1.0.1",
37+
"version": "^1.2.0",
3838
"platforms": "espressif32"
3939
},
4040
{
4141
"owner": "khoih-prog",
4242
"name": "WebServer_ESP32_SC_ENC",
43-
"version": "^1.0.0",
43+
"version": "^1.2.0",
4444
"platforms": "espressif32"
4545
}
4646
],

0 commit comments

Comments
 (0)