Ethernet Shield on barebone Arduino?

Hello Arduino Forum, I'm looking for Information on how to hook up an ethernet shield to an Atmega328 Chip without the Arduino Board. Also I'm asking you to excuse my bad english :)

I'd like to water my Plants over the Internet and I don't want to waste my beloved Arduino Board to the system. The Problem as I see it is that the ICSP header, according to the Arduino uno schematics, is connected to an Atmega8U2-MU (which i'm guessing is part of the Arduino board) and i don't have this chip in my barebone-project.

Googling the subject brought me to http://zaujimave.info/arduino-nano-ethernet-shield-wo-sd/index-en.htm but i'm not sure if that works with an atmega328 too and i'm afraid that i will kill my board while experimenting. I tried to hook up the ICSP pins of the Shield like this: 1: D12; 2: +5V; 3: D13; 4: D11; 5: (nothing because i guessed i wouldn't need another reset button); 6: GND. The shield got power and also the LEDs indicated that there is an internet connection but i couldn't get a ping signal. Is there anything i did wrong?

I've read that Pin 4 and 10 somehow activate or deactivate the SD/Ethernet function - do i have to hook those up to the Shield? It also said something about setting them to output and HIGH to deactivate the corresponding feature but the information was ambiguous. Can somebody set this right for me please? (i'm not planing on using the sd slot) So does anybody know how to hook up the ethernet shield directly to the atmega328 the right way?

I got the shield for cheap on a flea market and i don't think it's an official arduino product - there's no prduct name written on it. All i can say is that it looks like this: http://kll.engineering-news.org/kllfusion01/downloads/ArduinoEthernetShield.jpg just without the Arduino TM logo on the upper left corner - cheap chinaware i guess so it maybe wasn't that good of a price as i was thinking while buying it :(

Thanks in advance!

The Problem as I see it is that the ICSP header, according to the Arduino uno schematics, is connected to an Atmega8U2-MU

I think you are misreading something. The ICSP header connects to pin on the ATMega328 chip.

You can ignore the ICSP header, and just connect pins 10, 11, 12, and 13, along with 5V and Gnd to your barebones Arduino. Also connect pin 4 if you intend to sue the SD card.

Googling the subject brought me to http://zaujimave.info/arduino-nano-ethernet-shield-wo-sd/index-en.htm but i'm not sure if that works with an atmega328 too

It does. The important thing to realize is that the Arduino pin numbers aren't the same as the ATMega328 pin numbers. 10, 11, 12, 13, and 4 refer to the Arduino pin numbers. You'll need to determine which pins on the ATMega328 that they correspond to.

I've read that Pin 4 and 10 somehow activate or deactivate the SD/Ethernet function - do i have to hook those up to the Shield?

Yes.

Great! Thanks for the quick answer! I’m going to try this right now :slight_smile:

edit:
Tried it and sadly it doesn’t work :frowning: The leds on the shield lit up like i plugged it directly on the arduino but i couldn’t ping it. The same code with the shield plugged on top of the arduino works. I’ll try to hook up all pins except for the icsp header - maybe tere’s another pin used instead of D10 or so.

Forget about the ICSP header, you only need that to put the initial Arduino bootloader on the ATmega328 and you can do that with the chip inserted in your UNO.

Many people build barebones Arduino to save cost and generally they omit the ICSP and instead put the pins on the board to attach an FTDI programmer. This can be removed when the board is deployed in it's final position and the FTDI programmer can be used again. The FTDI programmer is enough to upload sketches but not the bootloader and should be attached to the TX and RX pins of the ATmega328. See the section "Arduino-Ready" on this page:http://arduino.cc/en/Main/Standalone

Peter

NO!! Your pins are fine as suggested above.

The fact you can't ping it; Is more of a networking issue rather than pins. How is the Arduino connected to network? Is there an IP assigned to the Arduino? It you ping it from a laptop is that on the same network as the Arduino?

Take a look at the Ethernet library http://arduino.cc/en/Reference/Ethernet that should explain what is needed to get it working.

Chris

The fact you can't ping it; Is more of a networking issue rather than pins. How is the Arduino connected to network? Is there an IP assigned to the Arduino? It you ping it from a laptop is that on the same network as the Arduino?

The Arduino is connected over a FritzBox and pinging it works when i plug the Shield directly on the Arduino - so the Networking seems fine.

Forget about the ICSP header, you only need that to put the initial Arduino bootloader on the ATmega328 and you can do that with the chip inserted in your UNO.

I Just tried to plug everything in with jumper wires and remove one jumper after another to find out which connections are needed. It works with D10, Reset, GND, 3,3V and ICSP pins 3 and 4. So it looks like the ICSP header is not only for the bootloader?

I'm planning on developing the Code with my Arduino Board and putting the Atmega328 out of it once the Code is done - then i'll put the Atmega into my pcb so no FTDI programmer is needed i guess.

GOT IT!!

I plugged following Pins together: EthernetShield -> Arduino Board (remember: Pins on Board != Pins on Atmega328) D10 -> D10 Reset -> Reset 3,3V -> 3,3V GND -> GND ICSP 3 -> D13 ICSP 4 -> D11 Edit: Ping only is not enough - to show a website on the server i also needed: ICSP 1 -> D12

And now it works to ping the Arduino :)

(i also just understood the Arduino schematic and how the ICSP is wired :) )

Thanks everyone!