Skip to content

Latest commit

 

History

History

ESP8266

Welcome to IoT-Spot👋

Logo

📌Espressif ESP8266

The ESP8266 is a low-cost Wi-Fi microchip, with built-in TCP/IP networking software, and microcontroller capability, produced by Espressif Systems. NodeMCU is a low-cost open source IoT platform.NodeMCU is an open source firmware for which open source prototyping board designs are available. The name "NodeMCU" combines "node" and "MCU" (micro-controller unit). The term "NodeMCU" strictly speaking refers to the firmware rather than the associated development kits. NodeMCU is formed by an ESP12E, which still has an ESP8266EX inside it. In a nutshell, an ESP8266 is an open hardware development board that can be used by tinkerers, hobbyists, and makers to design and build devices that interact with the real world.

This repository contains all the basic ESP8266 Projects one needs to know before working on end-to-end projects.

Features of ESP8266 include:

  • 32-bit microprocessor operating at 80 or 160MHz.

  • 320 KByte of RAM.

  • Operating voltage: 3.3V.

  • Input voltage: 7-12V.

  • Digital I/O pins: 16.

  • Analog input pin: 1.

  • 2 UART channel

  • 2 SPI channel.

  • 1 I2C channel.

  • WiFi 802.11 b/g/n support (2.4 GHz), up to 72.2 Mbps.

  • PCB Antenna.

  • 17 programmable GPIO pins.

  • 10 bit ADC with upto 18 channels.

  • 8 bit DAC.

  • 4 PWM output interfaces.

  • Integrated Hall effect sensor.

  • WPA, WPA2 authentication and Privacy Infrastructure.

  • Wi-Fi Mode Station/SoftAP/SoftAP+Station.

  • 3 sleep modes.

📍Pin Diagram

pindiagram

Specifications:

  • Micro-USB port
  • 3.3V regulated supply.
  • Vin: External input power supply.
  • EN, RST: Pin and button to reset the microcontroller.
  • A0: Used to measure analog voltage in the range 0-3.3V
  • GPIO1 to GPIO16: Used as input-output pins.
  • SD1, CMD, SD0, CLK: Used for SPI communication.
  • TXD0, RXD0, TXD2, RXD2: Used as UART interfaces. RXD1 & TXD1 are used to upload firmware on the board.

📃Documentation

Documentation provided by Espressif for all ESP Series

Documentation provided by Espressif for ESP8266EX

📦Installation

Prerequisites

Before starting the installation process, make sure you have the latest version of Arduino IDE.

Installing ESP8266 libraries to Arduino IDE

Follow the steps below:

  1. In your Arduino IDE, go to File>Preferences.

filemenu

  1. Enter the following URL into the "Additional Board Manager URLs" fields:
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    Then, click "OK".

preferences

Note: If you already have ESP8266 board URL, you can seperate the URLs with a comma.

  1. Open Boards Manager. Go to Tools>Board>Boards Manager.

toolsmenu

  1. Search for ESP8266 and press install button for ESP8266 by ESP8266 Community

boardsmanager

  1. Well done!. ESP8266 libraries should be installed in you Arduino IDE.

installed

Test the installation

Follow the steps below:

  1. Connect your ESP8266 board to your computer through micro-USB cable. Make sure the power LED turns on.

  2. Start Arduino IDE and navigate to Tools>Boards>/<Select your ESP8266 board>

selectboard

  1. Go to Tools>Port and select appropriate Port to which you ESP8266 board is connected.

selectport

  1. Now let's upload the Blink Program to check if we are able to program our ESP8266 board. Open example sketch from File>Examples>01.Basics or run the below program.
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Note: For more info, go to Basic LED Blink using ESP8266

Examples