Due not detected via USB

I tried both the programming and native USB ports, in a Windows 7, Windows 8 and two Linux machines, but my new Arduino Due is not detected. The power led is on and the L blinks about once a second - which seems to be the factory sketch loaded. I also tried to power it differently, with a 850mA/5V adapter, and a 2x to one USB Y cable with no luck. I would have thought the ATMega16U2 was bad, but if that was the case why isn't the native port being detected either? I'm a new user and really don't know what else to try.

alinmesser: I tried both the programming and native USB ports, in a Windows 7, Windows 8 and two Linux machines, but my new Arduino Due is not detected. The power led is on and the L blinks about once a second - which seems to be the factory sketch loaded. I also tried to power it differently, with a 850mA/5V adapter, and a 2x to one USB Y cable with no luck. I would have thought the ATMega16U2 was bad, but if that was the case why isn't the native port being detected either? I'm a new user and really don't know what else to try.

Try connecting using the native usb port. Then press the erase and the reset button at the same time. If everything went well, the bossac port will connect to your pc. You can upload a random sketch with the arduino ide then. After that, press the reset button again. And everything should work again.

I have the same problem, the suggested fix didn't work for me.

djabailey: I have the same problem, the suggested fix didn't work for me.

No? Are you sure you connected the NATIVE port? (Not the programming one) Did you press the both buttpns correctly at the same time?

Gericom:

djabailey:
I have the same problem, the suggested fix didn’t work for me.

No? Are you sure you connected the NATIVE port? (Not the programming one) Did you press the both buttpns correctly at the same time?

Yes, I did exactly as recommended, the board appears not to work.
I played around with it a little using my AVR ISP Mk2 and the chip seems fine (the 16u2) and yet the computer doesn’t detect it, the only reason I can see for it not working is if the board is faulty so I’m going to get it swapped for a new one.

djabailey:

Gericom:

djabailey: I have the same problem, the suggested fix didn't work for me.

No? Are you sure you connected the NATIVE port? (Not the programming one) Did you press the both buttpns correctly at the same time?

Yes, I did exactly as recommended, the board appears not to work. I played around with it a little using my AVR ISP Mk2 and the chip seems fine (the 16u2) and yet the computer doesn't detect it, the only reason I can see for it not working is if the board is faulty so I'm going to get it swapped for a new one.

That chip is not important! That one will work always. The programming port should be recognized. It's all about the sam3x chip.

Gericom:

djabailey:

Gericom:

djabailey: I have the same problem, the suggested fix didn't work for me.

No? Are you sure you connected the NATIVE port? (Not the programming one) Did you press the both buttpns correctly at the same time?

Yes, I did exactly as recommended, the board appears not to work. I played around with it a little using my AVR ISP Mk2 and the chip seems fine (the 16u2) and yet the computer doesn't detect it, the only reason I can see for it not working is if the board is faulty so I'm going to get it swapped for a new one.

That chip is not important! That one will work always. The programming port should be recognized. It's all about the sam3x chip.

Yes I know, the port SHOULD be recognised. If it isn't recognised by the computer AT ALL that must be a faulty board, right?

djabailey:

Gericom:

djabailey:

Gericom:

djabailey: I have the same problem, the suggested fix didn't work for me.

No? Are you sure you connected the NATIVE port? (Not the programming one) Did you press the both buttpns correctly at the same time?

Yes, I did exactly as recommended, the board appears not to work. I played around with it a little using my AVR ISP Mk2 and the chip seems fine (the 16u2) and yet the computer doesn't detect it, the only reason I can see for it not working is if the board is faulty so I'm going to get it swapped for a new one.

That chip is not important! That one will work always. The programming port should be recognized. It's all about the sam3x chip.

Yes I know, the port SHOULD be recognised. If it isn't recognised by the computer AT ALL that must be a faulty board, right?

Yes, if the programming port is still recognized, the solution above works. Otherwise your board is damaged.

Hey,

I have the same problem with the Arduino Due. Since the programming port is recognized under Device Manager, It is obvious that the AtMega16u2 is working. But since the Native USB port does not work it concludes that the SAM3X is not responding and I have no idea why. It shows up as Unknown Device. When you try programming the Due through the programming port it shows that there is no device on the COMx which further confirms that the SAM3X is unresponsive.

