From Wiki
Jump to: navigation, search


MG 4764.png
The ENC28J60 is a stand-alone Ethernet controller with an industry standard Serial Peripheral Interface (SPI™). It meets all of the IEEE 802.3 specifications. The controller is designed to serve as an Ethernet network interface for any controller equipped with SPI and the chip of an embedded system to connect to the Ethernet. Featured with a built-in 25MHz clock, it also supports full and half-duplex modes and contains an SPI port with a maximum speed of 10Mb/s. The chip integrates the physical layer inside, so the 8K dual-port RAM in the chip is capable of free allocation.

In application, the ENC28J60 module is suitable for small-sized embedded system due to its simple connection, easy development and low cost. Apart from the basic functions of MAC management and drive, it also boasts being perfectly suitable for MCU-based embedded application with its small package, low power consumption and SPI bus. Also the module outperforms other devices in web servers such as communication convertor and instrument, transaction terminal, IP telephone, and other Ethernet applications.


  • ENC28J60 is a stand-alone Ethernet controller with an industry standard Serial Peripheral Interface (SPI™)
  • Control chip: ENC28J60-I/SO; Built-in 25MHz clock; Supports full and half-duplex modes
  • Contains an SPI port with a maximum speed of 10Mb/s
  • Uses the HR911105A as the board for network interface
  • Working voltage: 3.3V; Board size: 56 x 34 mm(2.20 x 1.34 inch)

Schematic Diagram



We will do a simple test to check the function of ENC28J60 module.


Arduino UNO

Network cable with a crystal head


ENC28J60 module


1.Connect the network cable to the ENC28J60 module, and the Arduino Uno to the computer. Connect the ENC28J60 and the Arduino as shown below:

ENC28J60 ———————————— Arduino UNO/nano
(SCK) —————————————— 13
(MOSI) —————————————— 11
(MISO) —————————————— 12
(CS) —————————————— 8
(GND) —————————————— GND
(VCC) —————————————— 3.3V

2.Find the ethercard package at the bottom of the page, and copy it to the libraries folder of the Arduino.

3.Open the Arduino IDE, and find the ethercard in the sample directory. Run the pings program as shown below:


4.Open the pings.ino file, use DNS to get the IP address of the website.


5.Upload the sketch to the Arduino Uno board. Open the serial monitor, set the baud rate to 57600, and it will show your IP address, and SRV which is the IP of the Google website, as shown below:


Then the test is OK.