LowPowerLab Forum

Hardware support => Moteino => Topic started by: sharkhat on February 01, 2017, 12:35:38 PM

Title: Moteino will not run until reset has been jumped with ground
Post by: sharkhat on February 01, 2017, 12:35:38 PM
I purchased 5 moteinos last week with the RFM95 transceiver. Prototyping was going great while plugged into my computer through the FTDI cable.  When I moved to batteries, it would not run.  My pro-minis (3.3v) and micros(5v), work on this 3 AA battery pack.  I have tried my benchtop powersupply as well.  The moteino code does not run until I short rst and ground from the ftdi connector.  All 3 of my moteinos that I have tested have this issue.  Anyway around it?  Is it a manufacturing defect?  Is this the intended functionality?

Thanks
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: WhiteHare on February 01, 2017, 01:02:13 PM
You're not alone.  A number of people, including me, have reported it.  The last I heard, though, Felix has not been able to reproduce it.  Connecting DTR to ground, though, does seem to be a viable workaround.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 01, 2017, 02:13:07 PM
From what you describe it sounds like this happens on all your nodes.
Things have not changed on my end. I think most people don't have a problem and I don't know how to replicate this. The boards have been manufactured and tested the same way for the past few years, I recall a few instances where this was reported and Tom and WhiteHare and others have suggested their fix which should take care of this if it keeps happening.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: sharkhat on February 01, 2017, 03:13:55 PM
Would you like me to send one back to you for testing?  Is there anything I can do to help troubleshoot?  I would love to use this platform, as it is one of the only premade RFM95 arduino compatibles out there.  It is very simple to reproduce.  Just power it from the FTDI connector's Ground and PWR pins on any supply between 3.5-6 volts (the volt ranges I tested)  Whether is was battery powered or powersupply; the results are the same.


Thanks again
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on February 01, 2017, 03:37:45 PM
You're not alone.  A number of people, including me, have reported it.  The last I heard, though, Felix has not been able to reproduce it.  Connecting DTR to ground, though, does seem to be a viable workaround.
That essentially puts a 100nF to ground on RST slowing it down. My own personal theory is that due to the low bulk capacitance on board the Moteino, when the battery is connected Vcc rises faster than SRon specification (power-on Slope Rate, table 32-7) which is 10V/ms, and without the capacitor on RST this rises at that fast rate too and is not adequate to reset the device properly. The rise time might be dependent on the internal resistance of the battery. Extending the reset allows it to cope with the fast rise time of Vcc. I know people have put in software delays in the power-up code to simulate a longer reset but this has apparently had no effect, the only thing left in my mind is some kind of rise-time related reset issue.

Mark.

Edit: You might be able to test this theory Felix, use a 470uF cap on the battery and put a switch between that and the Moteino. That should give the maximum rise time (although it is going through the regulator, that would appear to limit the rise time to 1ms so maybe this isn't it).
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 01, 2017, 03:53:03 PM
Would you like me to send one back to you for testing?  Is there anything I can do to help troubleshoot?  I would love to use this platform, as it is one of the only premade RFM95 arduino compatibles out there.  It is very simple to reproduce.  Just power it from the FTDI connector's Ground and PWR pins on any supply between 3.5-6 volts (the volt ranges I tested)  Whether is was battery powered or powersupply; the results are the same.

No need to, I can test on another Moteino here, do you have the FLASH MEM on?
Any special sketch are you using? I assume power from a LiPo (~4v) with a simple blink program should be evident (no running the sketch, ie no blinking).
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: sharkhat on February 01, 2017, 04:11:46 PM
Hi Felix,

Moteino, with FTDI connectors, and all headers soldered on, no peripherals attached.  Running the moteino 'blink' program, powered by 3 AA batteries, or a benchtop powersupply running 3.5-6 v.

Thanks again, took me all morning to figure out the 'rst' pin in the ftdi cable is the key.

Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 01, 2017, 04:47:04 PM
I tested a Moteino + LoRa, no FLASH, FTDI headers , programmed with the sketch below (on older Arduino IDE 1.0.6).
Powered via GND and VIN (2 wires only) from:

- 5V (FTDI)
- 3.7 LiPo
- 3xAAA pack

It always blinks no matter how many times i disconnect/reconnect.
You are welcome to send a suspect unit + your batt pack or setup or whatever else would help identify the problem and I will try to help in whatever way.

Code: [Select]
 
//#define SERIAL_ENABLE

#ifdef __AVR_ATmega1284P__
  #define LED           15 // Moteino MEGAs have LEDs on D15
#else
  #define LED           9 // Moteinos have LEDs on D9
#endif


// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(LED, OUTPUT);     
#ifdef SERIAL_ENABLE
  Serial.begin(115200);
#endif
}

