InduinoX User Guide - Interfacing with the ENC28J60 Ethernet Module

The ENC28J60 Module



The ENC28J60 Ethernet Module is a low-cost ethernet module that offers ethernet connectivity over SPI. This module is different from the ENC28J60 Ethernet Shield only in its form factor and the fact that there is no SD card slot. This module can be interfaced with any microcontroller over SPI.  We will see how to use this module with Arduino. 

Its been use with the arduino for sometime and there are a number of libraries available to work with the module.
You can download the following zip file and extract its contents to the libraries folder of your arduino installation.
There are 2 folders in this library - etherShield and ETHER_28j60. The etherShield is a base library and the ETHER_28j60 is a wrapper around this based library that simplifies the functionalities of the etherShield library for the beginner. You can program your Ethernet Shield directly using the etherShield Library however, this library requires you have a finer understanding of networking and how it works. We suggest you stick to the ETHER_28J60. You can find documentation on this here.

Module Overview

There are 10 Pins on the Module that bring out SPI interface and additional functionalities of the ENC28J60 IC. The Module is to be powered from 3.3Volts supply.

Connections Overview
Connect the pins of the module to pins of your Arduino as in the table
MODULEInduinoX / Arduino UNO (ATMEGA328) Arduino MEGA
VCC3.3V Pin3.3V Pin
GNDGNDGND
CSSS - PIN 10SS - PIN 53
SIMOSI - PIN 11MOSI - PIN 51
SCKSCK - PIN 13SCK - PIN 52
WOLPIN 5PIN 5
SOMISO - PIN 12MISO - PIN 50
INTInterrupt 0 - PIN 2Interrupt 0 - PIN 2



A Simple Test Program
Once you install the libraries, you can try the 'HelloWorld' program from ETHER_28j60 library. Upload the program, disconnect the board (make it standalone powered externally!), open your browser and type in the ip address of the board. (http://192.168.1.15).. Voila! now your arduino is on the network!
Controlling the InduinoX
The 'HelloWorld' is a simple program now to try the 'WebRemote' example. This will let you control the 6th pin on the InduinoX. You can modify this to achieve your web control needs.