Disclaimer: I’m not a pro when it comes to the ESP8266, but I think this makes my insight even more valuable to any of the tinkerers/makers/hackers out there looking to familiarize themselves with this really technology. This primer is meant to help you make an educated decision when purchasing an ESP8266 module, and ensure you buy any necessary supporting hardware.
First of all, what is the ESP8266? Well, it’s a tiny, self-contained, low-power, low-cost, system on a chip (SOC) with the ability to send and receive TCP/IP network data via an antenna that’s etched on its circuit board (PCB). It also includes a number of pins that are capable of sending or receiving signals. In essence, it’s the holy grail of the ‘Internet of Things’ age.
Being the holy grail of an entire movement doesn’t come without it’s downsides, though. The chip at the heart of the ESP8266 is manufactured by Expressif Systems, a Chinese company, and let’s just say that they’re not exactly Texas Instruments when it comes to publishing comprehensive documentation. This problems surrounding this lack of documentation are compounded by the fact that these chips aren’t exactly sold as stand alone components – they’re always sold as SOCs, and there are at least a dozen (mostly Chinese) manufacturers that produce their own SOC versions! To combat this lack of documentation, people have flooded the internet with their own hodge-podged tutorials, blog posts, articles, and forum questions, but there’s no truly comprehensive guide for getting into the ESP8266. On top of all of these problems, these SOCs being actively developed, expanded, and improved on a seemingly daily basis. This all leads me to my first huge takeaway from this post:
1) There are multiple products out there labeled ESP8266, but there are at least a dozen variants and quality documentation is tough to find.
Still interested? Good. You should be. As you read this, be sure to recognize that this information is current as of September 2015. With as quickly as I mentioned the ESP8266 chip is moving, it’s very likely that my information will only be complete for a couple of months. If you’ve found this page prior to purchasing an ESP8266, good on you for doing your research. I’d strongly encourage you to check out this post by Dani Eichhorn where he sets out to compare a few of the different variants of the chip. If you already have an ESP8266 in hand, be sure you know exactly which version of the chip you have, because specifications change from chip to chip!
The astute reader will notice that the last two modules mentioned above, the NodeMCU and SparkFun ESP8266 Thing, include USB to serial converters onboard whereas the other modules do not. The reason for this leads me to my second major takeaway:
2) If you purchase an ESP8266 variant that doesn’t include a USB to serial converter, you’ll need to purchase one to do anything with the chip.
When I say USB to serial converter, what I really mean is a module with a FTDI FT232RL usb/serial chip. Just to give you an idea of what to google for, I personally have a OSEPP FTDI Breakout Board I managed to pick up at Fry’s for $10, but there are other models out there that accomplish the same thing.
With this primer now out of the way, we should be able to start digging into actually working with the ESP8266. Be sure to stay tuned for follow-up posts!