- For esp-arduino versions lower than 3.0.0, use ETHClass2 as the driver. For versions higher than 2.x, esp-arduino native ETHClass will be used. It is recommended to use arduino-esp 3.0.0 and above
Product(PinMap) | SOC | Flash | PSRAM | Ethernet | POE | SDCard |
---|---|---|---|---|---|---|
T-Internet-POE | ESP32-WROOM-32 | 4MB | ❌ | LAN8720 | ✅ | ✅ |
T-POE-PRO | ESP32-WROVER-E | 16MB | 8MB(QSPI) | LAN8720 | ✅ | ❌ |
T-INTER-COM | ESP32-WROVER-E | 16MB | 8MB(QSPI) | LAN8720 | ❌ | ✅ |
T-ETH-Lite-ESP32 | ESP32-WROVER-E | 16MB | 8MB(QSPI) | RTL8201 | (Option) | ✅ |
T-ETH-Lite-ESP32S3 | ESP32-S3-WROOM-1 | 16MB | 8MB(OPI) | W5500 | (Option) | ✅ |
T-ETH-Lite-POE-Shield | POE Shield (IEEE802.3 af/Class 0) | |||||
T-ETH-Lite-ESP32S3-Camera-Shield | Camera Shield (Support OV2640/OV5640) | |||||
T-ETH-ELite-ESP32S3 | ESP32-S3-WROOM-1 | 16MB | 8MB(OPI) | W5500 | ✅ | ✅ |
examples/
├── UnitTestExample # Board function example
├── ETHOTA # Upgrade firmware via Ethernet
├── HelloServer # WebServer using ETH
├── SDWebServer # SDWebServer using ETH
├── MQTTClient # MQTT Example
├── ESPMQTTSClient # MQTTS Example
├── StaticIPAddress # Example of static IP address
├── UDPClientReceiver # UDP Receiver example
├── UDPClientSender # UDP Sender example
├── UDPClientReceiverDirectPC # UDP Receiver, Directly connect to PC using network cable
├── UDPClientSenderDirectPC # UDP Sender, Directly connect to PC using network cable
├── AsyncUDPClient # Async UDP Client
├── AsyncUDPServer # Async UDP Sender
├── WebSocketClient # WebSocket Client
├── WebSocketServer # WebSocket Server
├── UnitTestExample # Hardware test example
├── TCPClient # TCP Client
├── TCPServer # TCP Server
├── RS485_Master # RS485 Sender (ETH-Pro only)
├── RS485_Slave # RS485 Receiver (ETH-Pro only)
├── RS485_ModBUS # RS485 Modbus Master (ETH-Pro only)
├── TFT_ILI9341_Shield # Screen interface example (ETH-Pro/ETH-Lite-ESP32 only)
├── CameraShield # Camera shield example (ETH-Lite-ESP32S3 only)
├── LoRaShield # LoRa Shield Sender Example (ETH-PRO only)
├── SPIExample # SPI initialization example (ETH-PRO only)
├── SPI_Wire_DevicesExample # SPI bus & Wire sharing example (ETH-PRO only)
├── SharingSPIBus # SPI bus sharing example
├── InternetComTest # T-INTER-COM example (T-INTER-COM only)
├── WireExample # Wire initialization example
├── USB_Camera # USB camera example (Only ESP32S3)
├── I2C_HP303BSensor # External I2C Temperature and Humidity Sensor Example
├── I2C_BME280Sensor # External I2C Temperature and Humidity Sensor Example
├── TinyGPS_Example # GPS Module example
├── PCIE_Modem_ATDebug # PCIE Modem example
├── ADC_Button # ADC button example
└── T-ETH-ELite-Shield # T-ETH-Elite Dedicated examples
├── LoRa_Receive_Interrupt # T-ETH-Elite Dedicated examples - LoRa Shield example
├── LoRa_Transmit_Interrupt # T-ETH-Elite Dedicated examples - LoRa Shield example
├── T-ETH-Elite-Gateway-Shield # T-ETH-Elite Dedicated examples - Gateway Shield test example
├── T-ETH-Elite-LTE-Shield # T-ETH-Elite Dedicated examples - LTE Shield test example
└── T-ETH-Elite-LoRa-Shield # T-ETH-Elite Dedicated examples - LoRa Shield factory example
Examples | T-Internet-POE | T-POE-PRO | T-INTER-COM | T-ETH-Lite-ESP32 | T-ETH-Lite-ESP32S3 | T-ETH-ELite-ESP32S3 |
---|---|---|---|---|---|---|
UnitTestExample | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ETHOTA | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
HelloServer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
SDWebServer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
MQTTClient | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ESPMQTTSClient | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
StaticIPAddress | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
UDPClientReceiver | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
UDPClientSender | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
UDPClientReceiverDirectPC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
UDPClientSenderDirectPC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
AsyncUDPClient | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
AsyncUDPServer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
WebSocketClient | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
WebSocketServer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
TCPClient | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
TCPServer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
InternetComTest | ❌ (Can't run) | ❌ (Can't run) | ✅ | ❌ (Can't run) | ❌ (Can't run) | ❌ (Can't run) |
RS485_Master | ❌ (Not adapted) | ✅ | ❌ (Can't run) | ❌ (Not adapted) | ❌ (Not adapted) | ❌ (Not adapted) |
RS485_Slave | ❌ (Not adapted) | ✅ | ❌ (Can't run) | ❌ (Not adapted) | ❌ (Not adapted) | ❌ (Not adapted) |
RS485_ModBUS | ❌ (Not adapted) | ✅ | ❌ (Can't run) | ❌ (Not adapted) | ❌ (Not adapted) | ❌ (Not adapted) |
TFT_ILI9341_Shield | ❌ (Can't run) | ✅ | ❌ (Can't run) | ✅ | ❌ (Not adapted) | ❌ (Not adapted) |
CameraShield | ❌ (Can't run) | ❌ (Can't run) | ❌ (Can't run) | ❌ (Can't run) | ✅ | ✅ |
LoRaShield | ✅ | ❌ (Not adapted) | ❌ (Can't run) | ❌ (Not adapted) | ❌ (Not adapted) | ❌ (Not adapted) |
SPIExample | ✅ | ✅ | ❌ (Can't run) | ✅ | ✅ | ✅ |
SPI_Wire_DevicesExample | ✅ | ❌ (Not adapted) | ❌ (Can't run) | ✅ | ❌ (Not adapted) | ❌ (Not adapted) |
SharingSPIBus | ✅ | ❌ (Not adapted) | ❌ (Can't run) | ❌ (Not adapted) | ❌ (Not adapted) | ❌ (Not adapted) |
WireExample | ✅ | ✅ | ❌ (Can't run) | ✅ | ✅ | ✅ |
USB_Camera | ❌ (Can't run) | ❌ (Can't run) | ❌ (Can't run) | ❌ (Can't run) | ✅ | ✅ |
I2C_HP303BSensor | ✅ | ✅ | ❌ (Can't run) | ✅ | ✅ | ✅ |
TinyGPS_Example | ✅ | ✅ | ❌ (Can't run) | ✅ | ✅ | ✅ |
PCIE_Modem_ATDebug | ❌ (Not adapted) | ❌ (Not adapted) | ✅ | ❌ (Not adapted) | ✅ | ✅ |
ADC_Button | ✅ | ✅ | ❌ (Can't run) | ✅ | ✅ | ✅ |
- Install Visual Studio Code and Python
- Search for the
PlatformIO
plugin in theVisualStudioCode
extension and install it. - After the installation is complete, you need to restart
VisualStudioCode
- After restarting
VisualStudioCode
, selectFile
in the upper left corner ofVisualStudioCode
->Open Folder
-> select theLilyGO T-ETH-Series
directory - Wait for the installation of third-party dependent libraries to complete
- Click on the
platformio.ini
file, and in theplatformio
column - First change the default_envs to the board used
- Uncomment one of the lines src_dir = xxxx to make sure only one line works
- Click the (✔) symbol in the lower left corner to compile
- Connect the board to the computer USB (If there is no onboard downloader, USB2TTL must be connected)
- Click (→) to upload firmware
- Click (plug symbol) to monitor serial output
- Since T-LITE-ESP32 uses IO0 as the clock input, the default working level of DTR is high level, so after the download is completed, you need to remove the connection between DTR and IO0, so that ETH will work, otherwise the initialization will fail
- For T-LITE-ESP32, when uploading a sketch, you need to press and hold the BOOT button to run the upload
- It is recommended to use platformio without cumbersome steps
-
Install Arduino IDE
-
Install Arduino ESP32
-
Copy everything from this repository lib folder to Arduino library folder (e.g. C:\Users\YourName\Documents\Arduino\libraries)
-
T-ETH-Elite
options are the same asT-ETH-Lite
, but you need to adjustUSB CDC On Boot
toEnabled
-
Open the examples,such as examples/UnitTestExample
-
Switch to the utilities.h file, at the top of the sketch, uncomment the definition of the board name you use , such as LILYGO_T_INTERNET_POE
-
Connect external USB2TTL,such as CP2102,CP2104,CH340X
-
Has an onboard downloader(T-POE-Pro) If the board has a USB-C, plug it directly into the USB-C, select the corresponding port, and upload.
-
no onboard downloader(T-ETH-Lite-ESP32/T-ETH-Lite-ESP32S3/T-Internet-POE) Additional USB2TTL is required to connect the board with USB2TTL
-
Connection example:
USB2TTL(Has DTR,RTS) USB2TTL(NO DTR,RTS) T-ETH-Series 5V 5V 5V IN GND GND GND RX RX TXD TX TX RXD RTS RST DTR IO0 -
Connection diagram
-
Note that for boards that are not connected to DTR or RTS, the board must be put into download mode before uploading the sketch, otherwise the sketch cannot be uploaded.How to enter download mode, please see FAQ
-
注意,对于没有连接到DTR,RTS 的板子,上传程序之前,必须先将板子置入下载模式,否则无法上传程序,如何进入下载模式,请看FAQ
-
-
Select the corresponding port and click Upload <If the upload fails, View the FAQ below>
-
Since T-LITE-ESP32 uses IO0 as the clock input, the default working level of DTR is high level, so after the download is completed, you need to remove the connection between DTR and IO0, so that ETH will work, otherwise the initialization will fail
-
T-LITE-ESP32 Since the
PHYAD
address is selected as 0, the yellow LINK light will not light up, which does not affect the use.
- BLE Examples
- WiFi Examples
- SPIFFS Examples
- FFat Examples
- For more examples of esp32 chip functions, please refer to arduino-esp32-libraries
-
Unable to upload sketch,Please enter the upload mode manually.
- Connect the board via the USB cable or connect USB2TTL
- Press and hold the BOOT button , While still pressing the BOOT button, press RST
- Release the RST
- Finally release the BOOT Button(The BOOT button must be released last)
- Upload sketch
-
Unable to verify flash chip connection
- Please refer to this issue #45