I have a 1284p with a W5200 (Wiz820io) connected. When powering the board through an Uno's 5V output I have the ethernet running fine on my 1284p board. However, when supplying the board directly from a 5V 1.2A adapter the ethernet fails to reset properly and thus never receives an IP address from the DHCP server.
I tried to measure the voltage on the board. When powered using the Uno I have 4.76V available. Using my external adapter I have 5.06V.
The Wiz820io's reset pin is connected to an digital I/O of the 1284p and I reset it using the following code:
pinMode(ethernetResetPin, OUTPUT);
digitalWrite(ethernetResetPin, LOW);
delay(1000); //for ethernet chip to reset
digitalWrite(ethernetResetPin, HIGH);
delay(1000); //for ethernet chip to reset
if (Ethernet.begin(mac) == 0)
Serial.println("Failed to configure Ethernet using DHCP");
delay(1000); //for ethernet chip to reset
When you disconnect the power from the Arduino to the Wiz820io to use the external power supply, are you leaving the ground connected? It needs a good ground connection to work right.
Im using the ground connection on from the external power supply in that case.
I did some experiments and while I don't quite understand it, the problem seems to be completely gone when I add a 2 ohm resistor between the external power supply and my +5V lines on the board (it's a perf board so everything is a little so-so quality-wise). It has been running for about 24 hours at the moment and doesn't seem to have any issues.
Is the power supply (wall wart?) regulated or unregulated? If you are connecting it to the +5v, it should be regulated or you may have trouble with it.
I always presume it is unregulated unless it says it is. I do not see where it says that on the datasheet.
Measure the voltage on the +5v pin. If it is regulated, it should be somewhere around 4.8 to 5.2 volts, even with a sloppy regulator. If it is over 5.2 volts, I wouldn't use it.
That power supply is regulated. Then I would suspect the ground connection from the Arduino to the w5200. Insure you have a good ground connection between the two devices.
I think you misunderstood me. When I use the Arduino as my power supply (including ground) everything works.
When using the external power supply (wall mart) - and thus not connected to the Arduino at all - then it doesn't work unless I add a 2 ohm resistor.
kfuglsang:
I think you misunderstood me. When I use the Arduino as my power supply (including ground) everything works. When using the external power supply (wall mart) - and thus not connected to the Arduino at all - then it doesn't work unless I add a 2 ohm resistor.
This is a first for me.
SurferTim:
Then I would suspect the ground connection from the Arduino to the w5200. Insure you have a good ground connection between the two devices.
There MUST BE a good ground connection between the Arduino and the w5200, despite the power supply used on each device. If there is one digital signal or data line between the devices, there must be a digital ground.