Due appears as COM6 port but gives error "No device found on COM6" on upload

Hi all. Thanks for taking the time to look at this.

I have a Due and I installed the drivers according to these instructions: http://arduino.cc/en/Guide/ArduinoDue

The initial install appears to be successful. I'm running windows 7 and this is what shows in my device manager:

Looks ok, yes?

So I then open the Arduino IDE, select COM6 as my port and the Arduino Due (Programming Port) as the board.

When I attempt to upload the Blink sketch, I get the error message "No device found on COM6". And that's where I'm stuck. Has anyone else had this problem?

It seems there's some issue with the communication between the Arduino IDE and the SAM3X8E chip. Or it could be the 16u2? I tried reuploading the firmware to the 16u2, and while I was able to complete that operation, the same error occurred.

Any help you can offer is most appreciated!

I just went through this on a WinXP box.

A reboot fixed everything.

-Chris

This happened to me a bunch of times lately. Selecting another board, disconnecting & reconnecting the USB and reselecting the due fixes it.

Thanks for the suggestions. I tried both of these and no luck. I was really excited for a minute there though thinking the solution was so easy!

Here's to hoping someone else has another solution.

I have two suggestions:

  1. Are you sure you're putting the USB cord in the right socket? There are two and you might have mixed them up.

  2. If that doesn't work then try the native port (remember to set that in Arduino IDE as well!) The native port uploads like 10x faster anyway. I pretty much exclusively program my Due's with the native port.

1 Like

I was having the same problem. It's unclear why. It was really really bad and irritating but after rebooting and plugging the USB cable into the back of my system things did get quite a bit better but it does still happen now and then.

The COM port shows up but the IDE doesn't see the board. I think it might be an intermittent bug in the IDE.

I am having this exact problem with a new 'due' but none of the suggestions appear to resolve it. What else can I try? Mark

RESOLVED? Here is something for you folks to try that are having COM errors with 1.5.2 / Due. This may be what 'fixed it' or something else. After struggling with trying to get the Due working with the 1.5.2 IDE version on Windows 7, I regressed and installed the old 1.0.5 IDE and tested with an Mega 2560. Now, the Due with 1.5.2 loads perfectly well through the COM6 port. Who knows? Is there something missing in 1.5.2 IDE that was patched up by installing 1.0.5? Feedback welcome. Mark :slight_smile:

SOLVED :smiley:

I was having this same problem and it was driving me nuts.
I had tried installing 1.5.2 on three different machines (XP, 2x Win7), re-installing 1.0.5 and loading code to a 2560, rebooting multiple times, replacing the 16U2 firmware (2 other versions), different USB cables - but nothing worked (except manually erasing and resetting the board).

The other clue was that even when the DUE was recognized and programming proceeded - loading a sketch failed to reset the DUE (manual reset was required a second time).

THEN, I read the post from Aiekakiku Errors in Due board/schematic files - Arduino Due - Arduino Forum and decided to try it.
I shorted out R23 with a small flat blade screwdriver (pressed on the side of R23).

It worked!

I then soldered a short across R23 - and it has continued to work on both my Win7 and XP machines, every time.
The short is not the safest solution and I will try a 1K resistor as a permanent fix.

So this appears to be a design flaw in the DUE. R23 is the wrong value.
Specifically, natural variation of R23 and the 15K pull-up on the SAM3X can result in inadequate margin to the input threshold (Vil) of the NRSTB signal on the SAM3X.
This means some systems work OK, some are intermittent and others fail all the time.

I'd be interested if this fixes other DUE boards that have the same problem.

Many thanks to Aiekakiku for his original post.


Andrew

Is R23 still incorrect on the Due R3 board?

If so, for reliable operation, a 1k resistor should be used?
(could just be soldered in parallel with the existing resistor)

Thanks

UPDATE on R23:
I confirmed that changing R23 to 1K does correct the "No device found on COMxx" problem.
It seems to be very reliable (no failures seen in over 100 attempts on multiple computers) - but only one DUE tried.
The R23 change also fixes the reset of the SAM3X after the sketch has loaded.

@garygid: Yes, soldering a 1K in parallel with the existing 10K will result in a 909 Ohm total resistance - which is close enough to 1K. (my soldering skills are not good enough to do this).

