W5500 ethernet not working

Status
Not open for further replies.

markb

Active member
I can't get this W5500 ethernet module working with Teensy. I'm hoping I just setup something wrong. Can anyone spot a problem? I've tried it with the WebServer example and the TimeNTP example, and both can't find the adapter, nor do any of the LEDs on the W5500 light up. I've tried adding the following initialization code to the beginning of setup in both programs, and I get the same result:

Code:
pinMode(9, OUTPUT);
digitalWrite(9, LOW);    // begin reset the WIZ820io
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);  // de-select WIZ820io
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);   // de-select the SD Card
digitalWrite(9, HIGH);   // end reset pulse

I also tried adding a call to Ethernet.init(10) before Ethernet.begin(), but it still doesn't work.

In the case of WebServer, Ethernet.hardwareStatus() returns EthernetNoHardware, which triggers the error. For TimeNTP, Ethernet.begin() returns 0.

IMG_4666.jpgIMG_4667.jpgIMG_4668.jpgIMG_4669.jpg
 
I can't get this W5500 ethernet module working with Teensy. I'm hoping I just setup something wrong. Can anyone spot a problem? I've tried it with the WebServer example and the TimeNTP example, and both can't find the adapter, nor do any of the LEDs on the W5500 light up.

Maybe a dead W5500. is that a PJRC ethernet adapter or ? (product URL, schematic?)
With just 3.3v and GND to W5500 (WIZ850io) and a live ethernet cable in the RJ45, you should see a solid green LED on the RJ45 and a flashing yellow LED. Check your soldering and check voltages with a meter. If you can't get the LEDs to light up, you're not going to have any luck with any of the examples.
 
Which Teensy are you using? I can't see it from the photos.

Also, which version of the software are you using? In Arduino, click Help > About (or Arduino > About on Mac) to check.

I have that same W5500 module (the cheap clone with green PCB - genuine Wiznet one has a yellow PCB), so with these 2 pieces of info I could try the same TimeNTP test here to check if it works.
 
Curious does the Ethernet module have a link light when you connect it to a switch?

The reset code is more for the w5200 but I still have it for my boards that use the w5500 chip and this is what I have used.

correction the reset code should also be used for the w5500 after confirming on the wiznet forum. One difference in my code is that i use a dealy(10) since I dont have the reset chip. If I understand correctly the adapter boards reset chip should pulse the reset line correctly without the need for a delay, but it may be worth trying adding it in to see if it will help.


Code:
//WIZNET RESET AND INITIALIZE
    pinMode(9, OUTPUT);
    digitalWrite(9, LOW);   // reset the WIZ820io
    delay(10);
    digitalWrite(9, HIGH);   // reset the WIZ820io
 
Last edited:
Maybe a dead W5500. is that a PJRC ethernet adapter or ? (product URL, schematic?)
With just 3.3v and GND to W5500 (WIZ850io) and a live ethernet cable in the RJ45, you should see a solid green LED on the RJ45 and a flashing yellow LED. Check your soldering and check voltages with a meter. If you can't get the LEDs to light up, you're not going to have any luck with any of the examples.

It’s this one: https://www.pjrc.com/store/wiz820_sd_adaptor.html

It did have a live Ethernet cable attached, yet none of the LEDs lit up at all. I’ll check the voltages when I have a chance.
 
It’s this one: https://www.pjrc.com/store/wiz820_sd_adaptor.html

It did have a live Ethernet cable attached, yet none of the LEDs lit up at all. I’ll check the voltages when I have a chance.

Since you have the RJ45 unit attached via female header, you could pull it out and test it standalone with just 3v3, GND and a live Ethernet cable in RJ45. The LEDs should light up .... (at least it does for Wiznet yellow PCB version that i have). if LEDs light up with W5500 module detached, then the problem may lie with the PCB shield and/or with the soldering
 
So I checked the voltage between the ground and 3.3V pins on the W5500, while it was connected to the Teensy and the Teensy was powered by USB. It was only about 2.3V, which seems like a problem. I checked the Teensy's VIN pin, with the W5500 removed, and it's only 1.8V! When I plug the W5500 back in, VIN slowly drops to 0.5V. Super strange! The Teensy's 3.3V pin does measure at 3.3V. I'm not sure how this makes any sense. (Since USB is the only power source, VIN should be the USB voltage, and there's no way the 3.3V pin could be at a higher voltage than VIN, right?)

When I hookup just the W5500 power (3.3V) on a breadboard, it still doesn't light up, though.

I'm using the W5500 pinout on this page: https://www.pjrc.com/store/wiz820_sd_adaptor.html
 
Update: the W5500 does in fact light up when powered on a breadboard. I had a grounding problem before. (I had the W5500 connected to the Teensy's AGND pin rather than the GND pin. Doh!)

Unfortunately, that problem only affected that one test. The weird voltages in my previous post were measured with the correct ground.
 
Solved! I had completely neglected to solder two of the pins on the double-sided header to the Teensy! (I feel pretty dumb, right now!) Those pins were VIN and AGND. So that pretty much explains everything.

The WebServer example now works completely! The TimeNTP example has some problem connecting to the server, but it does get and DHCP address, so that's encouraging. (EDIT: It was just a matter of finding a valid NTP server. The ones in the example don't seem to work. I ended up using one of the addresses from an DNS lookup of time.google.com.)
 
Last edited:
Status
Not open for further replies.
Back
Top