// the loop routine runs over and over again forever:
void loop() {
#ifdef SERIAL_ENABLE
  Serial.println(var++);
#endif
  digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);               // wait for a second
  digitalWrite(LED, LOW);    // turn the LED off by making the voltage LOW
  delay(500);               // wait for a second
}
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: sharkhat on February 01, 2017, 05:15:48 PM
This is so strange.  The ONLY difference I can see, is that I am using a 3v3 FTDI (at least I am pretty sure it is 3.3v)  and I program with this.  Is there anyway that this difference has an effect?
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 01, 2017, 07:54:18 PM
It should not make a difference. I know it works with the FTDI I offer which is 5v supply and 3.3v serial signals (defaults). Many other 3rd party FTDI adapters work also.
I just tried the same setup with 2xAAs (3.2v) and nothing changes, blinks away as expected.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: TomWS on February 01, 2017, 08:52:27 PM
It is my technical opinion that if you live within 41 to 47.5 degrees latitude, 82 to 87 degrees longitude this phenomenon never occurs.  Everywhere else it does, but only under certain random, unidentifiable conditions.

I've never lived within that geographic window so I ALWAYS short DTR to GROUND on a Moteino when not using FTDI cable and have been happy ever since  ::)

Tom
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: WhiteHare on February 01, 2017, 10:59:54 PM
I'd wager the reason isn't latitude and longitude, but rather that Felix compiles with Arduino IDE 1.0.6 and the OP probably uses a more recent IDE:  https://lowpowerlab.com/forum/general-topics/how-to-get-spiflash-library-to-work-on-a-clone-(answered)/msg12473/#msg12473

@sharkhat: Try compiling and uploading your sketch using Arduino IDE 1.0.6 and let us know if that solves your problem.

Title: Re: Moteino will not run until reset has been jumped with ground
Post by: joelucid on February 02, 2017, 03:08:24 AM
There's an app note (http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf) which suggests that a 0.1uF cap from reset to ground isn't necessary because the 328p does internal low pass filtering of rst. But they do say it can be done as "additional protection" to prevent resets in very noisy environments.

Following that theory the Moteino might be constantly resetting in a super noisy environment. I've never seen this. In fact for the th motes I don't even put a pull-up in. You could test whether that's the issue by detaching your dtr/Gnd short after startup to see if the Moteino then hangs.

Title: Re: Moteino will not run until reset has been jumped with ground
Post by: TomWS on February 02, 2017, 07:35:41 AM
There's an app note (http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf) which suggests that a 0.1uF cap from reset to ground isn't necessary because the 328p does internal low pass filtering of rst. But they do say it can be done as "additional protection" to prevent resets in very noisy environments.

Following that theory the Moteino might be constantly resetting in a super noisy environment. I've never seen this. In fact for the th motes I don't even put a pull-up in. You could test whether that's the issue by detaching your dtr/Gnd short after startup to see if the Moteino then hangs.
Joe, that's not the behavior I'm seeing.  In several instances, and it's on particular motes, these are battery operated, field deployed motes, when I install the battery the 'boot' LED never flashes until I temporarily ground DTR pin.  So, as a rule, I just install a jumper across pins 1 &  6 of the header and the mote always starts when power is applied.   On the other hand, line powered Motes may or may not exhibit that behavior and, given the spotty power outages we have here in the woods, I have had instances where a mote just disappears until I reset it - hence my religious use of TPL5010s...

To WhiteHare's point, I've never used an IDE older than 1.5x.

Tom
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on February 02, 2017, 07:36:58 AM
There is another possibility. The SPI of the 328P is used for programming as well as a master SPI when programmed. There is no pull-up on SCK, and could be sampled low when power is applied. That might put it into programming mode. However there's a pull-up on RST and both have to be sampled low so it might not be an issue. Trying a pull-up on SCK might yield something though.
Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: TomWS on February 02, 2017, 08:03:33 AM
There is another possibility. The SPI of the 328P is used for programming as well as a master SPI when programmed. There is no pull-up on SCK, and could be sampled low when power is applied. That might put it into programming mode. However there's a pull-up on RST and both have to be sampled low so it might not be an issue. Trying a pull-up on SCK might yield something though.
Mark.
Good suggestion, Mark!

Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 02, 2017, 08:23:50 AM
@sharkhat - can you try perky's suggestion of pulling up SCK and see if that makes a difference?
How about pulling up SS (D10)?
Any other progress on this from your end?
I am open to suggestions.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: joelucid on February 02, 2017, 08:32:54 AM
Quote
the 'boot' LED never flashes until I temporarily ground DTR pin

