Go Down

Topic: Ethernet sheild(W5100) not working with Uno (Read 43671 times) previous topic - next topic


Apr 06, 2016, 06:23 pm Last Edit: Apr 06, 2016, 06:33 pm by duinolic
It seems that there are many clones with wrong resistors. Almost all photos of this shield in ebay, have the 511 (510 Ohm) resistors.

I confirm that soldering of two 100 Ohm resistors at pins 1-2 and 3-6 resolves the problem with faulty shields

Thank you k1ggi you save me from hours of troubleshooting.....


having the same problem with a couple of W5100 eth shields (mounting 551 resistors instead of 550 ones) and I solved JUST soldering two 100 ohm resistors as indicated by K1gg - thanks! -  on the bottom of Rj45 connector (pins 1-2 and 3-6) WITHOUT unsoldering the existing 551 resistor. The shields seem working but TX and RX LEDs are very brigth when on and I wonder if that could cause any damage (to LEDs or worse to the LAN ends:SWITCH and ETH SHield)


Hello Dimitris,
Here is a photo of the terminations applied to the HanRun connector.

Hey, I resolved my problem following this. Thanks a lot :) :) Took 3 of my days :/ You saved my project.

I was working with HanRun 16/02 Ethernet Shield. I was facing the same problem that when i was connecting to the switch i couldn't ping on the ip that i set for the shield while it worked fine when i connected it on my pc. I removed the 511 and connected the 47 ohms resistor to the pins as suggested :)


Oh my god, I cant believe it! it finally woks! Spent 3 days to get this thing working and I never thought the resistor array would be the problem even though I read this thread. I thought its a problem with setting up a DHCP server since I used a cross over cable and my PC to connect the shield without a router.

I have finally replaced the 511 resistor array with 47R resistors and it works like charm!

Thank you very much everyone! you guys saved my time and my project!


Just registered to confirm the 100ohm resistor solution works and say thank you that info  :D


I faced the similar problem.  First I verified code by connecting arduino with pc and sharing internet with it.  Then tried connecting it directly with the router.  Unfortunately it didn't work out.  So got your suggestions and added two 100 ohm resistor.  Now its working completely fine.


Oct 23, 2016, 12:28 pm Last Edit: Oct 23, 2016, 01:56 pm by anton1o