However - changing R23 value has an unintended consequence:

The power-on reset of the SAM3X no longer works if the DUE is un-powered for 30sec or more.
I'm not sure why this occurs, but it is very repeatable.
Pushing the reset button on the DUE works - but this is not a compromise I can live with.

FIXING the POWER-ON RESET of the SAM3X:
I noticed that the 16U2 firmware does not reset the SAM3X when the 16U2 is reset on power-up (which seems to be very reliable).
So I added the following code to the 16U2 firmware to reset the SAM3X.
The code is added to the SetupHardware() function, directly after wdt_disable();

	// assert /RESET to ensure reliable Target power-up reset
	setResetPin(true);
	
	TCNT0 = 0;
	TCCR0B = (1 << CS01) | (1 << CS00);  // Set prescaler to 64 and start counting (4uS/tick)
	while(TCNT0 < 24);   // Wait for approx 100 uS
	TCCR0B=0;  // Stop the counter
	TCNT0 = 0;  // re-init timer count

On my DUE, I found that the TCOUNT0 value had to be at least 3 for the SAM3X to reset properly (approx 12uS or more).
I chose a TCOUNT0 value of 24 (100uS) to ensure more than enough margin (for my DUE).
The TCOUNT0 value may have to be increased to ensure robustness on all possible DUE component variations.

The firmware fix seems to be reliable (in the 36 hours since I changed the firmware - including two 6+ hour power-downs).

So in summary:
Two items need to be fixed on the DUE to completely solve this problem - R23 value and the 16U2 firmware.

I would be interested if anyone has an alternate solution that is simpler or can confirm that this fixes their DUE.
(I did consider replacing R23 with a diode - but the BOM cost would increase).


Andrew

Arduino-DUE-usbserial-prod-firmware-2013-02-05_resetfix.hex (11.9 KB)

what if your solution doesn't work for me?
i changed r23 to 1k and uploaded the firmware you attached but the ide still tells me "No device found on COM"

@aureliusss: Sorry to hear that it did not work for your board.
I assume that you are trying to connect to your custom built Due board? (From your posts in SAM-BA operation failed - #4 by aureliusss - Arduino Due - Arduino Forum)

Note that the R23 fix and the 16u2 firmware fix are intended for Due boards where you can press the reset button to manually fix the "No device found on COMx" error.
If your system is not recognized by the IDE when trying to download after you press the reset button - there is likely something else wrong.


Andrew

Sometimes, if the PC is recognizing your Due's Programming Port,
you just need to completely close and restart the IDE program.

i experienced this thing yet. but not even this "trick" works

I get that Arduino is for the DIY crowd, but it seems off to me that I should have to short a resistor to get it to do what's advertised. If this is a problem with the board, should this not mean fixing the problem and then recalling/replacing the boards?

I keep running into this problem, and unplugging and re-plugging my board seems to fix the issue. But, after doing it 30 times in an hour I'm starting to notice that the usb port is getting a little wiggly. At this rate, no doubt that port is going to fall off.

Admins? Is this a known hardware problem?

Cheers,
Mike

we change the R23 to 1K, but it didn't work.
Is there anyone solve the problem with this?

dezguy:
after doing it 30 times in an hour I'm starting to notice that the usb port is getting a little wiggly. At this rate, no doubt that port is going to fall off.

I feared this too, so during development I unplug the other end of my USB cable from the PC to save wear on the Due.

Unfortunately, because of Apple and all of their wisdom, my usb port is on the back of my computer, make it kind of difficult to access.

Admins / Arduino staff - is this a known problem and, if so, are you going to fix it?

Cheers,
Mike

Hi all,

The correct value for the R23 resistor is 1k ohm. R23 resistor is used to adapt the 5V logic of the 16u2 to be compatible to the voltage logic of the SAM3x, the 10k ohm gives completely wrong values to the reset pin.
I want to figure out if it happened a mistake during assembling.

Can I ask to those of you who have experienced the problem to write me the serial number of the Due, you can find on the cardboard box?
You can reply here or write me an email (f.vanzati at arduino.cc)

NB: the serial number is not the number written below the bar code, is on a separate sticker.

Thanks,