Wemos D1 Mini >> Random reboots

Did anyone ever investigate this further? I'm building a shield for the D1 mini and want to include this, but I'm unsure what caps to include.

At the very start of this thread I suggested putting a 470uF and a 0.1uF(i.e. 100nF) across the supply rails.

The Wemos D1 Mini that has fitted-out like this, has run for a number of days without 'rebooting' - so I'm happy.

Hi Dave!

I know you did, and I was planning on just copying that. I was just wondering if anyone had investigated a bit further, maybe sticking an oscilloscope across the lines and seeing how the ripple etc was.

Thanks for your advice btw.

Now I'm retired I have no access to test equipment - hiss, boo.
Just a test meter and a soldering iron plus some wire snippers and strippers!!!

1 Like

I keep looking at oscilloscopes ... maybe one day.

Does the D1 actually need the 5V rail for anything? Can I just bypass it and power the 3.3v rail directly?

It is only used for powering other things as far as I'm aware. I don't think it actually touches the ESP8266 itself?

The Wemos D1 Mini board has an on-board 3v3 voltage regulator.
This is used when you power the D1 from 5v using the micro-USB connector.
For convenience (as Julian says) the 5v and 3v3 are brought-out to pins on the D1's mini board.

You can power the D1 directly from a +3v3 supply (and completely ignore the 5v input capability).
The only thing you must ensure is the supply you are using to provide +3v3 does not rise above the maximum permitted value for the ESP8266. Look it up on the datasheet.

Note:
In my application (the 'deepsleep' experiment) the Wemos +5v line is driven from a Li-Ion battery which is charged from a solar panel, so I took advantage of the Wemos's on-board +3v3 regulator to adjust the incoming input-voltage.

Yeah, I was just making sure. I'm going to supply the 3.3v line independently as the regulator on my D1 Ali express boards seems to be really low spec.

I had a 5v line anyway for another IC, but I've changed that IC to a different one, so this will allow me to remove the 5V line from the project entirely.

Mine here too, although I have not had any random boots while running micropython!
@markost posted an interesting link to the subject above, but there is no way of really knowing what regulator is used before you buy from Aliexpress.

It seems it only peaks over the current the regulator can supply during peak transmission, so a strong WiFi signal or a different configuration would be enough to prevent issues.

The large capacitor solves it as well.

I'm planning on my own (relatively) large 3.3v supply powering the board, and I'm going to add the large capacitor anyway as well.

Apropos rebooting D1Minis: I suspect your problem is not power but a memory leak.
I built several for-pay ESP8266 devices based on the NodeMCU board (which is similar enough to the D1 Mini for this purpose). I suffered from periodic resets and also tried the whole extra-capacitor thing.
What I discovered after much debugging and web searching was that the ESP8266 core library for Arduino had, under certain circumstances, a tendency to leak memory. This has since been updated and fixed but not everyone updates their libraries all the time. If you are having reboot issues, use the free heap command periodically to check to see if the problem is free memory related or not.
How this ties back to NR: While debugging, I set up an MQTT server that also runs NR. My test projects would execute

memstart = ESP.getFreeHeap();

At the start and then repeatedly thereafter to monitor the decrease. I published the absolute and difference each time to my MQTT server and graphed it in NR. I also pushed it out the serial port.

memcurr = ESP.getFreeHeap();
Serial.printf("Loopcounter: %d FREEHeap: %d; Mem diff: %d  Mem diff since start: %d\n", counter++, memcurr, memlast - memcurr, memstart - memcurr);

I've built lots of D1 Mini projects and have never had a problem with power, neither running them on little USB adapters plugged into the wall or even off a single LiIon "battery bank".

Try the free heap thing and see what you see.

Cheers,

--Jeff

PS: I am an engineer with access to test equipment...

3 Likes

That is certainly another reason for reboots and I've seen that enough times, especially with 3rd-party frameworks such as EspEasy. I always include the free heap in stats that I return from the device.