Go Down

Topic: Due won't start after power off-on, have to reset (Read 50809 times) previous topic - next topic

vile

I made some measurements with a scpoe. As the reset button simply pulls the signal down to GND, the cap just delays the rise of the reset voltage, so for the first 100 or 200 ms it's like you press the reset button. That means it takes this amount of time until the code runs, but IT DOES :)

I don't know, maybe it could cause some long term problems if the reset button is used often, because it shorts the capacitor which causes high currents for a short time, but I think this is no problem since the DUE finally runs nice.

This is what happens without any capacitor:


This one zooms in, look at the time/div:


And this happens using a 10µF cap in parallel to the button as reha posted:

Magician

I'd be cautious to hang big cap on IO pin, the problem may come during powering off, if cap discharged to input pin, it may inject enough current to latch-off IC.  I can't find anything in atmel's "design board suggestions" appl note regarding limits on cap,  but 10 uF looks too big on my view. DS says 10 nF.  For higher value resistor in series with cap may be necessary.

pitrs33

Hi guys,
universal answer for this issue is MCP120/130-300 which is voltage watchdog and ensures correct RESET signal after power voltage is stable. I tried also solution with 10uF capacitor and it does't work for my DUE clones for some reason. MCP120-300 costs around 0.3EUR and is available in SOT23 package. It can be easily soldered to the bottom layer of DUE between pin RESET and 3.3V and GND. See datasheet for details and you will understand quickly and clearly. From the time I started using MCP I sleep really well. BR, Petr  :)

reha

Petr,
many thanks for sharing.. in order to avoid any misunderstanding, is it possible to share photo of your connection? reha

pitrs33

#34
Nov 30, 2014, 07:33 am Last Edit: Nov 30, 2014, 08:43 am by pitrs33
Hi again!
Enclosed you will find the photo of MCP soldered to bottom layer. Please note that MCP package is upside down to fit right pinout! Just solder it between RESET and 3.3V and find closest ground and "draw" track  or use small piece of wire to connect Vss pin of MCP with GND of DUE.
I usually use MCP on my own shield boards, so I don't need to place it as shown in the picture. For example, when using Ethernet shield, MCP can be easily soldered on its top layer. I hope, guys you will cope with this somehow.
Sorry for picture quality, making photo is not my hobby, making miracles with arduino definitely is. Have a nice day!
BR,
Petr

lehoangnhan

#35
May 03, 2015, 03:15 am Last Edit: May 03, 2015, 03:18 am by lehoangnhan
Hi guys, I use 2 resistor 10k and 1 cap 220uF to  fix this problem in my project. Hope it helps.

ands

Hello!
Just use the datasheet, ch 16: Supply Controller.
This is a fine tunable beast of a Reset Controller. Question is: what is causing the behavior?
Could anyone with the problem scope clock generation, 3,3V vs. core voltage?
Strange...

Yours

Andi


My Problem is only remotely related, sorry, following story:
I had, on some poor chinese saintsmard red due, the problem that no Reset would occur when uploading, so I had to press reset button at just the right time. Since I want to do Arduino and robotics with kids, and they will (hopefully) be using matlab/simulink target library (Matlab Coder is underlying technology, free in student version for Arduino, NXT/EV3 Lego Mindstorms, and Raspberry Pi) to let Matlab do the programming, this is not the way to go ;)

I measured the reset signal that the ATmega16u2 gives out on Pin18 via R18 to master_reset.
This Resistor is given with a value of 1kOhm for the schematics from arduino.cc .

I found some residues of the soldering process between ISP headers on backside to via of Reset line. Perhaps this was enough to make the thing refuse to reset?

Now I attach a foto of my scope picture of the double reset into boot loader.

I will try to capture one with the new 1k Ohm resistor soldered on top of the old (10k) one.
I used my old Weller WECP-20 soldering station, freshly repaired, with the pointiest tip I could find.
Still I wish I could steady my hand with some glue or tape ;)
Soldering paste was of help, but I always fear I spill it around, and it would creep under the ICs etc...
I put some pL with a needle tip on the contacts of the old resistor, then held the new one in place and heated up with soldering iron tip. Gave it one more tiniy bit of soldering paste, heated again...  
Best thing would be heat radiation just for such a tiny spot. But well.

Then I measured the outcome directly on Pin22 of 16U2 to the Pin Header RESET.
0,918 kOhm.
This is ok for me ;)


bimbo385

I had the same problems with my SainSmart DUE. I don't know witch revision it is, but it has already the IOREV and the unused pin near the reset pin.

My solution might be better then directly connecting a 10 µF ceramic or tantalum capacitor to the reset switch. That will damage the switch over time and is a risk for the clamp diodes in the microcontrollers.

I connected a 10 µF electrolytic capacitor (ceramic or tantalum should also work) with a 470 Ohm resistor in series between the reset pin and ground. This will delay the startup of the SAM by around 150 ms, as you can see below. The current through the reset switch (and maybe other parts) is limited to 7 mA by the resistor, so nothing can be damaged.


Sorry for noisy environment ;-) CH1 is measured at the reset Pin and CH2 between the resistor and the capacitor.

I assembled the two parts on my prototype board, together with some other components. But it will also be possible to solder them (as SMD) direct to the switch.

This solution is well tested. The reset switch works as before, also the automatic reset during programming via programming port. I tested the startup of the SAM in time steps from 1 to 5 minutes off-time and encountered no problems anymore, also a start after a night works probably. So there should be no long time issues as well.

I hope this solution helps all people with the same problem.

Greetings from Germany,
Bimbo385

earx

yo Bimbo385,

your solution works perfectly!

cheers!

HIASMer

bimbo385 and earx

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

VK5VCO

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

VK5VCO

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

nostar

#42
Nov 02, 2015, 03:23 pm Last Edit: Nov 02, 2015, 05:06 pm by nostar
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.

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)



(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:




I have tested this and works fine.

-D






selfonlypath

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...

Go Up