Arduino and Ethernet Module enc28j60

I am building a new project and I already tested the standard Ethernet module. This module is based on the W5100 controller.   Since is already supported by Arduino, it was pretty straight forward, I only have to mount the shield, compile the example, and everything was ok.

Now I want to use a cheaper module, I bought at dx, based on enc28j60.

Here is the link to buy this module

image
In my first try I downloaded a library from github

HERE is the link. ALl you have to do is to download the zip file, open it and copy to arduino libraries directory.

The connections are also straightforward, you can see them on the table below:

ENC28J60 Module
Arduino Due/UNO
Arduino Mega
VCC
3V3
3V3
CLKOUT
ENC-WOL
RESET
RESET
RESET
ENC-INT
2
2
GND
GND
GND
SCK
13
52
MISO
12
50
MOSI
11
51
CS
10
53

 

I open one of the examples, TCPServer, compiled it and uploaded.

After the upload I connected using telnet, I also started the serial monitor,  these are the results:
Now I will look for better libraries, anyone knows if Arduino aready supports this module?

Also I want to control them, using arduino and Bluetooth, as in this article HERE

.testeardEther
This is the example code:

/*
* UIPEthernet EchoServer example.
*
* UIPEthernet is a TCP/IP stack that can be used with a enc28j60 based
* Ethernet-shield.
*
* UIPEthernet uses the fine uIP stack by Adam Dunkels
*
* —————–
*
* This Hello World example sets up a server at 192.168.1.6 on port 1000.
* Telnet here to access the service. The uIP stack will also respond to
* pings to test if you have successfully established a TCP connection to
* the Arduino.
*
* This example was based upon uIP hello-world by Adam Dunkels
* Ported to the Arduino IDE by Adam Nielsen
* Adaption to Enc28J60 by Norbert Truchsess
*/

#include

EthernetServer server = EthernetServer(1000);

void setup()
{
Serial.begin(9600);

uint8_t mac[6] = {0xE0,0x01,0x02,0x03,0x04,0x05};
IPAddress myIP(192,168,1,23);

Ethernet.begin(mac,myIP);

server.begin();
}

void loop()
{
size_t size;
//Serial.println(“inicio”);
if (EthernetClient client = server.available())
{
while((size = client.available()) > 0)
{
uint8_t* msg = (uint8_t*)malloc(size);
size = client.read(msg,size);
Serial.write(msg,size);
free(msg);
}
client.println(“DATA from Server!”);
client.stop();
}
}