Cannot receive ethernet packets


I created a prototype ( a new PCB) with W5500 and Atmeg 2560. I have the SPI communication where I was able to set a mac and ip address. But somehow W5500 can’t receive any ethernet data passed by PLC. When I run code on a arduino ethernet shield with atmeg2560 I can receive the data assuming my firmware is correct. Here are few mistakes I

made in my prototype

  1. Length of TX± not same (also with RX±)
  2. Oscillator with lower gain than the recommended value of 6.983 (6.1243 < 6.983)
  3. I left a ground plane under RJS-45.

But I do get the SPI connection correct with atmeg2560 , even with a lower gain oscillator. When I connect the ethernet jack I get the LINKLED as high, which is given in the datasheet as “LINK is not established”. Now, I’m making a production run but after correcting all those mistakes. I need to know if there is anything I’m doing wrong in Hardware before I make production pcb. I’ve attached my schematic.



Hi gthind

Your circuit is not expected to be problematic. Your problem may be to check the PCB Gerber file.

Can you upload the Gerber file here? The picture is fine, too.


Hi Scott,

I just started working on the new layout, but as reference I’ve an R&D board file. Which I think is incorrect according to W5500 layout design rules.

Thanks, gthind

I think it’s very bad.

Please refer to the URL below.

Thank you

Hi Scott,

I did the PCB layout for that board again with W5500 IC. I kept the tx+ tx- traces distance 10mil.

Dear gthind

I think you designed it well. What layer is this PCB?

Do you have any questions?

thank you.

This is 4 layer PCB with area underneath RJ45 completely isolated. Thanks, GT