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

Federico asked "can you please measure the values of these resistors: R3,R14,R15,R21,R23? "

Here are the resistances from my Due board :
R14 1003 ohms
R15 998
R21 1000
R23 995
R3 985 Ohms

@AmbiLobe:
is your board affected by the uploading problem?
Because I see that the R23 is 1Kohm that is correct.

"is your board affected by the uploading problem?"

Summary
Yes. Sometimes the upload serial upload fails and usually it works correctly.

Details
My Due works correctly in many sessions. I bought it at Newark in USA. When I start working on a Sketch the Due works perfectly. I edit then Sketch, plug in the serial cable, upload the instructions to Due, and it is good. I use the Due to test performance. I disconnect the serial cable. I run the Due successfully. I power down the Due. I plug in the serial cable and use the Serial Monitor to receive messages from Due. The messages are shown on my PC video screen as good text messages from Due. I power down. I need to disconnect my custom electronics from the Due using a DB25 connector to enable any uploads. If I keep the DB25 connected to Due from my experimental board, it never uploads, so I disconnect the DB25. I write a new sketch, I plug in the USB cable for upload. Failure ! "No device found on COM7"

I exit the IDE 1.52. I start IDE again. Failure. I disconnect the USB cable and start over to try to upload again. Failure. I power down my PC and boot up everything. It works now. Upload successful.

Sometimes Serial Monitor fails also. Then it works after re-booting computer. It seems intermittent. Re-booting is not alays needed, sometimes, just closing IDE and starting IDE makes serial monitor work.

Bump. Did this ever get resolved?

Cheers,
Mike

I had been running my programs fine all day until I finally encountered this problem. This thread seemed to be the most helpful, but it seems like this has been going on for a while.
Since I'm relatively new to arduino, would it be better/easier if I seek a refund on my board?

OnionKnight:
I had been running my programs fine all day until I finally encountered this problem. This thread seemed to be the most helpful, but it seems like this has been going on for a while.
Since I'm relatively new to arduino, would it be better/easier if I seek a refund on my board?

If you have a clone board, it is situation normal, if you have a 'genuine' arduino board, I think you should try to PM Federico with date of purchase, serial number, and supplier you got your board from.

Graham

SOLVED

You need to do three very simple things after connecting the Programming port with the computer/laptop :

  1. Press the erase button for about 3 seconds.
    2.Press the reset button.
  2. Upload the code.

You need to do this every time you want to upload a sketch. Everything else will hopefully work fine after that.

P.s : I think the problem is the board is not erasing the data pre-written or something.
And it is all done. Tried , tested , worked. Cheers !
--Rishi

I won't say this issue is solved. IT IS NOT SOLVED!
Using the Erase Button works but is not the solution to the originating problem.
Especially when debugging or trying things out it's annoying always to access the board itself.

I installed ATMel Studio with Arduino plugin - and from there it works without pressing the "Erase" Button on the Due Board and Resetting. Which is strange cause the Arduino plugin needs the location of the genuine Arduino IDE installation (in my case the latest Beta 1.5.6r2). When calling bossac from the command line it also DOESN'T detect the arduino port. The Arduino Plugin seems to do something different. Although i would suggest that the problem lies somewhere in bossac.

The DUE support doesn't seem to be very mature. And it's a strange version of bossac - which itself (the genuine one) has not been updated since a while, so it's a modificated version by the arduino team. I got none of them (neither the "genuine" nor the arduino one) to work.

I think the Arduino IDE with DUE support is called BETA for a reason. Before r2 I had massively problems with the serial console - in contrast when using other terminal programs - which worked like a charm.
At least that seems to be fixed now.

Thought the power on reset might be fixed with a patch to the 16U2 (first thing that crossed my mind). Thanks. Would be nice if we could figure out why it is not working as it should without the patch, but at least we have a work around.

Hello,

Same issue here. The board worked fine for several months but now it's completely unusable. I've tried the different techniques mentionned in this topic with no success. Resistors are 1K as expected. Serial number is D00036196.

Is there something else I can do ?

