Due won't start after power off-on, have to reset

yo Bimbo385,

your solution works perfectly!

cheers!

bimbo385 and earx

You can show a picture of changes in your board ? thanks !

Hi there all, the first time I put a sketch into the DUE I though I had a dud, well after swearing at it, I pushed the reset button, like every body else the program will not start from 'cold' start or reboots, a quick unplug and shove back in it works. Now the people that designed this very cool board ( I wish I had them at school) from what I have done in the computing / electronics world it should of had a proper power on reset circuit, the fact that this board will not start and run correctly makes it hard to design into a new product, well with out a power on reset, the small cap across the reset pin that is not charged whilst cold power on is a 'hack' and I like it, but a little more forward thinking a 555 timer could do the job I know you are all laughing at me, well there is a mega 16u2i440 surely this has a spare pin that could be used for the cold power on reset as the chip all ready does a reset during the writing of the code it would just have to be a one shot reset, just my idea.

This board is amazingly fast, makes the old 8 bit computers look like toys.

Cheers All

Paul

Hi there all, after a bit of playing around I did the 10uF cap across the reset and gnd pin, it does work but it is a bad/messy way to have the micro start from hard, therefore my question.

Question surely some one has or could obtain the code with-in the ATMEGA16U2-MU, reason why, this has the rest pin already interconnected and surely there would be enough room to put the 'reset' cold on power up. It would just have to wait for the power to be connected as this CPU goes live almost instantly it would have to make sure the USB is not going to program but that would not look to be a problem, and say 500 mSplus the reset pin low to reset the main CPU.

If I could get the code with-in the first CPU I would 'hack' it and flash it, otherwise would have to program up a small atmel to do the reset pull down.

Surely someone has or could obtain or talk to the people handling the boards to reflash the new code?

I can not really see it being hard.

Cheers all

Paul

I have 10+ DUE R3 models, 6 DUE R3-E models, 2 SainSmart brown-PCB DUE boards, and 1 SainSmart red-PCB DUE. All of the R3 boards and the red SS DUE fail to start up after a powerup and require a manual reset. All of the R3-E boards and the brown SS boards start up perfectly upon powerup every time. Seems like the red SS is a clone of R3 and the browns are of R3-E.

I am going to flash the 16U2 on one of the R3 boards with the reset code from this thread: http://forum.arduino.cc/index.php?topic=167492.msg1373055#msg1373055

Meanwhile, the question to Arduino remains unanswered: "WHAT IS THE DIFFERENCE BETWEEN R3 and R3-E??"

I suspect that it is a 16u2 firmware change similar, if not identical to the one in the mentioned thread.

UPDATE: Flashing the 16u2 with the reset code from the above forum posts works. This is better solution than hardware mods.

Hi all,

I have the same problem since the beginning, and this is bugging me big time for my projects. I think I have identified a definite solution. In fact credit is due to the guys of Freetronics about the EtherDue. see link http://forum.freetronics.com/viewtopic.php?f=45&t=6055

The DUE boards may be affected by the following bug: On power-on the board may start to the bootloader instead of running the onboard program, as if the ERASE button had been pressed. Pressing "reset" resumes normal operation. The bug appears to be caused by undocumented behaviour in the ATSAM3X8E microcontroller regarding the "erase" input pin - according to the specification we shouldn't ever be seeing this.

The fix is to solder a surface mount resistor (0603 size) onto the board: solder a 10k resistor between the ERASE line and +3.3V, close to fet T3. In practice, solder it across the 2 upper pins of T3.

To know if you have a DUE (or derivate/clone) that may be affected, check if fet T3 is soldered horizontally - see picture below: (fet T3 is in the middle of the picture, just to the right of the 6-pin SPI connector)

|500x330

(If your DUE has the fet soldered vertically, likely the board is more recent and good, as it has resistor R99 soldered.)

Here is a picture of a fixed DUE with a 10k resistor that I soldered across the pins of T3:

|500x345

I have tested this and works fine.

-D

I've to say that the findings of Dan Combine are really amazing, in fact it seems to solve many other start COM3 issues, uploading on other threads.

In my laboratory, there was 3 DUE's which I bought long ago, one of them has been working fantastic but the 2 others suffered from the start up issue or COM3 issue.

Anyway this morning I've soldered 10K surface mount 0805 resistor per guidance of Dan, it is not so easy because bigger than 0603 which I did not have => now this DUE board always work wether to upload, start and many other bothering problems.

Many thanks after all these months or many one year mystery...

Fitting R99 on my so-called compatible Due board solved all reset problems and it is now working exactly as the genuine Due board I also have.

Thanks to dancombine for your support!

dancombine: this seems to work nicely. i previously tried the 10u cap + 470R solution, but that did not work on all due's it seemed..

