Uno vs. Mega using a Sunfounder W5100 shield

Hi,

I've have a project that uses an Arduino Uno with a Sunfounder W5100 ethernet shield and has been working just fine for a long time.

I need to add some programming which will exceed the memory of the Uno, so I want to swap in a Mega. Doing this just to get more memory - don't need any other Mega functions.

Here's my problem: I download the same sketch that works fine on the Uno into the Mega, add on the W5100 shield, power it up, and the eithernet connection does not come up. The power light on the board lights up, but activity lights on the board don't light up, and the ethernet connection light on the jack doesn't light up.

In order for it to work, I have to hit the reset button on the Mega - then all is fine.

The same setup on the Uno powers up just fine (never need to hit reset), but on the Mega, I have to hit the reset switch in order for things to work.

In case it was a power issue, I connected a good supply to the power jack on the Mega instead of powering by USB - no difference.

Same sketch (haven't made the updates yet). Same W5100 board. Same connections.

The sketch runs fine otherwise (I can tell by status LEDs that are part of the project, but the W5100 board doesn't initialize with hitting reset on the Mega after a power up.

Is there something different about the Mega (as a simple substitution for the Uno without using any additional Mega capability) that I'm missing?

Thanks.

On the Sunfounder Wiki, the example they show of the W5100 is being used on a Mega 2560
http://wiki.sunfounder.cc/index.php?title=Ethernet_Shield_W5100

As far as I can tell the interface uses the SPI pins on the ICSP header to do the ethernet connections.

Marsha

I looked at their site and all indicates it should work.

The interface between the Mega and W5100 also works once it initializes, but the problem seems to be at power-up. I don't think this has to do with the SPI pins (unless you know something that I don't, which very well could be the case).

Is there something about the timing of the Mega when it powers up that's different from the Uno?

but the problem seems to be at power-up

So this only happens the first time power is applied to the board, either by USB or VIN/Barrel Jack? (And not after uploading the sketch?)

Correct - it only happens when applying power to the board the first time. To get it to work, I apply power to the board, then hit the reset switch on the Mega, and the W5100 shield initializes.

The power supply decoupling capacitors maybe different on the other board. Sounds like your supply is having trouble with the in-rush current of powering the W5100.

The power supply decoupling capacitors maybe different on the other board. Sounds like your supply is having trouble with the in-rush current of powering the W5100.

I thought about that in case the power requirement for the Mega is more than the Uno.

I tried a 9V 1A supply via the power connector and it did the same thing.

Seems pretty strange - not sure there's going to be an answer.