Given that you mention 'boot' here I just looked at DualOptiboot. It seems there could be an issue: CheckFlashImage disables the watchdog before doing its thing. But then there is a potential endless loop in there when sending the SPIFLASH_STATUSWRITE command.

As I see it this could easily hang the 328p if the flash device id reads back as something other than 0 or 255 - which could happen with no flash attached.

Joe
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 02, 2017, 08:52:54 AM
As I see it this could easily hang the 328p if the flash device id reads back as something other than 0 or 255 - which could happen with no flash attached.
True, but why do I never see this?
I think a value other than 0/255 is caused by a noisy environment. In which case I would rather pull-up SS (D10).
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on February 02, 2017, 09:02:12 AM
I thought this was sort of covered in this thread, and that no attempt would be made to access the flash if it wasn't detected as fitted:
https://lowpowerlab.com/forum/rf-range-antennas-rfm69-library/(rfm69-library)-initialize-function-always-returns-true/msg16566/#msg16566
Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: joelucid on February 02, 2017, 09:17:28 AM
Quote
True, but why do I never see this?
I think a value other than 0/255 is caused by a noisy environment. In which case I would rather pull-up SS (D10).

If you don't have a slave and you're reading spi don't you just get a sampling of the noise on miso? Seems to me that you would have to probe for a specific address rather than not 0 or ff to be sure you've got soneone to talk to. Regardless of D10.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on February 02, 2017, 09:29:12 AM
If you don't have a slave and you're reading spi don't you just get a sampling of the noise on miso? Seems to me that you would have to probe for a specific address rather than not 0 or ff to be sure you've got soneone to talk to. Regardless of D10.
See above post Joe, that uses the return value written to REG_SYNCVALUE1.
Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: TomWS on February 02, 2017, 09:32:32 AM
As I see it this could easily hang the 328p if the flash device id reads back as something other than 0 or 255 - which could happen with no flash attached.
Good sleuthing, Joe.  It seems a pullup on MISO would solve this problem.

Tom
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on February 02, 2017, 09:42:35 AM
Anyway, this problem appears to be flash independent because it seems to happen with just the simple blinky sketch. I wait with interest for the result of the SCK pullup test.. ;)
Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: joelucid on February 02, 2017, 10:01:33 AM
Quote
Anyway, this problem appears to be flash independent because it seems to happen with just the simple blinky sketch. I wait with interest for the result of the SCK pullup test.. ;)
Mark.

No Mark, the code I mentioned is in the bootloader and gets executed on any watchdog reset. I'm not quite clear how this would happen on a simple power-up, but there are possible paths, e.g. Bootloader runs and uses a wdt reset to start app.

In any case this would explain why I never see the issue - given that I use a different bootloader.

So yeah - let's have a sck pull-up and a miso pull-up test.

Joe
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 02, 2017, 10:04:40 AM
Just did another test with 20x Moteino + RFM95 LoRa (no FLASH), powered from 2xAA (3.2v) via GND-VIN, nothing else attached, programmed with the RF95_client sketch from my RadioHead.zip (RF95_server as receiver), see moteino.com LoRa support page (https://lowpowerlab.com/guide/moteino/lora-support/) for link to zip.

Result: all nodes transmit to the receiver, never a glitch.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on February 02, 2017, 10:12:52 AM
Ah, sorry Joe. I was thinking this was a simple power-up blinky thing. Maybe worth eliminating the bootloader too...
Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: joelucid on February 02, 2017, 10:30:03 AM
Quote
Maybe worth eliminating the bootloader too...

Definitely if the OP has an ISP. Or maybe Tom could try it given he does see the issue. I sure think it would be valuable to cure the Reset angst. Would pay off quickly too considering all the tpl5010 Tom wouldn't need going forward ...  ;)
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: sharkhat on February 09, 2017, 04:51:28 PM
@sharkhat - can you try perky's suggestion of pulling up SCK and see if that makes a difference?
How about pulling up SS (D10)?
Any other progress on this from your end?
I am open to suggestions.

I will try the pull up resistors.
So I am fairly new to this, when you suggestion 'pulling up' SCK you mean, to put a resistor between SCK(pin 13) and 3.3v, and then another wire from SCK to ground?
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on February 10, 2017, 07:24:03 AM
So I am fairly new to this, when you suggestion 'pulling up' SCK you mean, to put a resistor between SCK(pin 13) and 3.3v, and then another wire from SCK to ground?
10K from SCK to VCC (3.3V).
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: TomWS on February 10, 2017, 07:57:57 AM
10K from SCK to VCC (3.3V).
Try MISO too, this might actually be the culprit.  Do the two tests independently.

Title: Re: Moteino will not run until reset has been jumped with ground
Post by: TomWS on February 10, 2017, 08:00:27 AM
...Would pay off quickly too considering all the tpl5010 Tom wouldn't need going forward ...  ;)
What?  And have my power consumption JUMP from 34nA to hundreds of nA?  NEVER!   ;)
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: OSBSS on February 15, 2017, 12:57:24 AM
I've noticed this issue several times in the past as well. I forgot what I did, but I don't have this issue anymore. I've tried almost all IDEs after 1.0.5, all Moteinos work fine.

