Giga R1 and Ethernet Shield 2

I just bought my first Arduino board, which is Giga R1 and also Ethernet Shield Rev2.
But now just noticed that this board is not supporting Ethernet Shield, on official page, only relay or motor is working on -> on the end of page https://docs.arduino.cc/hardware/giga-r1-wifi
Do you think there is a way to run anyway this ethernet shield rev2 on this board?
Of course I mean official shield W5500, not a clone.

the shield is electrically compatible so you can put it on the Giga.
try the WebClient example of the Ethernet library. add Ethernet.init(10) to set the right CS pin.

Thanks, I have starter with chat server and it is working now with statement.

By the way I have question, may build a stack of shields and all of the will work without any issues? I mean on giga I pul put Ethernet shield, later on it motor or relay shield...

no. you have to check which pins the shields use to avoid conflicts

Hello! The Ethernet Shield 2 and the 9-Axis Shield are compatible with GIGA R1 – we just forgot to list them in the documentation page (will be fixed asap).

Regarding the ability to stack multiple shields, I recommend searching this forum for the combination you're interested in as you'll find many threads. Unfortunately, the Ethernet Shield cannot be used at the same time as the Relay Shield or the Motor Shield because they share the same pins.

1 Like

Ethernet Shield 2 works fine :wink:
BUT
Official Ethernet libraries have a issue: you cannot set static IP; DHCP works fine.
You could use Etrhernet2 or (better) download last Ethernet (at the moment 2.0.1) and into Ethernet.cpp modify this method:

void EthernetClass::begin(uint8_t *mac, IPAddress ip, IPAddress dns, IPAddress gateway, IPAddress subnet)

change

	W5100.setIPAddress(ip._address);
	W5100.setGatewayIp(gateway._address);
	W5100.setSubnetMask(subnet._address);

with

	W5100.setIPAddress(ip.raw_address());
	W5100.setGatewayIp(gateway.raw_address());
	W5100.setSubnetMask(subnet.raw_address());

this worked for me :wink:
ETHS2

Thank you for reporting this! We just released a new version of the Ethernet library (2.0.2) with this fix applied.

1 Like

It works for me, however I use IP address from my router, so I deleted those lines with IP, gateway and mask.

Hello. I did everything like you said (And I know you are right) but I am trying a web server example and I can ping the ip but it will not load in a browser. I have done this many times with Uno, Mega, ESP32, etc, but I just can't see what is wrong? It has to be something with the Giga I believe. Any help would be appreciated.

Hello @davenardella
I am using W5500 on SPI1 of Arduino GIiga R1 WiFi, and none of the libraries or examples work because the Giga's SPI default pins are not 10, 11, 12, or 13. Please advise how to make the W5500 shield work on the SPI1. Thanks.

the shield doesn't use pins 10 to 13. the Ethernet library uses the SPI library which is board specific and knows which pins to use.

Thanks for your replay @Juraj. I need to use the W5500 on the following pins of the Giga R1 Wifi
(CIPO) - D12
(COPI) - D11
(SCK) - D13
(CS) - D10
Is that possible? Thanks.

the Ethernet shield connects to the SPI header. for CS add Ethernet.init(10); to setup()

Thanks for your reply @Juraj . That's not working for Aruino GIgia, the default SPI is not pins 11,12,13 as Arduino Mega board.

on Mega SPI is not on 11, 12, 13.