Setting up an Arduino with Ethernet is quite simple. But beside these pre-customized solutions like the Arduino Ethernet Board or the Arduino Ethernet Shield (both solutions are not that low priced) there is a favorable alternative: the ENC28J60 Ethernet Network Module. As Hans pointed out it is also quite easy to connect the Ethernet Module with any Arduino (3.3V or 5V) without level shifting:

ENC28J60 Module Arduino Board
PIN CS PIN 8
PIN SI PIN 11
PIN SO PIN 12
PIN SCK PIN 13
PIN VCC PIN 3.3V
PIN GND PIN GND

 

Arduino Uno with ENC28J60 Ethernet Module

Arduino Uno with ENC28J60 Ethernet Module

Ethernet Libraries

Next you’ll need to download and include the EtherCard Library or the EtherShield Library:

» Download: EtherCard.h (ca. 85KB)
» Download: EtherShield.h (ca. 75KB)

FYI: Changing libraries is not possible without changing bits of your code. Check out this blogpost on Migrating from EtherShield to EtherCard Library

Debugging

Re-check all of your wired connections and run one of the included examples from the libraries above. The Ethernet Module should really work out of the box with any type of Arduino Board.