I believe this is happening when using the Moteino alongside other SPI devices? I was trying to use a DS3234 RTC without a pullup on the SS pin. Internal pullup barely helped. Adding a dedicated external pullup to each SS pin and decoupling cap to all SPI devices should make the setup more robust.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: odiephd on February 27, 2017, 09:00:32 PM
Ok, I assembled two more motes, loaded the sample node testing program.  Both work with flawlessly with powering them up with a battery.  I will integrate my sensors and test each step along the way to make sure it works as expected.

For the other two motes, I tried the 10K resistor between 3v3 and SCK, and 3v3 and MISO in two separate tests.  Both cases did not work.  My other two motes will not power up with battery.  However, if I power them through FTDI/USB, then connect the battery, they will continue to run.

What do I try now?
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: ieris on April 21, 2017, 03:20:27 PM
Hi,
 I'm(was) in your club.
Till now I hadn't such problems. I have several battery operated Motes and never had such problem. As well I have 3 Motes which operates on 5V over 10m+ power cables, and powered motes from phone chargers.
Yesterday I have received my new PCB (garageMote+Hi-Link PSU), soldered it and have noticed that Mote is not powering up, spend a lot of hours tracing and diagnosing.
Just now I read 2-3 topic on this forum regarding this problem, and before adding cap or drt-gnd, I have updated my Arduino IDE from 1.6.2 -> 1.8.2.
And can you guess? The problem is gone...
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on April 21, 2017, 04:02:20 PM
Not really clear, but simply updating the IDE (no hardware changes) solved your problem?
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: ieris on April 22, 2017, 03:49:31 AM
Not really clear, but simply updating the IDE (no hardware changes) solved your problem?

I just want to say that I have got the same problem what was mentioned in this topic that Moteino is not booting on external power.
And yes, I haven't done any changes to hardware, just simply updated the IDE.
But this morning I noticed that situation is not fully fixed. After short power off (less that 10sec) Moteino starting up without problems, but longer shutdowns (more that 15sec) not always start it up. This seems logical because of caps in PSU.
But before IDE upgrade the situation was worse, unfortunately I have deleted 1.6.2 IDE and can't verify it again.

EDIT: Just added the 0.1 uf cap across RST to GND. Currently seems that the problem is gone.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on April 25, 2017, 04:10:50 PM
I've spent some time to debug this issue. I've been able to replicate it on a 8mHz Moteino (removed LDO) where the sketch immediately goes to sleep.
The solution which seems to fix this is a change in the schematic.
Could you also try this?
You can solder a 1uF cap in parallel with the existing 0.1uF between DTR and RST. Then add a 0.1uF between RST and GND (already seems you have this). Let me know if anything changes in behavior from your current "working" hack.
I am considering to implement this in the next Moteino revision.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on April 28, 2017, 03:51:07 PM
So, a bigger cap, that's interesting. What's the failure mechanism?

Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on April 28, 2017, 05:32:12 PM
Mark,
I think it has to to with the behavior of the atmega328 when the residual charge in the 10uF cap onboard the Moteino starts to drain.
One important thing to note is it keeps running while VCC is above 1.8v. In very low power modes that can last a "long" time. All is fine in this state, where if you reapply power, the 10uF cap will simply recharge and atmega328 will keep running. If it's sleeping in this mode, it will appear as if its unresponsive. But this is OK, the atmega simply does what it was told - to sleep. I think some folks put the chip in sleep, then remove GND-VIN power, then re-apply VIN power and expect the their sketch to restart (usually a blink or whatever behavior they know will happen at startup) - but it doesn't because of the residual charge in the cap which I explained above - which is totally expected.

