EtherCard is a driver for the ENC28J60 chip, compatible with Arduino IDE
C++ Arduino C
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 262 commits behind jcw:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Work in progress - see

Derived from code by Guido Socher and Pascal Stang, hence under GPL2 license.

The home page for this library is

You can download this project in either zip or tar formats.

Unpack the archive and rename the result to EtherCard.
Put it in the libraries folder in your Arduino sketches area.
Restart the Arduino IDE to make sure it sees the new files.

Updates by Andrew Lindsay, December 2011:

  1. Add alternative begin with 3rd parameter to specify CS pin to use. Only 8, 9 and 10 are usable. Default without 3rd parameter is pin 8.

  2. Updated DHCP to allow broadcast packets to be received as some DHCP servers (Some Linux and Windows DHCP servers) send responses to mac address ff:ff:ff:ff:ff:ff which would otherwise be filtered out. At end of DHCP process the broadcast filter is returned to block broadcast packets. ARP broadcasts are not affected as they have their own filter.

  3. Cleared up a number of Arduino 1.0 IDE warnings.

  4. Experimental - commented out line 609 of tcpip.cpp to no longer terminate client connections after 1 packet has been received. This is to allow larger packets and streamed data to be received. However, this may not terminate connections correctly. It needs more work to decide if other host is wanting to close connection. To remove this feature, remove the comment characters // on line 609.