Sadly it worked for 2 days and now only seems to be nothing more than a paper-weight. I hope there is a way to ressurect it.

kgoveas

kgoveas: Hey,

I have the same problem with the Arduino Due. Since the programming port is recognized under Device Manager, It is obvious that the AtMega16u2 is working. But since the Native USB port does not work it concludes that the SAM3X is not responding and I have no idea why. It shows up as Unknown Device. When you try programming the Due through the programming port it shows that there is no device on the COMx which further confirms that the SAM3X is unresponsive.

Sadly it worked for 2 days and now only seems to be nothing more than a paper-weight. I hope there is a way to ressurect it.

kgoveas

Have you tried the 2 button solution?

Yes. I have tried the 2 buttons manipulation. I am sure it is dead. =(

It is not responding to the RESET or the ERASE button whatsoever. Majority of the pins are just HIGH.. @3.3V (Pun Intended) :)

Two button reset procedure worked for my DUE board and it detected as bossac port in device manager, all this procedure is done with USB native port. I pressed two buttons erase and reset simultaneously for 2 seconds, and later every thing was fine …
thank you … :slight_smile:

I thought there was something wrong with my Due as well, but I just tried a different USB cable and Windows recognized it and started installing the drivers. Now I don't have any problems.

I know this was posted a few years ago, but maybe if anyone else has these problems, they can try swapping out the cable and see if that fixes their troubles.

A couple of my Due's stopped working completely i.e. Windows 7 on few different platforms of mine just won't recognise them anymore. That was through both the normal programming port and through the Native programming port. I used a USB viewer program called USBDeView.exe which you can download from (http://www.nirsoft.net/utils/usb_devices_view.html) and I could see the drivers assigned to the Due's previously when they did work. I uninstalled the drivers completely thinking that Windows may be able to detect the boards but it didn't work. I tried the two button press trick several times but no luck.

In the end I followed what xKoldFuzionx said, and viola - my boards started to work. Thanks man. sometime something so simple can sort things out. we just don't realise it.

Try changing your USB cable folks.

hussaa1: Try changing your USB cable folks.

hussaa1,

That W O R K E D !. Apparently there are charging cables without communication. The cable that I was using came with my cell phone.

For others that might be 3 years late to the party; Arduino recommends using the programming port. For a first time connection all that you will accomplish by pushing the buttons will be to clear the factory test sketch.

Ron

my problem here was USB cable too

So I've had the same issue for days where the Native USB port would not be recognized by my Windows 10 laptop. The device kept coming back as an "Unknown Device" under my Universal Serial Bus controllers in the Device Manager of control panel and state that it was not receiving any ID codes from the device. I tried the two button press trick, swapping cables, etc.

I tested on a second Windows 10 computer and the same cable successfully added and enabled the Arduino Keyboard under Human Interface devices. I went back to my laptop and still had the error. From within my Arduino IDE I then opened and closed the Serial Monitor a couple of times in succession out of pure frustration. Wala! I then heard that familiar sound of a successful connection. Now added as an Arduino Keyboard on my laptop. Go figure...

Best, -Mark

try to unconnect the native port, program the DUE via programming port then try your program with native, repeat each time you upload sketch.

I think loading sketch via native port cause some problem. and you cannot load a sketch via programming port if native is connected.

nitrof: try to unconnect the native port, program the DUE via programming port then try your program with native, repeat each time you upload sketch.

I think loading sketch via native port cause some problem. and you cannot load a sketch via programming port if native is connected.

Yes, that is what I've been doing this entire time. For some reason on this laptop it just wanted to be stubborn when trying to add the Arduino Keyboard HID when connecting / reconnecting the native port, whereas on my desktop it worked first try. Now added on both computers so I'm happy as a clam. :) Thanks.

Hi All, my due core board, was working fine and I sent the below program and it all of a sudden can’t be recognized on the ports of my computer, I tried also the reset and erase button method with no luck I have about 5 boards that have stopped working after trying to send this program, I don’t know what could seem to be the issue, can it be that my code is wrong?

#include <FastLED.h> // Include the FastLED Library
#define NUM_LEDS 630 // Set the total number of LEDs from 1
CRGB leds[NUM_LEDS]; // Add these LEDs to an array
#define DATA_PIN 7 // Set the Data Pin that the LED data is transferred across
#define BUTTON_A 2 // Set Button to choose the first animation
#define BUTTON_B 4 // Set Button to choose the second animation
#define BUTTON_C 6 // Set Button to choose the second animation

