ethernet sheid / mega 2560 / upload problems.

First of all.. I am new to the arduino and hardware like this.

I am using Linux. ( fedora )

I have the 1.0 arduino software from the arduino site installed.

If I do NOT have the ethernet shield installed, I can upload the Blink example program to /dev/ttyACM1 and the correct led blinks on and off. I can change the values ( duration of on / off ) and re-upload, etc.

The issue happens when I have the Ethernet Shield ( wd1500 ? based ) attached and try and do the same file upload. I get: Binary sketch size: 1586 bytes (of a 258048 byte maximum) avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout I see the RX light on the mega 2560 board blink about the same time the linux box gives a timeout message.

if I remove the ethernet shield then I can re-upload again. On a successful upload ( ethernet shield not attached ) the red and green TX / RX lights on the mega 2560 board flash during the program upload.

Am I supposed to upload the software... then attach the ethernet shield or should I be able to upload to the board with the ethernet shield attached? I don't have a ethernet cable attached... for the initial testing.. I don't really need the ethernet shield... I will need that in the future once I have the main project working and need to send it updates via ethernet.

jack

This is a known problem with the Mega. I just got burned by it today as well.

I've read several "fixes" but nothing really seems to be working. I'm still new to Arduino, so maybe someone with a little more skill than me can help?

Does the mega 2560 not work with ANY shields... or is this problem limited to the Ethernet shield?

I have a sparkfun 'danger' sheild ( just has some leds, buttons, pots, etc ) that I am about to solder up and start playing with... is this 'danger shield' going to not work on the mega too... or is this a Ethernet only issue?

jack

My Mega2560 and the ethernet shield work ok. Which shield are you using? There are a couple different types. Does it have an ICSP connector on the bottom?

How are you powering it? USB, Vin, or +5v?

If you are using an R3 ethernet shield on a non-R3 board, there will be some pin overhang. There will be two extra pins on an R3 model shield. The way to insure the pins are aligned correctly is the ICSP connector pins. All 6 must be engaged.

apparently... I am REALLY a newbie at this... I am not sure what version of the mega 2560 I have or the Ethernet shield.

The shield just says 'Ethernet Shield' on it. It has a 6 pin ISCP header on the bottom of it.... I got it via ebay ( #180777182057 ) The auction said: W5100 Ethernet Shield for Arduino Laterest Version micro SD Card PoE Ready 00930

The mega 2560 was ebay auction #270775923692. That auction said: ATMEL ATMEGA 2560/ MEGA 2560 (AT90USB2) .... It doesn't look 'exactly' like any 2560 board I see on the arduino.cc site. SPECIFICALLY... my 2560 board has 2 crystals on it... the 2560 boards on the arduino site have a single crystal.... not really sure that I have...

I have been able to upload ( without the ethernet shield ) a program that drives 32 leds I've attached to ports 24 - 53. That part works fine....

I did just notice that the ebay auction for the ethernet shield says: (Buyer please note that you may have to upload sketches to the Arduino mainboard without attaching this ethernet shield on it. Otherwise the sketches could not be uploaded.) ... I didn't notice that before... I haven't tried to upload something - then reboot with the shield attached....

I just haven't gotten to the point in my project where the lack of ethernet is slowing me down... I am trying to get the main stuff figured out first.

Thanks - jack

OK, then there are a few different kinds of ethernet shields. I had not seen that one yet. The eBay offer shows that board is also not Uno compatible. That is a first for me. ??

The only thing I can see on the schematic that would interfere with a program upload is is digital pins 0 and 1. The schematic shows they are connected to PD0 and PD1. I don’t know what those connect to on the shield. They are connected to the USB serial interface on the Arduino.

The ethernet shields on ebay with the warnings seem to be the ones that have the PoE option like below. The bottom schematic link might show some difference. The PoE feature may block or delay the auto resetting of the the arduino as in the past mods were required to get the arduino and the ethernet shield to boot up in the proper sequence after a power loss.

"W5100 Ethernet Shield for Arduino Laterest Version micro SD Card PoE Ready 00930"

http://marco.guardigli.it/2010/11/arduino-wiznet-ethernet-shield-proper.html

http://www.poptradehk.com/arduino/Shield_Eth06-PoE.pdf

Thanks, zoomkat. I thought that problem would cause the ethernet shield to quit responding, not stop the Mega from programming. Maybe I misunderstood that part.

I do not have that problem with my shield. It has the pads for the PoE, but not the PoE adapter.

I'm not suggesting any "pin bending", but if I had a mind to test stuff (which I do), I would try that reset pin bend.

I think I would also try "pin bending" digital pins 0 and 1 if the reset pin bend did not work. But that is me...

If you want to check the ethernet power up issue, load a web page script on the arduino and use a browser to verify it is working. Unplug/replug the USB connection to the pc, then see if the browser can reload the web page from the arduino.

The problem with not being able to upload programs to the 2560 Mega while the ethernet shield is installed is caused by the reset. As a work around you can: 1: Cut the ethernet shield's reset pin on the ICSP connector between the board and the connector, 2: Bend out the reset pin on the shield so it doesn't connect with the 2560 Mega, and 3: Connect a jumper wire between resets on 2560 Mega and the Ethernet shield. When you want to upload a new program pull the reset jumper from the shield and the reconnect it and reset the boards after the upload.

You can test this before actually cutting the pin by running jumpers between the ICSP header and pins 4 and 10. Test that the shield works but uploading doesn't. Remove the reset jumper from the header and test uploading. You should be able to upload. Replace the reset jumper and reset the boards and the shield should still work.

Tested and worked on my boards.

The below may be an easy solution.

http://arduino.cc/forum/index.php/topic,67777.msg586050.html#msg586050

Wish I could have found that before clipping one of the leads on the ICSP Header. And the sad thing is I tried hitting the rest during the upload but I guess it had already timed out. Thanks for the help.