WizNET WIZ5500io with Arduino Nano

Hello!

What are the pin connections between Nano and WIZ5500io boards when there is already a device connected to the Nano using SPI hardware? Using my understanding of the datasheet, I tried the following:

Nano W5500 Description
D10, SCSn SCSn, J1.6 SPI Slave Select
D13, SCLK SCLK, J1.5 SPI Clock
D11, MOSI MOSI, J1.3 SPI Master Out Slave In
D12, MISO MISO, J1.4 SPI Master In Slave Out
D7? RDY, J2.2 Asserted to low after power on
RST RST, J2.3 Initialize chipset
INT INT, J2.5 Interrupt
3V3 3V3 3.3 V DC power supply
GND GND Ground

However, I don’t know what the connections are from WIZ5500io to Nano for the following WIZ5500io pins - RDY (on J2.2) & INT (on J2.5).

Any guidance will be appreciated.

Thanks.

Hi, baqwas

D2 - INT
D7 - RDY

And I think it could be helpful for how to use nano + wiz550io.

Hello @lawrence,

Many thanks for fielding this request. It was the article you linked that led me to purchase multiple quantities of WIZ550io earlier.

Using an MKR ETH Shield and discovering the name Wiznet (owing to challenges in using a “responsible” MAC address - I’m old school) spurred my interest in doing the same with Nano. In a specific Nano situation, I had an OLED (SPI) and u-blox GPS working where I used the WIZ5500io board using the equivalent pin connections you noted. Even after removing the two “sensors” and using the same pin connections (as you have kindly enumerated), the sketch failed to detect Ethernet hardware.

I dug into the article further and noticed that I should be using the Wiznet Ethernet library. When I looked at their GitHub site, I noticed (I may not have been careful) that the files had not been updated for several years. The Arduino “official” libraries are more recent.

My question to you is: should I use the “older” libraries (i.e. Wiznet) and replace existing Arduino libraries (which is what the Wiznet documentation states)?

Of course, I have other uses for the Arduino Ethernet library and hence my hesitation in replacing it. But a set of #define statements (in the Wiznet examples folder) clearly implies that without the use of these statements, the code will not be able to detect the WIZ5500io board which is the response I get after uploading any related sketch with the pin connections you have described. I understand that I have no choice but to replace (if I have to use the pin connections that you and others have recommended) the Arduino library. Sorry for the long drawn out rationalization but perhaps I’ll have to figure out how to have my cake and eat it too.

Thanks again.

Kind regards.

Hi, Matha Goram

Thank you for email me.

Yes, as you noticed, Nano has one spi. So you have to use it only for wiz550io.

There is a way to use iolibrary from WIZnet, but there is already arduino ethernet library deploied.

And it is managed arduino ethernet library officially well.

this is only for W5500 (https://www.arduino.cc/reference//en/libraries/ethernet2/)
this is for W5x00 (https://www.arduino.cc/en/reference/ethernet)

W5500 shield and WIZ550io has no different. only you need to connect SPI interface and control it.

But as you know, the pin map should be checked.

Any questions and feedback, please email or make post on WIZnet Forum.

Thank you,

Lawrence

Outlook-rrkx0mv5.png

Hello @lawrence,

Thx again. I followed your suggestion and installed the Arduino Ethernet2 library. However, I still cannot use the WIZ5500io board with a Nano. Please bear with me as I explain the issue(s).

I have a Nano and a WIZ550io on a breadboard. The connection between the two boards are based exactly on your recommendation (including the RDY & INT connections).

After installing the Ethernet2 library, I used the library example UdpNtpClient to test the connectivity. When the two boards are present, I cannot upload and sketch to the Nano because I receive an error message regarding sync error.

If I remove the WIZ5500io board then there is no error during code upload but, of course, this example is meaningless without any Ethernet connectivity that the WIZ5500io board is intended to provide. The initial section of the sketch is:

#include <SPI.h>
#include <Ethernet2.h>
#include <EthernetUdp2.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};

There is no explicit declaration (#define statements) for the WIZ5500io in this example sketch. I do not know if this omission wrong but it has less importance than being able to upload the sketch when the WIZ5500io board is connected to the Nano. My IDE settings are:

Board: Arduino Nano
Processor: ATmega328P (Old Bootloader)
Port: /dev/ttyUSB0

Do you have any other suggestion that I could try at my end so that the Nano can use the WIZ5500io board for Ethernet connectivity? Thanks.

Kind regards.

Hi, Matha Goram

Thanks for the try and feedback.

I am afraid if there is some ide or board issue.

Because even though any pin connected on nano, normally uploading process is not effected at all.

By the way, it is working? if you uploaded without ethernet, then you wire ethernet and power it again.

Could you share the error message?

And I hope you need to check the ide version, if it is the latest or not.

Or I am not sure, but it could be another option to change nano board to arduino uno board. (the Board setting on IDE)

I hope this problem will be solved soon and I will search for you.

Thank you,

Lawrence

Outlook-rrkx0mv5.png

Hello @lawrence,

I’m inclined to agree with you that the issue may lie with the version of the Nano board that I am using. I purchased this board from Amazon in bulk quantities. The manufacturer is Lafvin (sold by Amazon.com). The Nano board uses the Old Bootloader as I indicated in my earlier reply. Since I am no electrical engineer (and negligible knowledge in reading schematic drawings), I don’t want to be uncharitable but I fail to understand why in 2020 a company would be selling a part that obviously uses obsoleted firmware. It is not described in their product offering.

Anyway, back to the issue resolution as follows:

  • Disconnect everything except the Nano board
  • Upload code (that uses Ethernet2 library)
  • Code is stuck at Ethernet.begin function call (as proven by DEBUG statements)
  • Detach mini-USB connection on Nano board
  • Connect WIZ5500io board (I left the duPont wires in place previously)
  • Reconnect mini-USB to desktop
  • Press RST button on Nano board
  • Open Serial Monitor in Arduino IDE
  • Voila! The code is working!! :smiley:

Unfortunately, the steps have to be followed for every code upload. Just because the code starts working in the previous steps above, doesn’t mean that the subsequent code upload will work. It has never worked for me.

I used the TestUDPClient example for this trial and error. Owing to UDP, sometimes the message string is garbled (115200 may not be appropriate?) but I have the code working for over 24 hours without any blockage.

Unfortunately, without any refundable 3rd party guarantee, I am not inclined to purchase a “genuine” Arduino Nano for now. However, if you are positive (I need 100% assurance :laughing:) and you recommend it, I’ll give it a try. The other challenge I have is that I would like to attach and OLED display to the setup but based on your feedback (SPI already used by WIZ5500io) I may have to skip that. If I can get the u-blox NEO8M module (needs Rx and Tx only) then I will consider the exercise successful and complete.

Thank you @lawrence for not giving up on helping. I appreciate your efforts very much. Please keep me in mind if you come across any new developments with WIZ550io with Arduino (not just Nano) hardware. I would like to try out your recommendations. But, for now, I will live with this arrangement since I simply needed GPS for accurate time keeping in an outdoor scenario. Pluging/unplugging several times to get it going at the start (and then working without issue) helps me overcome the issue.

Kind regards.

P.S.
Your suggestion worked even though it is a hassle! :smiley:

if you uploaded without ethernet, then you wire ethernet and power it again.

Hi, @baqwas

I am sorry for there is no way to help you with downloading issue.

And if there is a room, you can try OLED. There are many types of OLED using other interface like UART, I2C. So, you can use it for your application. If there is left interface on nano board.

Thank you for check and try my answer. It was fun to me responding your feedback.

I hope your project will be done successfully :slight_smile:

Thank you,

Lawrence