ESP-12

ESP-12s are very low cost ESP8266 devices that can be used as an alternative to ESP01 devices when more pins are required.

The ESP-12. It's easier to use if soldered to a breakout board like the one shown. Use the same ESP01 USB adapter with jumpers to connect the pins. It comes with built in pullup resistors so you don't need to add your own.

The advantage of the ESP12 is that GPIO16 and RST are both available, allowing the ESP12 to be used as a battery device with a periodic wakeup (see MppReporter for an example).

The inexpensive ESP01 breakout board on the far right is handy for use with the ESP01 USB adapter. Connect it with jumpers to sonoffs or other devices to make connecting easier. Use jumpers to connect RST to GND (reset) and GP0 to ground (program) to make flashing easier for the ESP01 and other devices.

If you use this board with an analog input of more than 0-1.0V you'll need to add an external voltage divider - usually 100K from ADC to GND with the analog input presented to ADC through a 200K resistor for use with 2 x 1.5V batteries. If the input goes to 3V3 use a 220K resistor.