Yeah if anyone is just looking to get started tinkering with embedded hardware I'd say this is the way to go. The chips were made popular by NodeMCU which uses Lua, but you can easily run Arduino or write plain C on the same hardware.
I've tried a few breakout boards and my favourite is the WEMOS D1 Mini. All you need to supply is a MicroUSB cable. You can get them shipped from China for under $3: https://wiki.wemos.cc/products:d1:d1_mini
FWIW, based on recommendations here at HN, I went with the WEMOS D1 Mini early this year when I decided to replace all the electronics in my kids' RC trucks. The project went amazingly well. In each of the 2 trucks, I wired it up with a WEMOS motor controller driving a 9V/2A motor, a smaller motor for turning, and some LEDs. I 3D printed new shells with Lego compatible studs on top. I hot glued the electronics inside. I wrote mostly-ordinary Arduino code. All of this took only about 2 weeks in my spare time.
So now my kids have 2 wifi-tablet-controlled trucks with very custom programming (for N-point turns, playing music through the motor windings, headlight blinking, etc.) and the ability to update the program over the air at any time. It's basically magic. I spent only about $8 per truck.
Yeah, the WEMOS D1 is the real deal. I love it so much that I bought a pile of them before I've even decided what I want to use them for.
Absolute favorite for me too. ESP32 is now also widely available and pretty cheap for it's performance.
My second favorite ESP8266 hardware are the "Sonoff" brand WLAN mains power switches. I especially like the Sonoff S20 for its form factor, and the Sonoff POW for it's power metering capability. They contain an ESP8266 and can be reflashed with different firmware that does not need the vendors cloud services to work.
Oooh, ITEAD make sockets now? I got a bunch of switches a while ago, wrote my own firmware for them, and today I saw their wifi-enabled light switch and got one of those too. I love love love their stuff, they make it super easy to retrofit my house with "smart" devices where I can control every line of code.
I can vouch for the D1 mini also. It's the one you want, by far. It has an on board programmer so you can power and program it from USB, while being the smallest board in size out of the popular ones.
Have you tried the NodeMCU? (Not suggesting it, as I actually killed mine when trying to program it, but more curious about whether you’ve compared it to the Wemos D1.)
Yes and no. ESP8266 would typically survive 5V applied on any pin, and sometimes even sort-of work with 5V power applied (although with much higher power consumption and no WiFI).
But there is a catch. Pretty much all CMOS chips (ESP8266 inclided) have body diodes from each IO pin to power/ground. This means - you can't have voltage higher than VCC+0.6v or lower than GND-0.6v on any pin. So what happens when you have ESP8266 powered from 3.3v and connected to 5V I/O is - ESP will get (partially) powered via I/O pin. Depending on what 5V part is connected to that I/O, that might be bad for that part (excess of I/O sink current). And in extreme cases (5V I/O pin that can deliver high current, or ESP is in deep sleep), this will supply current into 3.3V VCC rail, bringing it up as high as 5 - 0.6 = 4.4v potentially. Which could be bad for anything else on that rail.
As a practical example - let's say we have ESP8266 powered by a switching supply with MP2307DN [1] chip delivering 3.3v, and connected to a 5v AVR. In normal operation, ESP takes ~70mA, which exceeds 40mA driving capability of AVR, so it's all good [2]. However once ESP8266 goes to deep sleep, all 40mA from AVR's I/O go via ESP's body diode back to MP2307DN switch, which usually would fail catastrophically and end up shorting input to output, supplying 12 (or whatever the input is) volts to ESP's VCC. Which is likely to fail as well, sending 12v further and frying the whole thing.
[1] MP2307DN is widely and cheaply available on "Mini360 DC-DC buck convertor" boards and it really doesn't like current being back-fed into its output
[2] Except I/O drive transistor in AVR is overloaded, which might or might not lead to its failure eventually.
I was somewhat surprised that ESP32 not only survived being powered from 5V, but worked somewhat reliably while so and I only noticed that the software issues I was debugging were caused by that from the smoke coming off the paper label on breakout module.
>The chips were made popular by NodeMCU which uses Lua, but you can easily run Arduino or write plain C on the same hardware.
I'm pretty sure that its the work done to make these into $3 wifi arduinos that is what made them popular. That's why wemos literally sells one that is shaped like, and has the same header spacing as, an arduino uno.
I've tried a few breakout boards and my favourite is the WEMOS D1 Mini. All you need to supply is a MicroUSB cable. You can get them shipped from China for under $3: https://wiki.wemos.cc/products:d1:d1_mini