Go Down

Topic: Due appears as COM6 port but gives error "No device found on COM6" on upload (Read 76215 times) previous topic - next topic

hannes93

I attached a photo with the schematics of the board and marked the resistor. It's next to the ATmega 16u2 microcontrollerchip

MrAl

Hello there,


Thanks for the drawing and that helped find the right resistor.
What happened was i looked at the schematic and saw "R23", but it was not marked on the board, and i tried to figure out where pin 1 was on the 16u2 chip but the marking is either not there or gone.  So there is no way to tell where pin 1 is on that chip without tracing out other pins to find out where they go.  All the corners of the chip are square no angle, and no indentation and no triangle (all 3 of the possible markings of that chip).
I was able to verify by tracing out what i thought was pins 1 and 2 that go to the crystal or oscillator.

I guess i can measure this with an ohm meter, as the resistor body is so small and there are no markings on the resistor either.  I wonder if an unpowered board can take that kind of measurement though, like say 1.5v across that resistor with no power applied anywhere else.  I guess i'll have to see what current my metes put out when testing for Ohms with a resistor.

Would be interesting to see what value they placed on this particular board.



hannes93

There is an easier way to figure this out. If you look at the schematics of the Due you can see that R23 is connected to Pin PC7 of the Atmega16U2.
If you google now for the pinout of the MPC you will find the PC7 pin very quick.

dancombine

Hi all,

Some older versions of the DUE do not have a resistor (10k) between +3.3V and the ERASE signal. This resistor is found in the schematic as R99 on the newer boards, but the older boards do not have it.

Earlier, the Arduino team reduced the value of R23 from 10k down to 1k to fix another issue. But that created as side effect a boot problem, where one of the symptoms is no COM port found.

The solution is to add R99 of 10k between +3.3V and the ERASE signal.

See this thread where I posted the details of the fix:
http://forum.arduino.cc/index.php?topic=256771.new#new

-D


SrAnderson

Automatic (Software) Reset

The SAM3X microcontroller differs from AVR microcontrollers because the flash memory needs to be erased before being re-programmed. A manual procedure would involve holding the erase button for a second, pressing the upload button in the IDE, then the reset button.

ellbur

I just want to post what worked for me, in case it helps someone.

I've been programming the Arduino Due manually using the "mode" and "bossac.exe" commands:

> cmd.exe /c "mode COM3:1200,n,8,1"
> bossac.exe --port=COM3 -U false -e -w -b firmware.bin -R


And I had been getting the error "No device found on COM3", even though the device appeared in device manager (and "mode" succeeded).

The particular magic-sauce that made it work was:

1. Run "mode"
2. Sleep 100 ms
3. Run "mode" again
4. Sleep 50 ms
5. Run bossac

I just randomly guessed at those timings; I have no idea whether different values would work as well.

WillieWortel

Hi all!

Maybe some new information, i did not find anything like it in the entire post: i got the same problem when there is a load on IO0 (or RX0). When i connect a resistor of 4K7 on RX0 to ground, i get "no device found". When i disconnect > download ok.

Found it while trying to program him "in circuit".. :o

Anyone same experience?

Willie

Edit: PS: 10K does the job also, so just a load is prohibiting the download it seems...:-(

Slider

Hi all!

Maybe some new information, i did not find anything like it in the entire post: i got the same problem when there is a load on IO0 (or RX0). When i connect a resistor of 4K7 on RX0 to ground, i get "no device found". When i disconnect > download ok.

Found it while trying to program him "in circuit".. :o

Anyone same experience?

Willie

Edit: PS: 10K does the job also, so just a load is prohibiting the download it seems...:-(
Very interesting results!
I just posted a very similar thread yesterday https://forum.arduino.cc/index.php?topic=381866.0

I to get No Device errors when I want to program the Due in circuit.
And I use all 4 serial port, each Rx is connected to GND through a resistor (pulldown).

While I did serperate the global GND to the Due board, all the pulldown resistors are still connected to eachother, in a local GND circuit so to say.


According to the Arduino Due info: https://www.arduino.cc/en/Main/ArduinoBoardDue

Quote
The Programming port is connected to an ATmega16U2, which provides a virtual COM port to software on a connected computer (To recognize the device, Windows machines will need a .inf file, but OSX and Linux machines will recognize the board as a COM port automatically). The 16U2 is also connected to the SAM3X hardware UART. Serial on pins RX0 and TX0 provides Serial-to-USB communication for programming the board through the ATmega16U2 microcontroller. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the ATmega16U2 chip and USB connection to the computer (but not for serial communication on pins 0 and 1)
.

So, the when we plugin the programming port to the computer, Serial0 is being used for programming.
In circuit we pull down Rx pin, so this causes all data send to the Due to become distored.

I will test this tonight and post the results :)



Slider

Confirmed, problem is fixed :D

Thanks Willie for your findings!

pjrc

This may be unrelated, but you should probably be aware Windows 2000, XP, 7 and 8 have a bug in USBSER.SYS where the COM port appears properly but is unable to work if the USB cable was unpluged ("surprise removal" in Microsoft's lingo) while a program had the port open.  While troubleshooting USB problems on those operating systems, this bug can really make things much more confusing.

Microsoft fixed this bug in Windows 10.

Here's a video demo.

https://www.youtube.com/watch?v=DRmvUsa2xuU

Slider

Thnx for sharing Paul.

I did not mention this, but I'm running Windows 10. So appearently, this is not a cause of the problem I had with programming.
And it's fixed anyway, but disconnecting the pulldown resisitor on de Rx0 pin while programming :)

Gryphon88

Hello everyone,

I encounter the "No device on port" problem, too. After several months of proper working (except start-on-power on error that I usually "fixed" with Reset button press") the device didn't start and I was unable to upload new sketch.

Problem statement:
1. Appeared eventually, after several months of proper function
2. Second DUE R3 I see the exact problem
3. Due programming port appears both in device manager and in Arduino IDE (now 1.6.8, prev 1.6.1, Win7 and WinXP)
4. Due native port appears in device manager as "unknown device"
5. Bossac (both in Arduino IDE and when called directly from command line) says "No device on port"
6. Followed loop-back instructions (the pinned topic in Troubleshooting) and everything I send using serial monitor to Arduino is echoed back immediately.
7. The Arduino COM port is opened at 1200 with no problems. When I send something in Putty at 115200 RX led blinks, at 1200 - doesn't.

What I tried (and what didn't help, and I restored to previous state):
1. Pressing Reset and Erase buttons many times in different combinations.
2. Tested R23, R3, R14 and R15. All of them are 1kOhm
3. Put 10 mkF capacitor between Reset pin and ground
4. Tried putting 10kOhm resistor at T3 (my board doesn't have R99)

What should I try next to reanimate my boards?

Best,
Serge

hussaa1

Hi guys!, just to support this solution;

I had the same issue with my new Arduino DUE R3 board as;


"No device found on com 15" during programming while the Arduino IDE was detecting the board OK.

Thanks to "Aiekakiku", shorting R23 allowed Arduino IDE to write my code to the board.

However, since then I have rebooted my PC and DUE is programming every time. Hurray!

Best regards
hussaa1


ntomlin

Maybe unrelated, but sometimes everything works for me and sometimes, right at the very end of an upload, my COM port would change itself and then give an error (windows 10). In case it helps, the only consistent fix I found is to open the arduino program from the program list (not by clicking on a .ino file) and then opening files from the arduino file menu. No idea why this works or what is going on...

Go Up