Post topics, source code that relate to the Arduino Platform
User avatar
By rudy
#74455 A larger capacitor will be able to supply a larger current but it can not respond as fast. Capacitors are not pure capacitors. They have resistance and inductance. And there are different types with different characteristics and uses. The more you know the more you will find that the answers are not so simple. It comes down to compromises.

A lower value part will typically have a higher self resonant frequency but it also has less capacitance and not as much charge that it can deliver. Sometimes many smaller value capacitors are used rather than a larger one.

Image

On my boards I use a 68uF tantalum capacitor along with a 10uf ceramics, plus a couple of 0.1uF ceramics. The parts I use are surface mount parts that are mounted right at the ESP module. But I also have a 500mA low drop regulator mounted at the modules. Some people say they have had good results with 470uF. I find them to be bigger than I would like. The parts I use are relatively small.

IMG_5008.JPG


There is a regulator, a 68uF and 10uF cap in the lower left corner of the ESP07 module. Right by the power input tabs of the module.

IMG2.jpg
IMG3.jpg


A couple of years ago I made some small PCBs that included some parts along with the ESP12 modules. Cleaner than the above but basically the same thing.

IMG_5001.JPG


IMG_5006.JPG


I picked 68uF because that is what I had at work. Same for that 10uF. The actual value is only part of the solution and not really a critical one. The right type of parts and the implementation is more important.

This is a board I designed for work. Same idea. Same cap right at the power input of the module.

ESP2_1.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
By perigalacticon
#74484 Thanks for your help rudy. Let me tell you where I'm coming from, I am a hobbyist, and I work on these projects in the evenings and weekends. I thought I could entertain the neighborhood kids by making some fun holiday led light displays. I keep the leds up around my house year round and have been programming them for different occasions. So I have learned everything Arduino mainly for this, but I didn't imagine it would be so involved and require so much 'micro managing' work. I'm not a programmer by occupation so it's been a steep learning curve. I really don't like soldering due to the irritating flux fumes, risk of burns, and difficulty of changing components. I wish a better solderless breadboard connection system was available. Anyway that's the gist of it, I appreciate the help.

I am aware of the delay issue required for wifi processing. In my sketches I don't think there are too many lengthy code sections, but I do have strands of up to 300 WS2812B leds that I control with the NeopixelBus and FastLed libraries that seem to work the best.
User avatar
By perigalacticon
#74504 Hey let me tell you something, I didn't have a check for the wifi status in the loop before, I guess I thought that was already taken care of by the chip?? I think that was 95% of my problems. I added the following and it runs continuously, and I got the webUpdater code to also work reliably and run continuously, I wish I had known of these things a long time ago: Thanks for your help.

Code: Select all  EVERY_N_MILLISECONDS( 10000 )
  {
    //connect wifi if not connected
    if (WiFi.status() != WL_CONNECTED)
    {
      delay(1);
      startWIFI();
      return;
    }
  }


void startWIFI(void)
{
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
{
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi reconnected");
}