- Tue Mar 06, 2018 11:52 pm
You're on the right track with the caps, but even more importantly (as @destroyedlolo says) , don't use breadboard for anything medium-to-long term; the connections are just too unreliable. Grab yourself some strip-board a soldering iron and put it together more permanently.
@Rudi gives good advice on the caps ...you have the right idea, but they're in the wrong place. I don't see any caps close to your on-bread-board regulator and the 470uf seems to be across the 5v rail, with only a single ceramic across the 3v3. I usually put a discrete 470uf and a 0.1uf as close as possible to the ESP module and, where I have sensors or LEDs on flying leads at anything more than 15cm/6" from the module, add 0.1uf across the supply leads (not the GPIOs) to those devices, too.
If you have a really noisy environment (which you obviously do) you can also add 0.1uf on the remote ends of those supply leads and reverse-biased, fast Schottky diodes between your data (GPIO) lines,, +ve and ground, too. All of this will reduce the "antenna" effect of your long leads (remember, it's not just the on/off switching current, but also those long wires picking up the RF from your ESP modules, too).
On the software side, if you have delays in your code, it usually helps if you throw in a few calls to yield() (I just wrap delay() into a function which calls yield() before it calls delay()). The same goes for long, compute intensive routines ...throw in a yield() here and there to keep the RF housekeeping happy.
And yes, like others here, I do have mains and battery powered modules which have run for months (batt) and years (mains) without problems. Some of the modules I have with Theo's TASMOTA software are in built-in boxes and are only ever updated using OTA.
Good luck with your projects!