In order to start working with ESP8266, you will need a series of software and hardware components. ESP8266 is a 32-bit RISC low-cost microcontroller with Wi-Fi connectivity, capable of running at 80 MHz or 160 MHz. It has 64 KiB of instruction RAM and 96 KiB of RAM data.
For firmware and other data storage, an external QSPI flash is connected to it and the size can vary from 512 KiB to 4 MiB. The chip itself exposes 16 General Purpose Input/Output (GPIO) pins but some of them are used for the QSPI flash connection. The remaining pins are capable of Serial Peripheral Interface (SPI), I2C, I2S, Universal Asynchronous Receiver/Transmitter (UART), and one 10-bit Analog to Digital Converter (ADC).
The Wi-Fi capabilities are according to IEEE 80.11 b/g/n and provide WPA/WPA2 and WEP authentication but can also connect to open networks.
For this chapter, you will need just an ESP8266 module of your choice, since nowadays, there are many producers and board types available.
A good board can be found on Sparkfun.com or on e-commerce sites, such as banggood.com, or aliexpress.com but don't stop searching for them at your local electronics stores.
Now, the form factor of your board depends on your project constraints but for getting started with this chip, we can use one of the following boards:
- Witty ESP12-F board
- NodeMCU v1.0
- WeeMos D1 mini
Either board will work fine but if you are a beginner, I'd recommend you to start with the Witty ESP12-F board because it already has:
- LDR (Light Dependent Resistor) connected to the analog A0 input
- RGB LED connected to GPIO 15, GPIO 12, and GPIO13
- A push button connected to GPIO 4
Later, when we add other sensors to ESP8266, this module can be replaced with any of the other ESP8266 modules.