There are tons of different development platforms on the market today in all shapes and sizes for just about any project you can think of. This makes it difficult for someone just starting off or someone looking to expand their collection to choose the right platform for a project. These articles are going to try to clear that all up for you!
I have used a lot of different platforms in my years of… lets face it, screwing around with microcontrollers. This means that I’ve gathered my fair share of boards, some of which I use on a daily basis and others that I haven’t touched since the day I got them. This series is going to discuss the boards that I’ve played around with in the past 10 years; I’m going to go through with you the pros and cons of each one and why I tend to favor certain boards over others. Today on the chopping block is the ESP8266, so lets get into it!
As you can see there are a ton of different models just within this one development platform! I’m not going to get into detail about each board but suffice it to say that really the models worth using (at least at first) are the 01 and 07 models. The 01 model is the most basic and is available just about everywhere from about $2-5 depending on where you buy. It also has the fewest exposed I/O pins, only 2 normally usable ones (4 if you utilize the serial pins) but it’s a great introduction to the platform. If you want an ESP8266 with more I/O I recommend the 07 model which has 9 exposed pins excluding the serial pins and the ADC pin. If you want to take a look at the rest of the standard models, take a look at this page, it has a wealth of information of each model.
The ESP8266 only has a single ADC pin (not exposed on all models, take a look at the link above to see which models have it) which is great to have but limiting in several ways. Firstly, there is only one so thats a big limitation off the bat but the second reason is that it only measures between 0-1V so it can be a pain to wire when the normal power/logic level is at 3.3V. The easiest way to do use it is to take whatever your normal output on your sensor is with 3.3V logic and voltage divide that down to 0-1V. Roughly that comes out to using a 1k and 470 ohm resistor voltage divider to drop from the 3.3V range to 1V.
The amazing thing about the ESP8266 is that even at such a low cost, they come with a full b/g/n wifi stack! They do suck a lot of power though (c’mon you paid $2 for a wifi dev board, get over it) so you do want to make sure that you have a decent power supply when using one because they will draw up to about 250-300mA when transmitting. The radio can be disabled which dramatically reduces power consumption and if you are really interested in low power you can deep sleep these boards at which point they will still draw a few mA but thats a lot less than the couple hundred when the radio is running. For me this really isn’t much of a problem because most of my work is plugged into the wall but it is worth keeping in mind that if you want to run off of battery power, you will need a fairly beefy battery or to really be conscious of when you really need to use the radio or whether you can power down for a while.
- 32 bit CPU @ 80mhz
- 3.3V logic/power – very picky about needing clean power
- Programmed via serial
- 6-14 pins available depending on model
- 1 ADC – only 0-1v
- no hardware PWM – software only
- full wifi stack b/g/n
- Cheap ($2-5)
- Full WiFi stack
- Arduino IDE compatible
- Draw a lot of power
- No hardware PWM
- Only 1 ADC (0-1V)
- Not breadboard friendly
If you want to learn how to get your ESP8266 up and running check out my video tutorial here!
Overall I love these boards, they are my current go-to when building IoT projects! They are versatile and with serial communication can make just about any project (even those not using the ESP8266 as the main CPU) into a connected one for only a couple dollars. These definitely get the IKW seal of approval!