This solution is a design for building an ESP32 LAN8720 board with PoE.
ESP32 is a well-known WiFi module from Loxin. They have an official IoT development framework called ESP-IDF to program the ESP32 module with custom firmware. ESP32 is a WiFi module that has an RMII interface that we can use to connect to the Ethernet interface. According to Wikipedia, RMII is Reduced media-independent interface; a standard that reduces the number of signals needed to connect a PHY to a MAC. the bridge between WiFi and Ethernet will open up many applications that require higher bandwidth and throughput.
ESP-IDF supports a number of Ethernet transceivers. microchip's LAN8720 is one of them. There is a module available for purchase that has an RJ45 magnetic jack with the LAN8720 chip. However, connecting this module directly to the ESP32 board is not straightforward for several reasons.
The 50 MHz clock needs to be controlled by the RMII interface. However, there are no external pins in this module to access the EN connector of the SMD crystal. Jumpers should also be used to connect the pins, which can make things messy.
So the solution was to build a custom PCB with all the required connections, which is what I have done here.
Since we are using a wired connection to establish the WiFi connection, we can use the same wired interface to power the entire platform. This is where the popular concept of Power over Ethernet (PoE) comes in. In a typical PoE application, the Ethernet cable provides an alternate voltage power supply that we cannot use directly with the ESP32 or any of the other components we use in our design. We need to rectify and condition this power waveform to get a clean DC power output.
With the popular products on the market, I chose the AG5300 PoE module with a 12V output voltage to drive the PCB and ESP32 module through a set of linear regulators.
If you don't want to use PoE, the board also supports powering through a USB cable, as it usually does. Simply do not plug in this AG5300 module, but plug the USB cable into the ESP32 and the board will use the power from the USB to power the PCB and components.
There are a number of ESP32 variants on the market. They have different pin settings and different versions of the ESP32. The version I used in my design is ESP32-WROOM-32U with the appropriate pin settings as shown in the figure below.
Before you can actually start using the modules, you need to install the ESP-IDF and all related dependencies. For installation instructions, see the official documentation. esp-idf has some sample code starting with the ESP32-LAN8720 bridge. Please see this GitHub repository to get started. If all goes well, you will see the following output.
If you have any ideas, comments or questions about this project, please drop us a line on the Embedic website.
Manufacturer: Texas Instruments
IC DSP FLOATING POINT 256BGA
Product Categories: DSP
Lifecycle:
RoHS:
Manufacturer: Microchip
IC MCU 8BIT 64KB FLASH 44TQFP
Product Categories: 8bit MCU
Lifecycle:
RoHS:
Manufacturer: Texas Instruments
IC DSP FIXED-POINT 737FCBGA
Product Categories: DSP
Lifecycle:
RoHS:
Manufacturer: Texas Instruments
IC DSP FLOATING POINT 256BGA
Product Categories: DSP
Lifecycle:
RoHS:
Looking forward to your comment
Comment