Project Files of LAN8720 Ethernet Module Library for Proteus: ESP32 Wired Ethernet
lan8720-ethernet-module-tep-v1-0-d921e2d14dd14882a39088afc9f1c5e5.zip

LAN8720 Ethernet Module Library for Proteus V1.0
LAN8720 Ethernet Module Library for Proteus V1.0 comes as a ZIP archive of 162 files (2.4 MB, 5.2 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch, an Arduino library, compiled HEX firmware and source code.
- LIBProteus library
- DLLProteus model
- DSNProteus simulation
- INOArduino sketch
- LIBArduino library
- HEXHEX firmware
- SRCSource code
Description
LAN8720-Ethernet-Module-Library-for-Proteus-v1.0.zip with the LAN8720 Ethernet module in Proteus (the Microchip LAN8720A 10/100 PHY on the ESP32's RMII - TX_EN, TX0, TX1, RX0, RX1, CRS_DV, the 50 MHz clock into GPIO0 - and MDC / MDIO for the ESP32 sketch's ETH library: ETH.begin(), DHCP and the ETH events; an RJ45 cable to a virtual router, the LINK / ACT, 100M and PWR LEDs and a phone panel; TEPLAN8720.LIB and TEPNET.DLL), our ESP32-DevKitC V4 (TEPESP32DEVKITC.LIB), our Laptop and Mobile WiFi Monitors (TEPLAPTOP.LIB, TEPMOBILE.LIB), the ETH events demo project with its HEX file, the sketch, the TEP Boards for Proteus add-on 1.14.0 and a README.
File Structure
7.5 KB1.1 KB7.7 KB11 KB8.5 KB1.5 KB1.7 KB1.8 KB5.6 KB4.9 KB1.1 KB5.8 KB9.6 KB5.9 KB2.5 KB1.9 KB4.4 KB1.1 KB3 KB3 KB1.6 KB2.5 KB3.5 KB149 B2.7 KB2 KB6.4 KB3.2 KB1.3 KB963 B8.6 KB5.9 KB5.7 KB7.3 KB1.3 KB14.7 KB4.3 KB6.1 KB20.1 KB8.2 KB2 KB4.5 KB311 B12.2 KB5.6 KB3.6 KB2.2 KB3.4 KB5.9 KB1.5 KB1.6 KB16.6 KB9.7 KB3.1 KB2.2 KB504 B918 B1.4 KB1.8 KB1 KB1.3 KB1.4 KB1.8 KB1.4 KB5.7 KB502 B463 B5 KB1.6 KB368 B406 B466 B404 B444 B460 B477 B739 B448 B1.3 KB350 B5.7 KB4 KB562 B7.2 KB4.1 KB371 B390 B478 B5.1 KB4.6 KB371 B294 B358 B4.4 KB1.9 KB5.6 KB10.4 KB835 B518 B9.1 KB4.4 KB439 B3.9 KB1.2 KB9.3 KB7.1 KB4.4 KB2.4 KB388 B5.1 KB893 B667 B1.3 KB5.5 KB2.3 KB1.8 KB468 B882 B530 B791 B487 B894 B2 KB730 B646 B2.6 KB977 B702 B20.6 KB1.8 KB10.4 KB3.2 KB596 B406 B5.9 KB6.4 KB5.3 KB7.7 KB6.4 KB6.3 KB6.1 KB6.3 KB6.1 KB5.8 KB6.5 KB7.7 KB5.9 KB5.9 KB7.1 KB25.9 KB1.3 KB8.5 KB12.1 KB39 KB23.3 KB39.5 KB13.1 KB2.2 MB27.9 KB67.1 KB2.2 MB19 KBGallery12 images from the tutorialOpen the tutorial
The circuit, the board and the results as they appear in LAN8720 Ethernet Module Library for Proteus: ESP32 Wired Ethernet. Open an image for its full size.












README
LAN8720 ETHERNET MODULE LIBRARY FOR PROTEUS - V1.0 (THE LAN8720 ETH BOARD ON THE ESP32'S RMII, THE ETH LIBRARY)
Designed by The Engineering Projects www.TheEngineeringProjects.com
IMPORTANT LINKS
Article (read it first - pictures, step by step, every feature explained):
https://www.theengineeringprojects.com/2026/10/lan8720-ethernet-module-library-for-proteus.html
Report a bug or suggest a feature (our forum):
https://www.theengineeringprojects.com/forum/category/lan8720-ethernet-module-proteus-library
The demo uses our ESP32-DevKitC V4 (included) - its article:
https://www.theengineeringprojects.com/2026/10/esp32-devkitc-v4-library-for-proteus.html
The demo talks to our Laptop WiFi Monitor and Mobile WiFi Monitor (both included) - their articles:
https://www.theengineeringprojects.com/2026/10/laptop-wifi-monitor-library-for-proteus.html
https://www.theengineeringprojects.com/2026/10/mobile-wifi-monitor-library-for-proteus.html
Ethernet for an Arduino instead (SPI chips) - our libraries:
https://www.theengineeringprojects.com/2026/10/w5500-ethernet-module-library-for-proteus.html
https://www.theengineeringprojects.com/2026/10/enc28j60-ethernet-module-library-for-proteus.html
Support us (the libraries are free):
https://www.theengineeringprojects.com/donate
FILE STRUCTURE
LAN8720-Ethernet-Module-TEP-v1.0/
|-- Proteus Library Files/
| |-- TEPESP32DEVKITC.LIB 39.0 KB the ESP32-DevKitC V4, to LIBRARY
| |-- TEPLAN8720.LIB 23.3 KB the LAN8720 module, to LIBRARY
| |-- TEPLAPTOP.LIB 39.5 KB the laptop, to LIBRARY
| |-- TEPMOBILE.LIB 13.1 KB the phone, to LIBRARY
|-- Proteus Model Files/
| |-- TEPNET.DLL 2.18 MB module + boards + network, to MODELS
|-- Proteus Simulation/
| |-- LAN8720_ETH_Events.hex 67.1 KB U1 of the demo
| |-- LAN8720-ETH-Events-with-Laptop-and-Mobile.pdsprj 27.9 KB the demo + laptop + phone
| |-- TEPNET.DLL 2.18 MB copy of the model
|-- Arduino Code/
| |-- LAN8720_ETH_Events/LAN8720_ETH_Events.ino 7.5 KB the ESP32 sketch (ETH)
| |-- TEP Boards for Proteus/hardware/tep/avr/ 602.3 KB the Arduino IDE add-on 1.14.0 (152 files)
|-- README.txt ~18.4 KB this file
Total: 5.19 MB (unzipped). The C++ source code of the models is not included.
WHAT IS IT?
The LAN8720 ETH board (the black module sold for the ESP32) as one Proteus part: a Microchip LAN8720A 10/100 Ethernet
PHY, its 50 MHz oscillator, a HanRun RJ45 MagJack with two LEDs and a 2x7 header, plus a red PWR LED. The ESP32 has
its own Ethernet MAC: the LAN8720A is only the PHY between that MAC (on the RMII pins) and the cable, and the ESP32
sketch's ETH library does the rest (DHCP, TCP, UDP - the same WiFiClient / WiFiServer / WebServer classes as on
Wi-Fi).
* The pins: TX_EN, TX0, TX1 (the ESP32 sends: GPIO21, GPIO19, GPIO22), RX0, RX1, CRS_DV (it receives: GPIO25,
GPIO26, GPIO27), nINT/REFCLK (the module's 50 MHz clock into the ESP32's GPIO0), MDC and MDIO (the management
bus: GPIO23 and GPIO18 by default), VCC (3.3 V - the module has no regulator) and GND. The RMII pins of the ESP32
are fixed; MDC / MDIO are the sketch's choice.
* ETH.begin() in the ESP32 sketch (our ESP32 boards with the TEP Boards for Proteus add-on 1.14.0, included) looks
for the module wired to its pins, as the real driver does: it reads the PHY over MDIO (its ID: LAN8720A), so the
module must be on MDC / MDIO, powered, at the PHY address the sketch gives (this module: 1 - its PHYAD0 strap -
or -1 for any address) and the clock mode must be ETH_CLOCK_GPIO0_IN. When one of them is wrong ETH.begin()
returns false and Proteus's simulation log says why. With an RMII data pin missing the link comes up but no frame
passes (no address).
* The events, as on a real ESP32: ETH_START (ETH.begin), ETH_CONNECTED (the cable's link: 1.2 s of
auto-negotiation, 100 Mbit/s full duplex), ETH_GOT_IP (DHCP, 0.9 s later: 192.168.1.(100 + the board's number),
or the address of ETH.config()), ETH_DISCONNECTED (the cable out: the connections wait; back within 20 s they
carry on, after 20 s without a link they are dropped and ETH_LOST_IP comes), ETH_STOP (ETH.end). WiFi.onEvent()
(core 2.x) and Network.onEvent() (core 3.x) handlers are called between loop() runs and while the sketch waits in
delay().
* The LEDs as the LAN8720A drives them: the jack's green LED1 = LINK / ACT (on with the link, blinking with the
frames), the yellow LED2 = the 100 Mbit/s speed; the red PWR LED (power); the cable's blue plug in the port.
* The cable: the CABLE property (IN / OUT), a click on the RJ45 jack, or CABLE IN / CABLE OUT in the panel.
The part is drawn our way at the module's size (55.8 x 26.8 mm, about the size of the ESP32-DevKitC V4): the black
board, the RJ45 jack at its left end, the LAN8720A with its 50 MHz oscillator, the 2x7 header at its right end; its
pins leave the right edge, each named beside its end. Modules from other makers order the header differently - wire
by the names.
ONE DEVICE (search "LAN8720" in Pick Devices):
LAN8720 ETHERNET MODULE "LAN8720 Ethernet Module (ETH library, ESP32)" V1.0 (category Peripherals > Ethernet),
prefix U, model TEPNET.DLL
The panel (a TEP pop-up window, the look of the TEP Serial Monitor - our own header, no Windows title bar; it opens
at Run, the PANEL pad or the LAN8720A opens it again). Tabs:
Wi-Fi a phone with three tabs - BROWSER (OPEN ESP32 PAGE: the phone opens the page the ESP32 serves on
PAGEPORT), ROUTER (the router's clients - the ESP32 is listed as LAN) and CLOUD (the internet host's
requests); ETHERNET CABLE IN / OUT; the cards MODULE (the chip, the ESP32's Ethernet MAC, the MDIO
reads, the LEDs), ETHERNET (router, status, address, the link, DHCP) and TRAFFIC
RMII what the ESP32's ETH driver did, newest first: ETH.begin, the MDIO reads and writes (the PHY ID, the
link in reg 1, the speed in reg 31), DHCP; the link and the ESP32's sockets; the clock and the PHY
address
Test web request test (the phone opens the page n times, measured) and cable test (the cable pulled for 3 s,
measured)
Settings theme, text size, open at Run, window size
Help report a bug, suggest a feature, article, updates, donate, forum; Copy diagnostics
TEST STATUS
V1.0: verified in Proteus 8.5 on 23 Oct 2026 with the demo project as shipped (the windows off-screen, posted clicks
and keys). What the Proteus run showed:
* Run: the monitor shows ETH_START at 0.0 s, ETH_CONNECTED at 1.1 s (link up: 100 Mbit/s, full duplex) and
ETH_GOT_IP at 2.0 s (IP 192.168.1.101, MAC 24:0A:C4:00:00:04); the module's PWR LED, its green LINK / ACT LED and
yellow 100M LED light, the cable's plug is in the port; the panel shows the module on the LAN (DHCP 0.90 s after
the link).
* The laptop's browser opens http://192.168.1.101/events: the event log as plain text (3 events, on the LAN). The
phone opens the page (HTTP 200, 499 bytes in 0.05 s); its LED ON link lights D1 on GPIO13 ("LED ON (the web
page)").
* The cable out (CABLE OUT in the panel): ETH_DISCONNECTED at once ("no link - the cable is out"), both jack LEDs
off, the plug out of the port; the cable back in: ETH_CONNECTED after the 1.2 s auto-negotiation, ETH_GOT_IP 0.9
s later - the same address; the laptop's /events then lists 6 events.
* The monitor's STATUS, EVENTS and HELP answer; the panel's RMII page lists what the ETH driver read over MDIO (the
PHY ID 0x0007 0xC0F1, the link in reg 1, 100BASE-TX full duplex in reg 31) and DHCP, the ESP32's server on port
80.
* The panel's Test page: the web request test answered 3 of 3 (connect 4.0 ms, first byte 35.8 ms, full page 50.8
ms, 509 bytes); the cable test (3 pulls of 3 s) put the board back on the LAN 2.110 s after the cable went back
in each time.
* Speed: about 0.3 x real time with the board's sketch, the module, the laptop and the phone running (the sketch
runs on the hidden ATmega2560 of the ESP32 board).
INSTALLATION (about 5 minutes)
1. Close Proteus. Extract the WHOLE ZIP to a normal folder (e.g. Desktop).
2. Copy everything in "Proteus Library Files" to the LIBRARY folder of Proteus, for example:
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
(on some PCs: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY - use the folder that already
holds Proteus's own .LIB files). TEPLAN8720.LIB is the module; TEPESP32DEVKITC.LIB our ESP32-DevKitC V4 (the board
of the demo); TEPLAPTOP.LIB and TEPMOBILE.LIB our Laptop WiFi Monitor and Mobile WiFi Monitor.
3. Copy TEPNET.DLL from "Proteus Model Files" to the MODELS folder (...\Proteus 8 Professional\MODELS) - replace
older copies (this TEPNET.DLL is the first one with the LAN8720 and Ethernet for the ESP32 boards; it still runs
every part of the series).
4. Delete TEPLAN8720.IDX, TEPESP32DEVKITC.IDX, TEPLAPTOP.IDX and TEPMOBILE.IDX from the LIBRARY folder if they are
there.
5. The Arduino IDE (only to compile your own sketches - the demo has its HEX file): the add-on is in "Arduino
Code\TEP Boards for Proteus". The Arduino AVR Boards platform must be installed (IDE 2.x: Boards Manager, "Arduino
AVR Boards"). Copy the folder "hardware" into your sketchbook folder - the result:
Documents\Arduino\hardware\tep\avr\boards.txt
(an older TEP Boards for Proteus there: replace it - 1.14.0 has the ETH library and the events). Restart the IDE
and pick Tools > Board > TEP Boards for Proteus > ESP32-DevKitC V4 (TEP Proteus).
6. Start Proteus. In Pick Devices (P) search "LAN8720".
RUN THE DEMO
Keep the .hex file and TEPNET.DLL beside the project in "Proteus Simulation".
LAN8720-ETH-Events-with-Laptop-and-Mobile.pdsprj - U1 our ESP32-DevKitC V4 (LAN8720_ETH_Events.hex, its monitor at
115200 bps) with R1 (220R) + D1 (LED-GREEN) on GPIO13, and U2 the LAN8720 module wired by net labels: TX_EN GPIO21,
TX0 GPIO19, TX1 GPIO22, RX0 GPIO25, RX1 GPIO26, CRS_DV GPIO27, REFCLK (nINT/REFCLK) GPIO0, MDC GPIO23, MDIO GPIO18,
its VCC to the board's 3V3 (the 3V3 label), GND to ground. PC1 the Laptop WiFi Monitor (home page
http://192.168.1.101/events) and MOB1 the Mobile WiFi Monitor (home page http://192.168.1.101/) - no wires, they are
on the router's network.
Press Run. The monitor shows ETH_START, ETH_CONNECTED (100 Mbit/s full duplex) and ETH_GOT_IP with 192.168.1.101
and the MAC. Open the page in the phone's Browser (Go): the link, the address, the MAC, the time on the LAN, the
LED on GPIO13 with LED ON / LED OFF / EVENTS and the last events; the laptop's Browser shows /events. Pull the
cable (CABLE OUT in the panel, or click the jack): ETH_DISCONNECTED; put it back: ETH_CONNECTED and ETH_GOT_IP. In
the monitor: STATUS, EVENTS, ON, OFF, HELP.
PINS (beside the module's right edge, top to bottom)
TX1, TX_EN, TX0 the ESP32's transmit (GPIO22, GPIO21, GPIO19 - fixed on the ESP32)
RX0, RX1 its receive (GPIO25, GPIO26 - fixed)
nINT/REFCLK the module's 50 MHz reference clock out, to GPIO0 (ETH_CLOCK_GPIO0_IN); not driven in the
simulation
CRS_DV carrier sense / data valid (GPIO27 - fixed)
MDIO, MDC the management bus (GPIO18, GPIO23 by default: ETH_PHY_MDIO, ETH_PHY_MDC)
GND ground
VCC 3.3V power: 3.3 V (the board's 3V3)
GPIO0 must be on the board's header: the ESP32-DevKitC V4 has it, our 30-pin ESP32 DevKit V1 does not. Without power
(VCC and GND) the module is off and ETH.begin() finds no PHY.
THE DEMO SKETCH (Arduino Code)
LAN8720_ETH_Events #define ETH_PHY_TYPE ETH_PHY_LAN8720, ETH_PHY_ADDR 1, ETH_PHY_MDC 23, ETH_PHY_MDIO 18,
ETH_PHY_POWER -1, ETH_CLK_MODE ETH_CLOCK_GPIO0_IN before #include <ETH.h>;
WiFi.onEvent(onEvent) (Network.onEvent on the core 3.x); ETH.begin(); the handler prints each
event with its time, sets the host name at ETH_START, prints the link at ETH_CONNECTED and
ETH.localIP() / ETH.macAddress() at ETH_GOT_IP, and keeps the last 10 events. WebServer on port
80: / is the page, /on and /off switch the LED on GPIO13, /events is the log as text/plain. The
monitor's STATUS, EVENTS, ON, OFF, HELP.
The same sketch compiles for a real ESP32 with Espressif's core ("ESP32 Dev Module"): set ETH_PHY_ADDR to your
module's address.
PROPERTIES (double-click the LAN8720 module > Edit Properties)
ROUTER the router the cable goes to - the network name of the Wi-Fi parts (default TEP-WiFi)
CABLE the Ethernet cable at Run: IN (default) or OUT
PHYADDR the PHY address the module answers at: 1 (default, its PHYAD0 strap) or 0
PANEL the phone's tab at start (BROWSER, ROUTER, CLOUD)
PAGEPORT the port OPEN ESP32 PAGE opens (default 80)
Every run starts again from the properties. With DHCP the address follows the board's number: U1 192.168.1.101, U2
.102 ... - give every network part its own number. The laptop is 192.168.1.21, the phone 192.168.1.41.
LINKS.INI (OPTIONAL)
The Help page cards open web pages. To point them somewhere else without a new DLL, put a text file named links.ini
next to TEPNET.DLL with lines KEY=URL, for example:
ARTICLE=https://www.theengineeringprojects.com/...
Keys: WEBSITE, FORUM, BUG_REPORT, FEATURE_REQUEST, ARTICLE, USER_GUIDE, UPDATE_CHECK, DONATE. Only http:// and
https:// links are used; lines starting with # are comments.
TROUBLESHOOTING
* ETH.begin() returns false: read Proteus's simulation log (it names the reason) - MDC / MDIO not wired to the
sketch's pins, no power on VCC, ETH_PHY_ADDR not the module's address (PHYADDR, or use -1) or a clock mode other
than ETH_CLOCK_GPIO0_IN. (ETH.h needs TEP Boards for Proteus 1.14.0: an older add-on has no ETH library.)
* ETH_CONNECTED comes but ETH_GOT_IP never: an RMII pin (TX_EN, TX0, TX1, RX0, RX1, CRS_DV) or REFCLK is not wired -
the log lists the missing ones.
* No events at all: the handler must be added with WiFi.onEvent() / Network.onEvent() before ETH.begin(), and the
sketch must return from loop() or call delay() now and then (the events run there).
* The page never opens: the cable is out (the panel shows CABLE OUT) or the board is not on the LAN yet.
* WiFi.begin() is ignored: in this model a board uses one network at a time - the cable (ETH) or Wi-Fi.
* A paused simulation shows the SIMULATION LOG: click the Schematic Capture tab.
* No panel: click the PANEL pad (or the LAN8720A), or turn "Open the panel at Run" back on (Settings).
BUG REPORTS AND FEATURE REQUESTS
Please post them in our forum with a screenshot, the serial monitor text, the simulation log and the Copy diagnostics
text of the panel:
https://www.theengineeringprojects.com/forum/category/lan8720-ethernet-module-proteus-library
SUPPORT US
This library is free. If it saves you time, please support our work:
https://www.theengineeringprojects.com/donate
WEBSITE
https://www.theengineeringprojects.com/
LICENCES AND THIRD-PARTY NOTES
* The LAN8720 module model, the ESP32 boards, the Laptop / Mobile WiFi Monitors and the network (TEPNET.DLL), the
symbols and artwork (TEPLAN8720.LIB, TEPESP32DEVKITC.LIB, TEPLAPTOP.LIB, TEPMOBILE.LIB) are made by The Engineering
Projects. The ESP32 board runs the sketch on Proteus's own ATmega2560 model (Labcenter); R1 and D1 are Proteus's
own parts. The models use only standard Windows libraries; no Visual C++ redistributable is needed. The C++ source
code of the models is not included.
* TEP Boards for Proteus (Arduino Code): its core, the EEPROM, SPI and Wire libraries and the variants are modified
copies of the Arduino AVR core 1.8.6 (https://github.com/arduino/ArduinoCore-avr/tree/1.8.6, GNU Lesser General
Public License 2.1, LICENSE-LGPL-2.1.txt); its ETH, WiFi, WebServer and the other libraries are ours (MIT,
LICENSE-MIT.txt). LAN8720_ETH_Events.hex contains that core with the ETH, WiFi and WebServer libraries.
* Proteus is a product of Labcenter Electronics and is not included. LAN8720 and Microchip are names of Microchip
Technology; ESP32 of Espressif Systems; HanRun of Zhongshan HanRun Electronic. This library is not made or endorsed
by Microchip, Espressif, Waveshare or Labcenter.
REBUILDING THE FIRMWARE (OPTIONAL)
The HEX file is supplied; the Arduino IDE is not needed to run the demo. Open the sketch in Arduino Code with Tools >
Board > TEP Boards for Proteus > ESP32-DevKitC V4 (TEP Proteus), then Sketch > Export Compiled Binary (Ctrl+Alt+S).
Flash / RAM: LAN8720_ETH_Events 24,422 / 2,696 bytes (of the hidden ATmega2560's 253,952 / 8,192). Put the exported
HEX in place of the simulation's .hex. It is not a real ESP32 binary: the board in Proteus is NOT a real ESP32 chip
(no Xtensa model in Proteus) - the sketch runs on a hidden ATmega2560 at 16 MHz with 8 KB of RAM, int is 16 bits, and
there are no FreeRTOS tasks.
MODEL SCOPE AND LIMITS
Modelled: the module's place between the ESP32's Ethernet MAC and the router's LAN - ETH.begin() finding it by its
wiring, its power, its PHY address and the clock mode; the PHY's link (the cable, 1.2 s of auto-negotiation, 100
Mbit/s full duplex); what the driver reads over MDIO (shown in the panel); DHCP or ETH.config(); the ETH events; the
jack's LINK / ACT and speed LEDs, the PWR LED and the cable; TCP and UDP of the ESP32's sockets with the router, the
phone, the laptop and the internet host shared with every TEP network part. Not modelled: the RMII frames bit by bit
and the 50 MHz clock on the pins (the module is the link to the LAN), the MDIO bus waveform, 10 Mbit/s or half duplex
links, other PHYs (TLK110, RTL8201, DP83848, KSZ8081) and SPI Ethernet chips on ETH, IPv6, the boot strap of GPIO0 (a
running oscillator on a real board can keep the ESP32 in its download mode - many boards switch the oscillator with a
GPIO, ETH_PHY_POWER). The model's own choices: the cable goes to the same router as the Wi-Fi parts; with the cable
out the connections are kept for 20 s; the board uses the cable or Wi-Fi, not both; the simulation runs below real
time.
VERSION
TEP LAN8720 Ethernet Module library V1.0 (Oct 2026). Device LAN8720 ETHERNET MODULE (TEPLAN8720.LIB / TEPNET.DLL,
which also runs our ESP32, ESP8266, Arduino and Pico W boards, our Ethernet and Wi-Fi shields, modules and breakouts,
the ESP-01 family and the Laptop / Mobile WiFi Monitors), with our ESP32-DevKitC V4 (TEPESP32DEVKITC.LIB) and the
Laptop WiFi Monitor / Mobile WiFi Monitor (TEPLAPTOP.LIB / TEPMOBILE.LIB); TEP Boards for Proteus 1.14.0. Demo sketch
LAN8720_ETH_Events V1.0.Development1 release
-
V1.0LAN8720 Ethernet Module Library for Proteus V1.0this page
V1.0 is the only release in the Download Center so far. When a newer version is published, it appears above with its own download page.
Installation10 steps
From the download to a working project, in order. The steps follow what the package contains.
You will need
- Proteus Design SuiteProteus 8 or newer (Labcenter), on Windows
- Arduino IDE1.8 or 2.x, with the board of the tutorial chosen under Tools → Board
- The compiler named in the tutorialto build the source files into firmware
- Any archive toolWindows, macOS and Linux extract ZIP files on their own
Steps
- 1
Extract the archive
Right-click lan8720-ethernet-module-tep-v1-0-d921e2d14dd14882a39088afc9f1c5e5.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (LAN8720-Ethernet-Module-TEP-v1.0) as it is.
- 2
Copy the library files into Proteus
Move TEPESP32DEVKITC.LIB, TEPLAN8720.LIB and TEPLAPTOP.LIB and 1 more and the files into the LIBRARY folder of your Proteus installation: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY for Proteus 8, or the matching Proteus 7 folder. Older versions keep it under ProgramData\Labcenter Electronics. If Proteus is open, close it first.
- 3
Add the simulation model
Copy TEPNET.DLL into the MODELS folder next to LIBRARY, so the component can run, not only be drawn.
- 4
Restart Proteus and place the component
Start Proteus, open a schematic, press P (Pick Devices) and search for the component by the name used in the tutorial. It appears with its pins ready to wire.
- 5
Install the Arduino library
In the Arduino IDE choose Sketch → Include Library → Add .ZIP Library and pick the library, or copy its folder into Documents\Arduino\libraries. Restart the IDE to see its examples.
- 6
Open the sketch in the Arduino IDE
Open LAN8720_ETH_Events.ino, eeprom_clear.ino and eeprom_crc.ino and 15 more, select your board and port under Tools, then Verify. Sketch → Export Compiled Binary writes the HEX file a simulation needs.
- 7
Build the source code
Open abi.cpp, Arduino.h and binary.h and 49 more in the compiler named in the tutorial (MikroC, Keil, MPLAB, Code Composer or the Arduino IDE) and build it to get the firmware.
- 8
Load the HEX file
In Proteus double-click the microcontroller, set Program File to LAN8720_ETH_Events.hex and run the simulation. For real hardware, flash the same file with your programmer.
- 9
Open the example simulation
Open LAN8720-ETH-Events-with-Laptop-and-Mobile.pdsprj in Proteus to see the wiring exactly as in the tutorial. Check the controller's Program File path, then press Play.
- 10
Follow the tutorial
LAN8720 Ethernet Module Library for Proteus: ESP32 Wired Ethernet explains every connection and setting in order; keep it open beside the files while you build.
FAQs9 questionsContact TEP
How do I download LAN8720 Ethernet Module Library for Proteus V1.0?
Wait for the 30-second guest countdown on this page, then press the download button; the file comes straight from our storage. Members who are logged in skip the wait. If the browser opens the file instead of saving it, use its Save as option.
What is inside the archive?
LAN8720 Ethernet Module Library for Proteus V1.0 comes as a ZIP archive of 162 files (2.4 MB, 5.2 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch, an Arduino library, compiled HEX firmware and source code. Open the File Structure tab for the full list of 162 files.
What should I do if the download does not start?
Check the browser's download list first; an ad blocker or a company firewall can also hold it back, so try another browser or network. If the file arrives incomplete, download it again. For an installation problem, read the Install tab or tell us in the comments with your software version and the exact error message.
Is this file free?
Yes. Every file in the TEP Download Center is free for learning, personal and student projects. If you share it, link back to this page or the tutorial so others find the latest version.
How do I check that the file arrived complete?
Compare its SHA-256 with the one on this page, 6eba8c27ac71ec8333594c77efc4e1576cd31154cf3dd241b13a6e97a6156ec1. In PowerShell run Get-FileHash "lan8720-ethernet-module-tep-v1-0-d921e2d14dd14882a39088afc9f1c5e5.zip"; on macOS or Linux run shasum -a 256 "lan8720-ethernet-module-tep-v1-0-d921e2d14dd14882a39088afc9f1c5e5.zip". The same value means the file is exactly the one in our storage; a different one means the download broke off, so download it again.
Do I need WinRAR to open the ZIP file?
No. Windows, macOS and Linux open ZIP archives on their own (Extract All, or double-click). WinRAR and 7-Zip work too. Extract the whole archive before using the files.
Where do I put the LIB and IDX files?
Both files go into the LIBRARY folder of your Proteus installation (Proteus 8: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY; Proteus 7 has the same folder under its own name). Restart Proteus afterwards and search for the component with P.
Which Proteus version does the library need?
The tutorial names the Proteus version the library was made and tested with. Most TEP libraries work in Proteus 7 and Proteus 8; if the component does not appear after a restart, check that both the LIB and the IDX file were copied and that Proteus was fully closed while copying.
How do I get the HEX file into the simulation?
Compile the sketch in the Arduino IDE (Sketch → Export Compiled Binary gives you the HEX next to the sketch), then in Proteus double-click the board, set Program File to that HEX and run.
Members skip the wait. Log in or join TEP.
- 0Total downloads
- 4%Popularity
- ProteusCategory
- 0Comments
- ssyedzainnasirUploaded by
- 23 Oct 2026Uploaded at
6eba8c27ac71ec8333594c77efc4e1576cd31154cf3dd241b13a6e97a6156ec1























Comments
0