W5200 Module

Replacing the dated w5100 controller on the ethernet shield and arduino ethernet with the w5200 which supports sleep mode for one and is an overall better chip

do you have a datasheet link?
or comparison site?
pro/con?

Product Webpage is here
http://www.wiznettechnology.com/sub_modules/en/product/Product_Detail.asp?cate1=5&cate2=38&cate3=0&pid=1144#tab

The W5200 has support for 8 simultaneous sockets vs w5100s 4 sockets
W5200 has Powerdown mode and wake on LAN
W5200 is a 48 pin package
W5200 has Internal 32Kbytes Memory for Tx/Rx Buffers vs 16KB for W5100.

From my testing it appears to gain a DHCP lease faster then the w5100 too.

I have managed to come up with a set of schematics. If anyone wants to have a look maybe correct any errors there may be. Feel free.

Can the W5200 be used to replace existing W5100 chips on boards? Or are there package/pinout/other incompatibilities?

Thanks!

Please do me a couple big favors when you design that board.
Put a 10K resistor from +5v to digital pin 4
Put a 10K resistor from +5v to digital pin 10.

Thanks in advance.

add: Ok, a few big favors. Please put a label on the silkscreen denoting digital pin 4 as "SD CS" and digital pin 10 as "ETH CS".

Thanks again! :slight_smile:

Please put a label on the silkscreen denoting digital pin 4 as "SD CS"

Better make the CS pins selectable .... (at least for the SD as ethernet is fairly standard)

robtillaart:

Please put a label on the silkscreen denoting digital pin 4 as "SD CS"

Better make the CS pins selectable .... (at least for the SD as ethernet is fairly standard)

That would be good. I would vote for W5200 CS on digital 10, and SD selectable, since you can easily use SD.begin(x) to reassign the SD CS pin.

Whichever way you do it, insure both Slave Select (CS) pins are pulled high (disabled) with 10K (or greater maybe?) weak pullup resistors. That way you won't have to disable the SPI SS pins in setup. They will be disabled by hardware. You would need to assign the CS pin as an OUTPUT and set LOW before you could enable either SPI interface. That would prevent setup collisions.

add: That way we can quit sprinkling the magic pixie dust and go back to eating salted peanuts. :smiley:

Hi,
Nice to see some feedback. Terryking228 no they aren't. The W5200 package the W5100 has considerbly more pins. I will take on board the idea of the selectable SD ss pin. Any ideas for how? A rotary switch maybe? Put the pullups on the switch. Also by disabling them in hardware would that not cause problems as you can't enable them in software? I haven't ever tried it with hardware.

The means of selection would be up to you, but .1" pins with a jumper is reliable and easy. You don't need a bunch of options, just 2 or 3. Maybe pins 4 and 5?

The weak pullup resistors on the SS pins only "disable" the SPI interfaces while the SS pins are set as INPUT (default startup condition). When the pins are set to OUTPUT during the SD.begin() and Ethernet.begin() function calls, then the digital pin output will be able to override the weak pullup resistors.

the W5100 has considerbly more pins

The 5200 is SPI-access only (supposedly improved "high speed spi"), while the 5100 also has a parallel interface that (in theory, anyway) supports much higher transfer speeds between the wiznet and the host cpu.

SurferTim. That makes sense. Will add that. I was thinking of using a rotary switch for the selection. I don't really like jumpers. (always manage to lose them).

AlsO I have never seen the 5100 wired With parallel

As long as you are at it, insure you connect the w5200 pin 45 (pwdn) to a digital pin (pin 9?) on the Arduino. Then we can put the w5200 in "power down" mode. Maybe a weak pulldown resistor and a jumper/switch/breakable trace on that would be wise. On the power down pin, power down mode is HIGH.

Does the w5200 shield from ekitzone use the pwdn pin? If so, maybe you should use that pin on the Arduino to set some type of compatibility.

It seems like I am building a substantial wish list. :slight_smile:

edit: I found a closeup of the ekitszone w5200 shield. It uses digital pin 5 for the pwrdn pin and has what appears to be a breakable trace.

Hi All!
I tried to connect this module to Mega2560. It does not work. With Nano328 all right, but at mega it is not respond for pings, does not receive IP by DHCP, etc. No compilation errors. Sometime it set data rate significantly slower.
Maybe someone already had a similar problem?
IDE 1.0 and 1.0.1
Tried libs:

http://code.google.com/p/arduino/issues/detail?id=898
http://www.wiznettechnology.com/Sub_Modules/en/product/product_detail.asp?Refid=491&page=1&cate1=&cate2=&cate3=&pid=1161&cType=2
Boards: Mega 2560v3 and SeeeduinoMega (result identical)
Module WIZ820io R 1.0 ( http://www.wiznettechnology.com/Sub_Modules/en/product/Product_Detail.asp?cate1=&cate2=&cate3=&pid=1161#tab )
pins:
SS = 53 / 10
MOSI = 51
MISO = 50
SCK = 52
+3.3Vcc, RST

where to dig?

Thx for advice

PS: I am sure that the problem is easily solved because http://www.ebay.com/itm/EKitsZone-Ethernet-Shield-Wiznet-W5200-EKitsZone-Arduino-MEGA2560-R3-/261038306561?pt=LH_DefaultDomain_0&hash=item3cc7187501

The ethernet shield data line are on the ICSP connector.

pins:
SS = 53 / 10

I don't know what that means. It should be only digital pin 10 if you are using the ethernet library.

SurferTim:
The ethernet shield data line are on the ICSP connector.

pins:
SS = 53 / 10

I don't know what that means. It should be only digital pin 10 if you are using the ethernet library.

SPI lib uses 10 on UNO and 53 on Mega ?
In any case I tried 53 and 10 also

Digital pin 10 is the w5100/w5200 Slave Select on both Uno and Mega. Insure you have the SPI data lines connected correctly.

I can echo that: make sure you have not confused MISO/MOSI - triple check, and check again, and check it against other designs. More than one person has got them backwards, as their sense is sometimes different from chip to chip.

Also, please place jumpers for the CS, some clones need to use other pins for these. Only one jumper needs to be populated in most cases, so not a biggy, but better than me having to cut traces.

Thanks!

David

Hi guys
Sorry for sporadic replies, exam period and all ;(
I am using the module with a 2560 at the moment.
The pinout I am using is:
MISO - 50
MOSI - 51
SCLK - 52
nSS - 10
Make sure you give it 3.3V Power
Make sure you have the updated libraries - http://www.wiznettechnology.com/sub_modules/en/product/Product_Detail.asp?cate1=5&cate2=42&cate3=0&pid=1161#tab

I can't remember if there were any other changes I had to make to the library, because I had some error messages thrown up but I can't remember what they were. Let me know if you have any other problems.

Hi All,

I've some code adapted for W5200 but I'm still waiting for the boards to arrive, in the next days I will leave the country for some work related activities and I would like to know if the code is working or not.

Is there someone that would like to test that code for me, is just a matter to load, ping and access with an Android app. If interested, please send me a private message.

The code to be tested is part of the Souliss project.

Thanks,
Dario.