Direct connection of Wiz550io to Arduino Uno -possible?

#1

Complete arduino newbie here but I have a starter kit (Flex) an Arduino Uno board and an wondering if I could use a WizNet550io, to ethernet enable it. My question is whether these two items can be connected directly together or whether a shield is absolutely essential. If it is possible, can anyone point me in the right direction for further info.
Thanks,

James

#2

Yes It is possible. I have done exactly this. Connect as follows:
J1
1 Gnd
2 Gnd
3 MOSI Arduino pin 11
4 MISO Arduino pin 12
5 SCLK Arduino pin 13
6 SCSn Arduino pin 10
7 3V3
8 3V3
J2
1 3V3
2
3
4
5
6 Gnd

I left the remaining unconnected, Although I’m sure I should need them connecting, but it did let me do some of the Arduino examples after I’d updated the Ethernet library as done here:

wizwiki.net/wiki/doku.php?id=osh … :updatelib

I added the following line to w5100.h
#define ARDUINO_ARCH_AVR
and uncommented the
#define WIZ550io_WITH_MACADDRESS
but this shouldn’t work as far as I’ve looked into it (which isn’t very far at all…)

Hope this helps

Chris

#3

Hi,
I was already tested Arduino_Library for W5500. It worked fine.

Can you more explain your problem more detail?

Thank you.

#4

Without the ARDUINO_ARCH_AVR define in w5100.h I get the following errors:

C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In member function ‘void W5500Class::init()’:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:29: error: no matching function for call to 'SPIClass::begin(int)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:45: note: candidates are: static void SPIClass::begin()
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:34: error: no matching function for call to 'SPIClass::setClockDivider(int, int)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:50: note: candidates are: static void SPIClass::setClockDivider(uint8_t)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:35: error: no matching function for call to 'SPIClass::setDataMode(int, int)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:49: note: candidates are: static void SPIClass::setDataMode(uint8_t)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function ‘static uint8_t W5500Class::write(uint16_t, uint8_t, uint8_t)’:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:116: error: ‘SPI_CONTINUE’ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:119: error: no matching function for call to 'SPIClass::transfer(int, uint8_t&)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function ‘static uint16_t W5500Class::write(uint16_t, uint8_t, const uint8_t*, uint16_t)’:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:136: error: ‘SPI_CONTINUE’ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:143: error: no matching function for call to 'SPIClass::transfer(int, const unsigned char&)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function ‘static uint8_t W5500Class::read(uint16_t, uint8_t)’:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:159: error: ‘SPI_CONTINUE’ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:162: error: no matching function for call to 'SPIClass::transfer(int, int)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function ‘static uint16_t W5500Class::read(uint16_t, uint8_t, uint8_t*, uint16_t)’:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:179: error: ‘SPI_CONTINUE’ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:186: error: no matching function for call to 'SPIClass::transfer(int, int)'
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)

#5

Uno is Atmel AVR based board so you have to enable the “ARDUINO_ARCH_AVR”

#6

Yeah, the real problem is the fact this is not in the tutorial for the Arduino, so people who haven’t spent time looking through the library will not know why it isn’t working.

Chris

#7

I found same problem in Arduino IDE 1.0.x, try Arduino 1.5.x with https://github.com/Wiznet/WIZ_Ethernet_Library
I’ll fix the problem in IDE 1.0.x and get back to you.

#8

Chris,

I fixed the problem and upload it on https://github.com/Wiznet/WIZ_Ethernet_Library
:smiley:

#9

Do you need to connect all the GND and 3V3 pins to Arduino, or is one of each enough?

#10

One is enough for testing but you’d better connecting all the GND and 3V3 pins to Arduino for manufacturing.

#11

I got this to work satisfactorily. Part of the trick seems to be, when you substitute the new Ethernet Library for Wiznet for the standard Arduino R3 library is to copy the new directory over the old one, and choose “copy and replace” (Windows 7) every time that dialog box pops up. I could upload the Arduino IDE I used for others if someone would let me know where that location would be on the Wiznet site.

#12

https://github.com/Wiznet/WIZ_Ethernet_Library This is W5500 Ethernet library for Arduino.
Using this, you can use W5100(official Arduino Ethernet shield), W5200 and W5500(WIZ550io).