Hhmm, I've just found out that a jumper wire coming from my breadboard wasn't correctly connected to one of the ground pins of the due... :blush: Reconnecting it solved the problem. Why did that lead to the "No device found on COMx" error is beyond me, but I think it's worth mentionning it here.

hello, I have the same problem. The reference number is A000062. It works intermittently. Have you solved the problem?

I experience the device not found symptom too. It seems to only happen when my i2c is firing off.

The Reset + Erase hold works sometimes for me.

Hello, I'm having the same problem, here using a Macinstosh.

Please note that I've 3 DUE's, two of them work perfect when downloading a sketch, the 3rd one almost never downloads and writes "No device found on cu.usbmodem…."

Have this problem been solved since the failed DUE does have 1K resistor ?

Thank you keep an updated solution.

i have to use NATIVE PORT ,...................................................
programing port is not workinggggggggg :stuck_out_tongue:

1 Like

My experiences with my latest Due:

Problem: I cannot flash the due using the programming port UNLESS i press the erase button on the board first. I do not need to press the reset button, just the erase.
I'm using IDE 1.5.8. The board DOES reset on serial-monitor launch.

Resistances as requested R23 981R, R3 996R, R21 997R, R15 1003R, R14 1023R

Serial number D00045177. Received from SK Pang about Mid December.

Any known fix yet?

I've three arduino DUE boards and check all resistance on each, roughly R3 R14 R15 R21 and R23 have 1K value so I don't think the root cause is these resistance, there must be something else maybe a capacitor I suspect.

Why: all my 3 boards do have same resistance but only one does work when downloading a sketch.

In fact, sometimes it will upload ok, I'd estimate say 1 time it flashes CPU over 7 times ail it will not see the port of my MacBook Air.

The other problem to be honest, i've written Federico and no response, this thread has been lasting so the question being if arduino wants to solve the issue !

If downloading via native then it will work always

Still no reply on this problem!

Any ideas?

Hi all,

So I recently bought an Arduino DUE and I too have the same problem.
So far I've managed to upload my code 2 times: first after restarting my computer (I'm guessing this was luck because it worked only once...) and after holding the erase button for 2-3 seconds.

So I thought that maybe there is a problem with the ATMEGA16U2 not being able to erase the code from the SAM3X although it is supposed to do that.
I started looking at the schematics and the EAGLE board design and found a difference between the files and the actual board on the "erase"-path between the ATMEGA16U2 and the SAM3X. But I checked the way it is done on the board and it shouldn't be a problem but you might want to check it again.

I then started looking at the code that is supposed to be programmed on the ATMEGA16U2. But I'm not that good in C so I couldn't discover a lot. But according the piece of code shown here I think it is also supposed to work properly. (this code can be found in "Arduino\hardware\arduino\sam\firmwares\atmega16u2\arduino-usbserial\Arduino-usbserial.c")

if (ResetTimer > 0)
{
	// SAM3X RESET/ERASE Sequence
	// --------------------------
	// Between 60 and 120: do erase
	if (ResetTimer >= 60 && ResetTimer <= 120) {
		setErasePin(true);
	} else {
		setErasePin(false);
	}

	// Between 1 and 50: do reset
	if (ResetTimer >= 1 && ResetTimer <= 50) {
		setResetPin(true);
	} else {
		setResetPin(false);
	}
	ResetTimer--;
} else {
	setErasePin(false);
	setResetPin(false);
}

I'm guessing now that the code loaded in the ATMEGA16U2 might be faulty for some of the boards but maybe that someone with a bit more understanding of C or the schematics could check my thoughts.

Hi all,

So I found a fix for the problem. At least for the version of the problem that I have.
As mentioned before, I could not upload a new code unless I first erase the old one manually even though the ATMEGA16U2 is supposed to do that.
When the chip receive the command of opening the usb communication at baudrate 1200 it is supposed to erase the old code on the SAM3X, but it doesn't.
I found out that when you spam the chip with requests to open the comport it will eventually erase the code on the SAM. So I wrote a batch file that does just that and that sends the new code after having requested 30 times to open the comport at baudrate 1200 and it worked in my case. I can now program my due whitout errors.
I know it's a very ugly fix but it works and might work for other people so if you want to give it a shot I can send you the code and how to implement it in the Arduino IDE.