Recently I decided make an wifi “Internet of Things” sprinkler controller, and wanted to take the opportunity to get to know the plethora of ESP8266 devices better. Getting started can be a bit daunting, because although these things are ludicrously cheap (under $2 USD each!) the manufacturer of doesn’t produce the same kind of savvy, beginner-friendly documentation that’s seen the Arduino platform rocket to fame.
For example, in order to put code on the ESP-12E module linked to above, you’ll need a handful of extra components, a 3v USB to serial adpater, and a specific wiring setup. Also, you’ll have a hard time getting it on your breadboard, because the spacing between the contacts on the side is 2mm, not the standard 2.54mm. Contrast this to an Arduino Uno, which is basically plug-and-play.
A number of breakout boards have been made to make prototyping with ESP8266 chips easier, and we’re going to look at three of the cheapest ones you can buy on AliExpress.
1. The generic breakout (pictured right)
AliExpress: Generic Breakout
Coming in at only $0.15 each (in a 10 pack), and sometimes less than $2.00 with the chip soldered on, these boards are the cheapest option, but have their annoyances. The biggest being that they don’t actually fit on a breadboard. Well, it does, but it leaves no space either side to fit any other pins.
I’ve seen some creative solutions to this where jumper wires are run out from underneath the adapter board, but it’s kind of a pain, and you’ll probably at least once put a pin in the wrong hole. Also, nothing on these boards gets you closer to programming the ESP – you’ll still need a 3v serial to usb adapter.
One other issue is that if you buy the ESP chips and breakouts separately, you’ll have to solder them yourself. I found it pretty straight forward, but I can understand why this would be a deal-breaker to some.
2. The Witty Cloud Dev Board (middle)
AliExpress: Witty Cloud Dev Board
Still insane at only $4 USD each these two-tier boards have everything you’ll need to get started. The top layer is basically just the breakout above, but the second layer acts as a bare-bones programmer, featuring a micro USB socket, reset and flash buttons.
Actually, the top layer has a couple of extras on it – an RGB LED, which is pretty neat; an LDR, also neat I guess; and another USB micro socket, which can only be used for power. I suppose this means you can flash the device, then pry it off the lower part and use it independently.
Again, it won’t fit in a breadboard, and if you’re attaching other sensors, you’ll have to remove them to use the programmer. It is nice that you can use the one programmer for any number of breakouts though.
3. The Wemos D1 Mini
AliExpress: Wemos D1 Mini
Still only $4 USD and the top result when you search ‘ESP8266’ and sort by number of orders (a great way to filter the dodgy results out). Wemos have earned this spot by making a pretty user-friendly product, and publishing some documentation.
One feature that sets this board apart is auto-programming, which means you don’t have to mess around pressing buttons when you want to flash new code to it, you just click the Upload button – just like Arduino!
Unlike the breakouts above, it fits on a breadboard with enough space for a wire either side. Also, it comes with a selection of headers – standard breadboard pins, Arduino socket style, and a bizarre hybrid style that’s far more useful than you’d perhaps initially expect.
4. The NodeMCU V3 Dev Board (still waiting)
AliExpress: NodeMCU V3 Dev Board
Still waiting on this one. Looks about as skinny as the Wemos, but with more pins. Doesn’t seem to have the auto reset/programming feature.
Breadboard Compatibility
You may wonder why breadboard compatibility is important – the answer is because your projects will end up looking like this:
Have you made the sprinkler controller?
Sure have, but I need to do a write up of it. The code for the server and client are available on my GitHub account if you want to have a poke around in the meantime: https://github.com/caseyfw?tab=repositories
Thank you for the useful review. Think I’m going for the Welmos.
Can you say anything on the programming environment?
Does the Arduino IDE work (stable) with the 3 boards?
Yes. You can use the Arduino IDE to program virtually all ESP8266 derivative boards, you just need to install the ESP board manager json.