The ESP8266 is a Wi-Fi module great for IoT and Home Automation projects. This article is a getting started guide for the ESP8266 development board.
About the ESP8266
The ESP8266 is a $4 (up to $10) Wi-Fi module. It allows you to control inputs and outputs as you would do with an Arduino, but it comes with Wi-Fi.
So, it is great for home automation/internet of things applications.
So what can you do with this low cost module?
- create a web server
- send HTTP requests
- control outputs
- read inputs and interrupts
- send emails
- post tweets
If you want to create a web server with the ESP8266, we highly recommend following our tutorial: Build an ESP8266 Web Server
- 11 b/g/n protocol
- Wi-Fi Direct (P2P), soft-AP
- Integrated TCP/IP protocol stack
- Built-in low-power 32-bit CPU
- SDIO 2.0, SPI, UART
Comparing the ESP8266 with other Wi-Fi solutions on the market, it is a great option for most “Internet of Things” projects! It’s easy to see why it’s so popular: it only costs a few dollars and can be integrated in advanced projects. We’ve published dozens of free ESP8266 projects and tutorials.
There is a successor of the ESP8266 – the ESP32. The ESP32 combines Wi-Fi and Bluetooth and is dual core. Read the following article to find the differences between the ESP8266 and the ESP32:
The ESP8266 comes in a wide variety of versions (as shown in the figure below). The ESP-12E or often called ESP-12E NodeMCU Kit is currently the most practical version, in our opinion.
We highly recommend using the ESP8266-12E NodeMCU Kit, the one that has built-in programmer and lots of GPIOs. The built-in programmer makes it easy to prototype and upload your programs.
For a comparison between the different ESP8266 boards, you can read the following article:
The most widely used ESP8266 development boards are the ESP-01, the ESP8266-12E NodeMCU Kit and the Wemos D1 Mini. We’ll show you the pinout for those boards. If you’re using another development board, make sure you have the right pinout.
ESP-12E NodeMCU Kit Pinout
Here’s a quick overview of the ESP-12E NodeMCU Kit pinout:
WeMos D1 Mini Pinout
Here’s the Wemos D1 Mini pinout:
Here’s the ESP-01 pinout.
We recommend taking a look at our ESP8266 GPIO guide that shows in great detail the function of each GPIO and how to use them:
Programming the ESP8266 Using Arduino IDE
There are several ways to program the ESP8266. We often use Arduino IDE or MicroPython.
You can follow one of the next tutorials to get started with the ESP8266 in Arduino IDE or MicroPython:
- How to Install the ESP8266 Board in Arduino IDE
- Getting Started with Thonny MicroPython (Python) IDE for ESP32 and ESP8266
Recommended ESP8266 Projects
After installing the ESP8266 board add-on in your Arduino IDE or flashing MicroPython formware, you can start making projects with the ESP8266.
We have a compilation with more than 30 projects and tutorials with the ESP8266:
To access all our MicroPython tutorials with the ESP8266 click here.
Here’s a selection of some of our most popular and beginner-friendly projects with the ESP8266:
- Home Automation Using ESP8266 Course
- ESP8266 Wi-Fi Button – DIY Amazon Dash Button Clone
- ESP8266 Web Server
- ESP8266 Weather Forecaster
- ESP32 with DHT11 DHT22 Temperature Humidity Web Server using Arduino IDE
- Door Status Monitor using the ESP8266
- ESP8266 0.96 inch OLED Display with Arduino IDE
Watch the ESP8266 Video Review
This video is a bit outdated but gives you a simple introduction to the ESP8266.