ENC28J60 with router fails after several hours


I am making a project what is for I can check my house temperature on internet when I am away for several days. I made the breadboard for testing, everything went fine on yesterday during the day, but something happened at night: When I got up this morning, I tried to check the temperature with my cellphone on the internet, but no response arrived. I checked the router, and if I listened carefully, I could hear a silent beeping from the router. My computer (what is also connected to the router) said no network connection, the network cable is not plugged in. I switched OFF and ON the router, the beeping noise is disappeared, and after few minutes (when router is started to work) everything is went fine again.

Later at this day I have checked the temperature several times, it went fine for about ten hours, but after then, sometimes it took several seconds to get the response from arduino. A bit later no response arrived within the timeout period. When I got home, the router was beeping again, and the computer said no network connection. Router reset, and it works fine again. (Without resetting arduino)

I have an Arduino UNO R3, the Ethernet adapter is an ENC28J60 card (NOT a shield), what is connected by the following way: VCC -> 3.3v GND -> GND SCK -> Pin 13 SO -> Pin 12 SI -> Pin 11 CS -> Pin 8

The Arduino is powered by an external power supply what supplies 9V DC and 1000mA, the router is a Cisco EPC3925, and I use the EtherCard library. The Ethernet configuration is the following: The arduino have a fixed IP, I set up a port forwarding to arduino's IP address at the router on port 80, and I have a dyndns account what is configured in the router. The application is so simple: when something arrives to arduino on ethernet, it replies a string what is a very basic website, what contains the current temperature.

Do you have any idea what could cause my router to fail? (Sorry for the long post, I tried to be as detailed as possible.)


I have a last idea: I have read several cases where the unstable input voltage caused the hardware problems. Some capacitors solved the problems in all this cases. Where should I install capacitors, and what kind of them to level out the input voltage?

Thank you in advance.

Not the last idea yet. The 3.3v pin on the Uno is rated at only 50ma. I am almost certain the ENC28j60 uses more than that. It probably needs its own 3.3v regulator.

Thank you for the tip! I made some measurements with my multimeter... I use one meter long ribbon cable to connect the arduino and the ethernet module. Between the 3.3V and GND connectors of arduino I measured 3.29V, but on the Ethernet module it is only 3.22V! It seems it is a huge voltage drop on the cable, I have to use something thicker, and test it again. (Sadly I cannot measure the current, the ethernet module did not turned on, I think my cheaper multimeter has a larger inner resistance)

I will replace the cable (at least the power part of it) and refer back!

Well. I have replaced the bad ribbon cable, the problem still exists. Now I used separate power supply for arduino and the ethernet module, and after 4 hours the router froze again. :frowning:

I have no idea remained. Maybe some kind of router configuration issue? I set up the ethernet this way:

#include <EtherCard.h>
static byte myip[] = { 192,168,0,200 };
static byte gwip[] = { 192,168,0,1 };
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
byte Ethernet::buffer[500]; // tcp/ip send and receive buffer
static BufferFiller bfill;  // used as cursor while filling the buffer

// Set Up Ethernet
ether.begin(sizeof Ethernet::buffer, mymac);
ether.staticSetup(myip, gwip);

That should be an easy test. Get another router and try it. If the connection fails, the Arduino is still running, and rebooting the router fixes it, that sounds like the router failing.


I had an older TP-link router resting at the bottom of a box. I put it behind my Cisco router. And it succesfully worked at whole night. Two days ago I got a not used switch from my company, so I replaced the TP-Link router with this switch. (I felt a bit overkill to use two routers for a computer and an arduino :)) Now my computer is conneted to the router, and the arduino is connected into the switch. This is the second day, and the configuration is still working, so I think the issue is solved!

Thank you for your help and for the useful informations!