I bought a Chipdot Ethernet shield from Amazon. It does not have any MAC address on it. I connected this shield to an Arduino Uno. I tried to run the DHCPAdressPrinter code from Ethernet library on it, using the default MAC address of this code. And Serial monitor shows

Failed to configure Ethernet using DHCP

I have tried all the MAC IDs one by one as suggested on reviews but nothing worked. Is there any way to configure or assign a MAC ID to the Ethernet shield? Or is there are any way to know the Ethernet shield's MAC address?

Thanks in advance.

1 Answer 1


The W5100 chip doesn't have a mac address by itself. You can assign any mac address to it that you want. With Ethernet.begin(mac); you assign the mac address to the W5100 chip.
The official Arduino Ethernet shield comes with a paper with a unique mac address. That is a nice service, but that is just a number, the Ethernet shield hardware is without any mac address.

There has been complaints about wrong resistor values near the ethernet connector. Can you read the numbers on those resistors ? They should be labeled as "510" and not as "511" : Arduino forum about ethernet resistors.

The Ethernet Shield uses more power than most other shields, and the W5100 can get pretty hot. Do you have enough power ? Is the 5V pin still above 4.5V ?

It is possible that your router does not accept the old W5100.

If the resistors are okay, I suggest to try an example with both mac and ip: Ethernet.begin(mac, ip);

  • 1
    I have checked the resistor which has 4 pin and placed on backside of RJ45. This resistor labeled as "511". I also checked the voltage on 5V pin multi meter display shows 3.76 volt below 4.5 volt but the IC W5100 getting too much hot. Jun 28, 2017 at 10:01
  • 1
    That means you have a shield with wrong resistor values. That link to the Arduino forum shows how to add resistors to get the desired value of 50 ohms, or else try to return the shield. The 3.76V is too low. Find a better usb cable or power the Arduino board with a power supply of 7.5V to the power barrel jack. The W5100 does get hot, often too hot to keep a finger on it. Others say that it is "normal", but I have added a heatsink to my W5100. Would you consider buying an Ethernet Shield with the new W5500 ? All you have to do is include ethernet2.h instead of ethernet.h in your sketch.
    – Jot
    Jun 28, 2017 at 12:39
  • okay I will look how to change resistor to get desired value. It's not power supply problem.. Arduino uno giving correct voltage from it's 5V pin but whenever I attach this shield the voltage goes down to 3.76 volt. the temperature of W5100 is above normal but not too hot to touch it. still I have not decided to buy new shield. have faced the same problem with your shield? Jun 29, 2017 at 4:22
  • No, my Ethernet Shield has the good resistors. The Arduino 5V pin should still be near 5V when the Ethernet Shield is attached. It might work with 3.76V but that will be very unreliable. You really have to fix that. Perhaps the low voltage is the problem ! If your Ethernet cable is short and your router is not too picky, then the ethernet might work, even with the wrong resistors. In my project I have a DC-DC converter to power everything, so I have more than enough power.
    – Jot
    Jun 29, 2017 at 5:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.