What is it with the ESP8266?

The ESP8266 is everywhere now. Whenever you buy some cheap Chinese (or even expensive non-Chinese) IoT device, like a WiFi power switch, a WiFi connected lightbulb, or whatever, you can pretty much guarantee that inside will be an ESP8266.

Xtensa have pretty much got it made.

But what is it that's so great about the ESP8266 that's got everyone using it?

I mean, the IO capabilities of it are very poor. There's one ADC. There's a bunch of GPIOs, many of which you can't really use because they do other important functions that would disrupt the operation. At first glance it seems like a poor choice for doing much with.

But then there's the price, and the simplicity of using it.

Not only is it available in a number of modules, but the bare chip itself requires really very few components to get it working. Even the RF interface requirements are very simple. And as for software, Xtensa's SDK makes it really simple to program for.

So what if it doesn't have much in the way of GPIOs and other IO facilities. You don't need that much to control a few LEDs or a relay. And if you do, you can always add more external components.

So a few support components, a flash chip, and relatively few lines of code, and you have a working WiFi device for next to nothing.

It's no wonder all the low-cost manufacturers are choosing the ESP8266 as their go-to WiFi solution.

Maybe you should consider it next time too...

Common Arduino Errors and Warnings