I can't say for sure but there seems to be a meta stable region below the 1.8 or even lower where the chip will simply not start (maybe the RST pullup has something to do with this?) or so it seems. I could only replicate this with very low power sleep modes, where i apply power to VIN and nothing else.

If I change the DTR-RST cap to 1uF and add a 0.1uF to RST-GND then the chip will be forced to restart every time regardless - as long as the 10uF cap is discharged and doesnt keep the atmega going.

Thoughts?
This change is planned for the next R6 and another change also: changing the big from 10uF to 22uF. Anyone see a problem with this?
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Rawze on May 28, 2017, 07:41:18 AM
Found a possible solution to this. It is mentioned here...
https://lowpowerlab.com/forum/index.php?topic=1655.msg19923#msg19923

I am all for solving it with a hardware/capacitor solution to lessen the learning curve here but personally, I don't think the large capacitors on the reset line is the best solution. Forcing a known SPI buss state during startup seemed to be a better one for at least me any ways. Resistors on all pins solved it only partially. I tried them both pull-up and pull-down and it will still get hung on rare occasion on several of the devices I have here. I have had zero issues when I resorted to forcing a logic low on all SPI pins together for the 10ms startup period of the RFM. Logic high works too but the RFM fails the buss state more reliably and does not hang while all pins are forced low at boot. At least this is what I observed over here while testing it. I have 2 different types of RFM69HW modules here. Some of these problems may possibly be board revision specific. Hsackaday's website even has some fixes for some with capacitors soldered incorrectly on some of the boards.

I can only take a guess and say that with the buss driven/forced low, it perhaps sees all pins low, fails the condition quickly, and continues to boot normally. After the initial 10ms wait, it is simply a matter of initializing it and every one I have here runs flawlessly after booting them that way. Others may have a different experience, and that is the nice thing about forums. I am sure that others will try this solution and give some feedback of their own on it.

I do however think that if flash is installed, a pullup should come installed with it, or at least a solder-bridge location to enable a pre-installed 10k resistor. -- Just an idea.

I think before anyone jumps to too many conclusions, like Felix was saying, before any hardware change is made, it should be tested through various sleep states and other wacky things at startup that a users might put one through. Personally, I don't use any kind of power savings, disable all over-current protection, and drive the PA to max snot on some of them with external antennas high in the air at the end of long coax cables. Haven't burned one up yet.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: perky on May 28, 2017, 10:48:56 AM
I tend to agree with the large capacitor fix, it doesn't seem quite right but that's really a gut feeling.

I've speculated before about the posibility of the MCU accidentally going into programming mode. That's initiated by a rising edge on SCK when RST# is low, so a pull-up on SCK might have an effect. I note you tried this with partial success though, but unsure what value of resistor used or whether a low value, like 1k, would work better than a high value (of course this then has power implications).

Mark.
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: svorres on June 01, 2017, 04:47:33 PM
I'm having a large number > 20  of locked up Moteino RFM95 in the field,  it seems when the battery gets lower, i.e  2.9V  the  Moteino goes to sleep and  never wakes up.  When I replace the batteries the Moteino still won't wake up.

If I want to retrofit my R4 boards,  should I add a  0.1uf   1206  surface mount Capacitor  between pins RST and GND,  and also  piggyback a 10uf  804 SMT capacitor on top of the  DTR to RST cap ?

Has anyone had any good experiences with such a retrofit ?
Title: Re: Moteino will not run until reset has been jumped with ground
Post by: Felix on June 02, 2017, 09:03:49 AM
I'm having a large number > 20  of locked up Moteino RFM95 in the field,  it seems when the battery gets lower, i.e  2.9V  the  Moteino goes to sleep and  never wakes up.  When I replace the batteries the Moteino still won't wake up.

If I want to retrofit my R4 boards,  should I add a  0.1uf   1206  surface mount Capacitor  between pins RST and GND,  and also  piggyback a 10uf  804 SMT capacitor on top of the  DTR to RST cap ?

Has anyone had any good experiences with such a retrofit ?

Steve,

Are your motes programmed in a deep sleep state?
One possibility is that when you replace the battery they are still running on the onboard cap charge and appear to not wake. But then you're saying they are "locked" which (while they appear to not do anything) is hard to pinpoint what it really means.
I would suggest piggyback a 1uF on the DTR-RST cap and add a .1uf from RST to GND, see if that makes a difference.

Please note that this will not help with lockups that originate from code (ie infinite loops etc) - I say this because I have lots of moteinos (older revisions) that have been running for years without being touched and with no lockups/brownouts/glitches, some in locations that have extreme temperature drifts every day.