however, the 0603 soldering is a nightmare for me, especially on a fully populated board with headers sticking out and all. wow! is there a special soldering iron tip you can recommend? i'm afraid i might mess up a board or two if do this with my current soldering technique..

Moderator edit: Language.

According to dancombine’s suggestion, I put normal through-hole 10k resistor in. Everything work correctly. The DUE start the sketch every time I put power in. Thank to dancombine. :wink:

Thank you, dancombine!! I put 10k resistor (R99 in schematics) and DUE now starts correctly.

dancombine: Hi all,

I have the same problem since the beginning, and this is bugging me big time for my projects. I think I have identified a definite solution. In fact credit is due to the guys of Freetronics about the EtherDue. see link http://forum.freetronics.com/viewtopic.php?f=45&t=6055

The DUE boards may be affected by the following bug: On power-on the board may start to the bootloader instead of running the onboard program, as if the ERASE button had been pressed. Pressing "reset" resumes normal operation. The bug appears to be caused by undocumented behaviour in the ATSAM3X8E microcontroller regarding the "erase" input pin - according to the specification we shouldn't ever be seeing this.

The fix is to solder a surface mount resistor (0603 size) onto the board: solder a 10k resistor between the ERASE line and +3.3V, close to fet T3. In practice, solder it across the 2 upper pins of T3.

To know if you have a DUE (or derivate/clone) that may be affected, check if fet T3 is soldered horizontally - see picture below: (fet T3 is in the middle of the picture, just to the right of the 6-pin SPI connector)

|500x330

(If your DUE has the fet soldered vertically, likely the board is more recent and good, as it has resistor R99 soldered.)

Here is a picture of a fixed DUE with a 10k resistor that I soldered across the pins of T3:

|500x345

I have tested this and works fine.

-D

I am still battling this problem on most of my Due boards, but this fix confuses me.... Per the datasheet, ERASE needs to be pulled low to disable ERASE mode. The above text says:

The fix is to solder a surface mount resistor (0603 size) onto the board: solder a 10k resistor between the ERASE line and +3.3V

This suggests the 10K resistor is being added as a PULLUP to the ERASE pin. Or is it actually being added between ERASE_CMD signal and GND? Though the schematic indicates there should already be a resistor in that position. What am I missing?

Also, if I never need the ERASE function, could I not simply remove the ERASE switch and MOSFET entirely, and hard-wire the ERASE pin to GND?

Regards, Ray L.

if I never need the ERASE function

What I've read suggests that Due ALWAYS needs the erase function, even if you don't use the switch. http://www.arduino.cc/en/Guide/ArduinoDue

Well, it does appear adding the 10K resistor has "fixed" one of my boards! I'll have to try a few more.

Regards, Ray L.

This suggests the 10K resistor is being added as a PULLUP to the ERASE pin. Or is it actually being added between ERASE_CMD signal and GND?

The freetronics page says that the resistor was added in a later version of the Arduino reference schematic, and I can confirm that it is present in V03 of the schematics, and NOT in V02

The resistor is a pullup on the RESET_CMD signal, which goes to the gate of a P-channel MOSFET before doing anything to the SAM3X. ERASE_CMD is the signal from the 16u2, thus, it serves to hold the transistor "OFF" when the erase signal from the 16u2 is floating. It is NOT between +3.3V and the actual RESET signal!

I'm not sure how this qualifies as "undocumented behavior of the chip." Seems like a simple bug (probably in the 16u2) to me. It'd be nice if the sites advertising fixes went into more technical detail (including a schematic/circuit description of the fix, and not just physical photographs!)

I upgraded 16u2 to fix it. Firmware is here https://forum.arduino.cc/index.php?action=dlattach;topic=167492.0;attach=52901

Description of change you can find in that topic.

sined23:
I upgraded 16u2 to fix it.
Firmware is here https://forum.arduino.cc/index.php?action=dlattach;topic=167492.0;attach=52901

Description of change you can fin in that topic.

That link downloads a HEX file It doesn’t point an any “topic”…

So you’re saying re-FLASHING the 16U2 fixes this problem?

Regards,
Ray L.

Here's the actual message link https://forum.arduino.cc/index.php?topic=167492.msg1373055#msg1373055

RayLivingston:
So you’re saying re-FLASHING the 16U2 fixes this problem?

Yes. The author said that RESET will be LOW for some usec after power on.
However in some msec I see one more RESET :slight_smile:
But it doesn’t metter. More RESETs - better for SAM3X )))

reset.png

sined23:
Yes. The author said that RESET will be LOW for some usec after power on.
However in some msec I see one more RESET :slight_smile:
But it doesn’t metter. More RESETs - better for SAM3X )))

reset.png

OK. Sooooo… How does one re-FLASH the 16U2?

Regards,
Ray L.