Does an external power supply disable the USB Auto Reset feature?

Hi,

I just noticed an interesting behaviour with my Arduino Mega 2560:

When using an external power supply (through the power jack), the USB Auto Reset feature seems to be disabled. So when plugging in a USB cable (with external power on) it doesn't reset automatically but continues running. Is this the intended behaviour? I ask, because for my application this is quite useful, but I need to be sure that the board will always behave this way and that it does not depend on any special configuration I am using.

Can anyone confirm this with any Arduino board? I would especially be interested in any results from the Arduino Uno, because I will later use this board for an important, autonomous application (and would be able to check the debug output before leaving it alone without resetting it).

Thanks! Yours sincerely

are you using both usb, and an external power suply at the same time? i dont know, but i think you shoudn't be using both at the same time (correct me if im wrong)

Yes, I am using them at the same time (the power jack is used for regular power and the usb can be plugged in for live data/debugging).

According to the Arduino Hardware Reference page, this configuration is allowed:

The Arduino can be powered via the USB connection or with an external power supply. The power source is selected automatically.

Another post in the old forum (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1289147714) also agrees on that, saying that this is o.k.

I'm merely interested in finding out if this is the default behavior on all Arduino boards (i.e. Uno and Mega2560) or if this is just a strange coincidence, since I'm unable to find any reference to it on the internet.

I looked at the schematics (RESET EN and USB Boot En and the strange two half-circles labled 1 and 2 (what do they do?) right to the C7 100 nanoF on the Mega2560) but couldn't identify any circuit with that function (but this is more likely due to my limited knowledge of electronic circuits)

RESET_EN is two small pads on the Arduino. If you look closely, you will see a small trace between the pads. If you break that trace, the usb port will not be able to reset the CPU. However, you will need to press and release the RESET button during the sketch upload to upload new code.

I ask, because for my application this is quite useful, but I need to be sure that the board will always behave this way and that it does not depend on any special configuration I am using.

It always works like that. This is because just the act of plugging in the USB cable does not activate the reset. With no other power supply it is the fact that power is applied that causes the reset, not the auto reset circuit. The auto reset only kicks in when the port is opened and the DTR pin changes. If you have a driver that didn't clock the DTR pin (like I had at one time) then the auto reset circuit would not work.

Hi Grumpy_Mike, thanks for the confirmation and your explanation! This will help me immensely. :)

Thanks also to SuferTim and nickn4.

STATUS: SOLVED

Hi, I was facing the same proble. Actually what happen in my case that when i am using standalone arduino 2560, i can upload the program, but when i plugged that arduino mega to a different PCB, which we had made, we get time out error while uploading the program.

Case 1 : When i saw this thread i find out this is the similar case with me. I plugged out the arduino mega from my pcb, upload the program and plug it to the pCB again. Now for the first time, i can upload the program but after then , i get the same error avrdude timeout.

Is is the case that , the extra reset pin which i had used in my PCB is casuing any problem?

is the case that , the extra reset pin which i had used in my PCB is casuing any problem?

How can anyone possible know without knowing what your PCB contains?