Skip to content

Xinyuan-LilyGO/LilyGO-T-ETH-Series

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸLilyGO T-ETH-Series

Build-T-INTERNET-COM Build-T-ETH-POE Build-T-ETH-POE-PRO Build-T-ETH-Lite-ESP32-S3 Build-T-ETH-Lite-ESP32 Build-T-ETH-ELite-ESP32-S3

Build-ArduinoIDE-T-INTERNET-COM Build-ArduinoIDE-T-ETH-POE Build-ArduinoIDE-T-ETH-POE-PRO Build-ArduinoIDE-T-ETH-Lite-ESP32S3 Build-T-ETH-Lite-ESP32 Build-ArduinoIDE-T-ETH-ELite-ESP32S3

News:

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

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

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) โœ… โœ… โœ…

1๏ธโƒฃ PlatformIO Quick Start

  1. Install Visual Studio Code and Python
  2. Search for the PlatformIO plugin in the VisualStudioCode extension and install it.
  3. After the installation is complete, you need to restart VisualStudioCode
  4. After restarting VisualStudioCode, select File in the upper left corner of VisualStudioCode -> Open Folder -> select the LilyGO T-ETH-Series directory
  5. Wait for the installation of third-party dependent libraries to complete
  6. Click on the platformio.ini file, and in the platformio column
  7. First change the default_envs to the board used
  8. Uncomment one of the lines src_dir = xxxx to make sure only one line works
  9. Click the (โœ”) symbol in the lower left corner to compile
  10. Connect the board to the computer USB (If there is no onboard downloader, USB2TTL must be connected)
  11. Click (โ†’) to upload firmware
  12. Click (plug symbol) to monitor serial output
  13. 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
  14. For T-LITE-ESP32, when uploading a sketch, you need to press and hold the BOOT button to run the upload

2๏ธโƒฃ Arduino IDE Quick Start

  • It is recommended to use platformio without cumbersome steps
  1. Install Arduino IDE

  2. Install Arduino ESP32

  3. Copy everything from this repository lib folder to Arduino library folder (e.g. C:\Users\YourName\Documents\Arduino\libraries)

  4. Open ArduinoIDE -> Tools ArduinoIDE

  5. T-ETH-Elite options are the same as T-ETH-Lite, but you need to adjust USB CDC On Boot to Enabled

  6. Open the examples,such as examples/UnitTestExample

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

  8. 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

      connect

    • 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

  9. Select the corresponding port and click Upload <If the upload fails, View the FAQ below>

  10. 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

  11. 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.

5๏ธโƒฃ ESP32 basic examples

6๏ธโƒฃ FAQ

  1. Unable to upload sketch,Please enter the upload mode manually.

    1. Connect the board via the USB cable or connect USB2TTL
    2. Press and hold the BOOT button , While still pressing the BOOT button, press RST
    3. Release the RST
    4. Finally release the BOOT Button(The BOOT button must be released last)
    5. Upload sketch
  2. Unable to verify flash chip connection

    1. Please refer to this issue #45

7๏ธโƒฃ RESOURCE