This is a FROZEN copy of the EtherCard library https://github.com/njh/EtherCard

Jean-Claude Wippler d32f1677a6 add pointer to latest github repo by njh 1 month ago
examples 39ac23db39 Added NTP Client Example 1 year ago
.gitignore b47d4de9d8 add doxygen files 6 years ago
.travis.yml 87782fd422 Skip udplistener tests for now 2 years ago
CONTRIBUTING.md 5dace05865 Added CONTRIBUTING.md with basic code style guide 4 years ago
Doxyfile c14cf89d00 more patches and documentation from @riban, see #466 4 years ago
Doxylogo.png 1386b3efd7 doxygen update (thx David Menting) 6 years ago
Doxymods.css 9f3761f04e Cleaned up whitespace in library files 4 years ago
EtherCard.cpp 62a1c4253f Translated some magic numbers into meaningful constants 2 years ago
EtherCard.h 130007a033 multiple spelling fixes 9 months ago
LICENSE 4c82299a72 Create LICENSE 1 year ago
README.md d32f1677a6 add pointer to latest github repo by njh 1 month ago
dhcp.cpp 130007a033 multiple spelling fixes 9 months ago
dns.cpp 130007a033 multiple spelling fixes 9 months ago
docu.dox 62a1c4253f Translated some magic numbers into meaningful constants 2 years ago
enc28j60.cpp 130007a033 multiple spelling fixes 9 months ago
enc28j60.h 130007a033 multiple spelling fixes 9 months ago
library.json 87debfce74 @PlatformIO Library Registry manifest file 3 years ago
net.h 62a1c4253f Translated some magic numbers into meaningful constants 2 years ago
tcpip.cpp 130007a033 multiple spelling fixes 9 months ago
udpserver.cpp 3413e9fe9d Merge pull request #160 from flok99/master 3 years ago
webutil.cpp 130007a033 multiple spelling fixes 9 months ago

README.md

EtherCard

The latest version is on GitHub, maintained by Nicholas Humfrey

EtherCard is a driver for the ENC28J60 chip, compatible with Arduino IDE. Adapted and extended from code written by Guido Socher and Pascal Stang.

License: GPL2

The documentation for this library is at http://jeelabs.net/pub/docs/ethercard/.

Requirements

  • Hardware: This library only supports the ENC28J60 chip.
  • Hardware: Only AVR-based microcontrollers are supported, such as:
    • Arduino Uno
    • Arduino Mega
    • Arduino Leonardo
    • Arduino Nano/Pro/Fio/Pro-mini/LiliPad/Duemilanove
    • Any other Arduino clone using an AVR microcontroller should work
  • Hardware: Non-AVR boards are NOT currently supported (101/Zero/Due) #211
  • Hardware: Depending on the size of the buffer for packets, this library uses about 1k of Arduino RAM. Large strings and other global variables can easily push the limits of smaller microcontrollers.
  • Hardware: This library uses the SPI interface of the microcontroller, and will require at least one dedicated pin for CS, plus the SO, SI, and SCK pins of the SPI interface.
  • Software: Any Arduino IDE >= 1.0.0 should be fine

Library Installation

  1. Download the ZIP file from https://github.com/jcw/ethercard/archive/master.zip
  2. Rename the downloaded file to ethercard.zip
  3. From the Arduino IDE: Sketch -> Include Library... -> Add .ZIP Library...
  4. Restart the Arduino IDE to see the new "EtherCard" library with examples

See the comments in the example sketches for details about how to try them out.

Physical Installation

PIN Connections (Using Arduino UNO):

VCC -   3.3V
GND -    GND
SCK - Pin 13
SO  - Pin 12
SI  - Pin 11
CS  - Pin 10 # Selectable with the ether.begin() function

PIN Connections using an Arduino Mega

VCC -   3.3V
GND -    GND
SCK - Pin 52
SO  - Pin 50
SI  - Pin 51
CS  - Pin 53 # Selectable with the ether.begin() function

Support

For questions and help, see the forums (at JeeLabs.net). The issue tracker has been moved back to Github again.

Related Work

There are other Arduino libraries for the ENC28J60 that are worth mentioning:

  • UIPEthernet (Drop in replacement for stock Arduino Ethernet library)
  • EtherSia (IPv6 Arduino library for ENC28J60)
  • EtherShield (no longer maintained, predecessor to Ethercard)
  • ETHER_28J60 (no longer maintained, very low footprint and simple)

Read more about the differences at this blog post.