Can somebody to prompt which type of SMD need i to book for excange this "511" net chip and how it must be marked? Or just place the pic of properly mounted SMD on this device?
(I guess, that it's 1206 package,  marked by 470 or 47R0, but afraid to mistake)

And one more thing - can I  just load the sketch to my Arduino Uno? or need something else?
Because, when I just compile it I have some error messages.
Code: [Select]
G:\distributives\arduino_sources\arduino programs\arduino-nightly-windows\arduino-nightly\libraries\Ethernet\src\utility\socket.cpp:365:19: warning: unused parameter 's' [-Wunused-parameter]

 void flush(SOCKET s) {


Oct 23, 2016, 02:08 pm Last Edit: Oct 23, 2016, 03:07 pm by anton1o
ANd i have error message at the end of compiling, in spite of I checked "AVR ISP" & "Arduino as ISP" in    / TOOLS / PROGRAMMER  section.

Code: [Select]
Using library SPI at version 1.0 in folder: C:\Users\vasya1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.14\libraries\SPI
Using library Ethernet at version 1.1.1 in folder: G:\distributives\arduino_sources\arduino programs\arduino-nightly-windows\arduino-nightly\libraries\Ethernet

Sketch uses 13,636 bytes (42%) of program storage space. Maximum is 32,256 bytes.
Global variables use 920 bytes (44%) of dynamic memory, leaving 1,128 bytes for local variables. Maximum is 2,048 bytes.

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

Can somebody advice, how to properly specify programmer in sketch (in which line) or where?

Because after compiling, there are "UPLOADING..." message, and never sop uploadig process , even within 5 minutes.



Not really a cure, but mine wouldn't work with my TPLink desktop switch.
It worked when I connected it directly to my TPLink Router.
But my Arduinos (Uno plus HanRun Ethernet shield) weren't recognised, however my Raspberry Pi's (3 and 1) both worked fine.

I decided to try an old Intel Hub (note Hub against Switch) and it worked!

My assumption is that this old Hub is less sensitive to the impedence on the Ethernet card.
It could even be the case that since the Hub is more "crude" then it accepts the mis matched impedence or maybe the Ethernet shield just doesn't do all of the handshaking that a Switch requires?

Anyone else got both a hub and a switch to try this out?


I got one of these Cheap Chinese Arduino Clone with the 511 resistor

Happen to me that is was working Fine at home , and not at my job

Force the router at my job to 10mb HalfDuplex or 10mb FullDuplex, and it is now working fine

100mb HalfDuplex or 100mb FullDuplex is not working at all

Seem to be related to this resistor Network too

Looking at Page 10-11

Seems possible to force speed at 10mps with pins  OPMODE2-0   63-64-65

Not that hard to put a soldering blob at these 3 pins to gnd

Could be another easyer work around . but not as good as giving the right resistors

Thank for Sharing !


Im sooo glad of having found this thread...
This is my story. We're preparing a prototype for a client. When it's finished (almost now) he needs 9 of them
It involves an Arduino Mega, Ethernet Shield, Relay module, RTC, etc...
It all worked flawlessly in my home during development for weeks.
I took it to my office to test it integrated with the server, and after working fine for a minute, we had to reset it...and never ever during the day it worked again.
Ok, the Eth module was a cheap clone, had the bottom side pins (that fit into the arduino) hand-soldered, etc, so it didn't really look that pretty... I assumed it was dead... although all the lights were blinking

So I came back home yesterday, happen to plug it all in my house network...and it works. Absolutely at a losssss here

So after some random google searches, I come to this thread...Check my board and it has a 511 resistor array. I guess different switches have different behaviours with such a wrong terminator resistor.

I will try to get a couple of 100Ohm resistors and see if it works again in my office.

Thanks to everyone involved in finding out this issue here!
I was ready to start buying original boards...Maybe not now.

Will get back here wirth results when I solder the new resistors
Thanks again


Thank you. The tip of the two 100r resistors saved my ethernet shield.


Thank you so much for telling about the 511 resistor array issue.
I was going crazy about my non-working shield before I read this.
Had a couple of old large PCB's from where I could harvest some 470 arrays (could not find any 510).
Switched the 511 to an 470 and now everything works like a charm!!!!  :)
Once again, THANK YOU!!!


Apr 11, 2017, 07:25 am Last Edit: Apr 11, 2017, 07:37 am by Thedude7
I can confirm k1ggis method is working!

I bought a Chinese ethernet shield on Taobao and could not get it to work. I saw after reading this thread, that i had the 511 resistor on my board. So i did as k1ggi did. Soldered 2x 100ohm resistors to pins 1-2 and 3-6. Works perfect with the DHCP address printer example ethernet sketch. I am connected to a Tp-link router, and i am using a arduino Mega, also chinese clone. Thanks!!!!!!

Image comes from k1ggi! Thanks for the help k1ggi, you have helped many people.

The Ethernet twisted-pairs are transmission lines that really need 100 ohm differential termination, 2 each 49.9, per the reference schematic, or 2 each 51 would be ok too. But without proper termination, it is easy to be on (or beyond) the fringe of workability. On the fringe, one cable might appear to make things work, where another doesnt.
As noted, the problematic boards are coming with 2 each 510 ohm, per measurement and per their 511 marking, 51*10^1.
An easy and satisfactory solution is to come up with a couple of 100 to 120 ohm resistors to tack across the HanRun connector pins. One goes between pins 1 and 2, the other between pins 3 and 6. Leave the bogus resistor pack in place, it works to supply the necessary bias. No need to fiddle with sourcing and changing the tiny pack.
I just received additional boards from a US ebay vendor whose picture showed 510 marking (51 ohm), but 511 on the batch received. Added the discrete resistors (100 ohm on hand) and the Ethernet waveforms are close to picture perfect.
The built-in 75 ohm resistors in the HanRun mag jack are not differential signal terminating resistors, they are involved with common-mode behavior, tied to the center taps of the transformers.


The two 100ohm resistors did the trick and the board is working perfectly now. I was getting really frustrated trying to figure out what was going on (or not going on :) )

Mine were marked HanRun HR911105A 17/02

The last section seems to be the production date "YY/MM" so it seems it may be an ongoing problem.

I sent a message back to the seller about the incorrect component and it will be interesting to see what the response is.

Go Up