// “do” function once LEDs have been configured
void showStrip() {
FastLED.show();
}
// Set an individual pixel
void setPixel(int Pixel, byte red, byte green, byte blue) {
leds[Pixel].r = red;
leds[Pixel].g = green;
leds[Pixel].b = blue;
}

// Sets all LEDs in the array to a specific colour / state
// uses bytes, not integers
void setAll(byte red, byte green, byte blue) {
for (int i = 0; i < NUM_LEDS; i++ ) {
setPixel(i, red, green, blue);
}
showStrip();
}
boolean butAState = HIGH;
boolean butBState = HIGH;
boolean butCState = HIGH;
// Setup runs code once on boot of the Arduino. This code is never run again
void setup() {
pinMode(BUTTON_A, INPUT_PULLUP);
pinMode(BUTTON_B, INPUT_PULLUP);
pinMode(BUTTON_C, INPUT_PULLUP);
// initialize FastLED
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
// Blank all LEDs on load

showStrip();
}

// Helper function that blends one uint8_t toward another by a given amount
void nblendU8TowardU8( uint8_t& cur, const uint8_t target, uint8_t amount)
{
if( cur == target) return;

if( cur < target ) {
uint8_t delta = target - cur;
delta = scale8_video( delta, amount);
cur += delta;
} else {
uint8_t delta = cur - target;
delta = scale8_video( delta, amount);
cur -= delta;
}
}

// Blend one CRGB color toward another CRGB color by a given amount.
// Blending is linear, and done in the RGB color space.
// This function modifies ‘cur’ in place.
CRGB fadeTowardColor( CRGB& cur, const CRGB& target, uint8_t amount)
{
nblendU8TowardU8( cur.red, target.red, amount);
nblendU8TowardU8( cur.green, target.green, amount);
nblendU8TowardU8( cur.blue, target.blue, amount);
return cur;
}

byte * Wheel(byte WheelPos) {
static byte c[3];

if(WheelPos < 85) {
c[0]=WheelPos * 3;
c[1]=255 - WheelPos * 3;
c[2]=0;
} else if(WheelPos < 170) {
WheelPos -= 85;
c[0]=255 - WheelPos * 3;
c[1]=0;
c[2]=WheelPos * 3;
} else {
WheelPos -= 170;
c[0]=0;
c[1]=WheelPos * 3;
c[2]=255 - WheelPos * 3;
}

return c;
}

void loop() {
//Get current state of the buttons
boolean newStateA = digitalRead(BUTTON_A);
boolean newStateB = digitalRead(BUTTON_B);
boolean newStateC = digitalRead(BUTTON_C);

//Check if the BUTTON_1 state changed from high to low on the buttons
if ((newStateA == LOW) && (butAState ==HIGH)) {
delay(100); //short delay to debounce the button
newStateA = digitalRead(BUTTON_A);
if (newStateA == HIGH) {
button_A();
}
}
if ((newStateB == LOW) && (butBState == HIGH)) {
delay(100);
newStateB = digitalRead(BUTTON_B);
if(newStateB == HIGH){
button_B();
}
}

if ((newStateC == LOW) && (butCState == HIGH)) {
delay(100);
newStateC = digitalRead(BUTTON_C);
if(newStateC == HIGH){
button_C();
}
}
}
//////////////////////////////////NEW CODE BEGINS//////////////////////////////

void button_A() {

for (int i = 0; i <= 630; i++) {

leds = CRGB(5,245,41);

  • }*

  • showStrip();*

  • }*
    //////////////////////////////Second animation///////////////////////
    void button_B() {

  • for (int i = 0; i <= 630; i++) {*
    _ leds = CRGB(255,255,255);_
    * }*
    * showStrip();*
    * }*
    * //////////////////////////////Second animation///////////////////////*
    void button_C() {

* for (int i = 0; i <= 630; i++) {*
_ leds = CRGB(245,5,22);
* }
showStrip();
}
//////////////////////////////Blank animation///////////////////////
void Black() {
for (int i = 0; i <= 630; i++) {
leds = CRGB(0,0,0);
}
showStrip();
}*_