-->

Wednesday, September 26, 2018

Getting started with NodeMCU (ESP8266 tutorial #1) - YouTube
src: i.ytimg.com

The ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese manufacturer Espressif Systems.

The chip first came to the attention of western makers in August 2014 with the ESP-01 module, made by a third-party manufacturer Ai-Thinker. This small module allows microcontrollers to connect to a Wi-Fi network and make simple TCP/IP connections using Hayes-style commands. However, at the time there was almost no English-language documentation on the chip and the commands it accepted. The very low price and the fact that there were very few external components on the module, which suggested that it could eventually be very inexpensive in volume, attracted many hackers to explore the module, chip, and the software on it, as well as to translate the Chinese documentation.

The ESP8285 is an ESP8266 with 1 MiB of built-in flash, allowing for single-chip devices capable of connecting to Wi-Fi.

The successor to these microcontroller chips is the ESP32.


Video ESP8266



Features

  • Processor: L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz
  • Memory:
    • 32 KiB instruction RAM
    • 32 KiB instruction cache RAM
    • 80 KiB user-data RAM
    • 16 KiB ETS system-data RAM
  • External QSPI flash: up to 16 MiB is supported (512 KiB to 4 MiB typically included)
  • IEEE 802.11 b/g/n Wi-Fi
    • Integrated TR switch, balun, LNA, power amplifier and matching network
    • WEP or WPA/WPA2 authentication, or open networks
  • 16 GPIO pins
  • SPI
  • I²C (software implementation)
  • I²S interfaces with DMA (sharing pins with GPIO)
  • UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
  • 10-bit ADC (successive approximation ADC)

Maps ESP8266



Pinout of ESP-01

The pinout is as follows for the common ESP-01 module:

  1. VCC, Voltage (+3.3 V; can handle up to 3.6 V)
  2. GND, Ground (0 V)
  3. RX, Receive data bit X
  4. TX, Transmit data bit X
  5. CH_PD, Chip power-down
  6. RST, Reset
  7. GPIO 0, General-purpose input/output No. 0
  8. GPIO 2, General-purpose input/output No. 2

Getting Started with ESP8266 (Part 3): Programming ESP8266 with ...
src: circuitdigest.com


SDKs

In late October 2014, Espressif Systems released a software development kit (SDK) for programming the chip directly, which removed the need for a separate microcontroller. Since then, there have been many official SDK releases from Espressif; Espressif maintains two versions of the SDK - one that is based on FreeRTOS and the other based on callbacks.

An alternative to Espressif's official SDK is the open-source ESP-Open-SDK that is based on the GCC toolchain. ESP8266 uses the Cadence Tensilica L106 microcontroller, and the GCC toolchain is open-sourced and maintained by Max Filippov. Another alternative is the "Unofficial Development Kit" by Mikhail Grigorev.

Other SDKs (mostly open-source) include:

  • NodeMCU - A Lua-based firmware.
  • Arduino - A C++-based firmware. With this core, the ESP8266 CPU and its Wi-Fi components can be programmed like any other Arduino device. The ESP8266 Arduino Core is available through GitHub.
  • Sming - An actively developed asynchronous C/C++ framework with superb performance and multiple network features.
  • PlatformIO (https://platformio.org/platforms/espressif8266) - A cross-platform IDE and unified debugger, which sits on top of Arduino code and libraries.
  • MicroPython - A port of MicroPython (an implementation of Python for embedded devices) to the ESP8266 platform.
  • ESP8266 BASIC - An open-source basic interpreter specifically tailored for the internet of things. Self-hosting browser-based development environment.
  • Zbasic for ESP8266 - A subset of Microsoft's widely used Visual Basic 6, which has been adapted as a control language for the ZX microcontroller family and the ESP8266.
  • Espruino - An actively maintained JavaScript SDK and firmware, closely emulating Node.js. Supports a few MCUs, including the ESP8266.
  • Mongoose OS - An open-source operating system for connected products. Supports ESP8266 and ESP32. Develop in C or JavaScript.
  • ESP-Open-SDK - Free and open (as much as possible) integrated SDK for ESP8266/ESP8285 chips.
  • ESP-Open-RTOS - Open-source FreeRTOS-based ESP8266 software framework.
  • Zerynth - IoT framework for programming ESP8266 and other microcontrollers in Python.
  • uLisp - a version of the Lisp programming language specifically designed to run on processors with a limited amount of RAM.

ESP8266 Nano Tutorial | Arduino Based Camera
src: www.arducam.com


Espressif modules

This is the series of ESP8266-based modules made by Espressif:

In the table above (and the two tables which follow), "Active pins" include the GPIO and ADC pins with which you can attach external devices to the ESP8266 MCU. The "Pitch" is the space between pins on the ESP8266 module, which is important to know if you are going to breadboard the device. The "Form factor" also describes the module packaging as "2 × 9 DIL", meaning two rows of 9 pins arranged "Dual In Line", like the pins of DIP ICs. Many ESP-xx modules include a small on-board LED which can be programmed to blink and thereby indicate activity. There are several antenna options for ESP-xx boards including a trace antenna, an on-board ceramic antenna, and an external connector which allows you to attach an external Wi-Fi antenna. Since Wi-Fi communications generates a lot of RFI (Radio Frequency Interference), governmental bodies like the FCC like shielded electronics to minimize interference with other devices. Some of the ESP-xx modules come housed within a metal box with an FCC seal of approval stamped on it. First and second world markets will likely demand FCC approval and shielded Wi-Fi devices.


MFRC522 and ESP8266 - YouTube
src: i.ytimg.com


Ai-Thinker modules

This is the first series of modules made with the ESP8266 by the third-party manufacturer Ai-Thinker and remains the most widely available. They are collectively referred to as "ESP-xx modules". To form a workable development system they require additional components, especially a serial TTL-to-USB adapter (sometimes called a USB-to-UART bridge) and an external 3.3 volt power supply. Novice ESP8266 developers are encouraged to consider larger ESP8266 Wi-Fi development boards like the NodeMCU which includes the USB-to-UART bridge and a Micro-USB connector coupled with a 3.3 volt power regulator already built into the board. When project development is complete, those components are not needed and these cheaper ESP-xx modules are a lower power, smaller footprint option for production runs.

In the Notes column, Flash memory sizes apply to the given module and all those below it in the table. Exceptions which apply to a single module are shown in ().


ESP8266-12E | iFuture Technology
src: www.ifuturetech.org


Other boards

The reason for the popularity of many of these boards over the earlier ESP-xx modules is the inclusion of an on-board USB-to-UART bridge (like the Silicon Labs' CP2102 or the WCH CH340G) and a Micro-USB connector, coupled with a 3.3-volt regulator to provide both power to the board and connectivity to the host (software development) computer - commonly referred to as the console. With earlier ESP-xx modules, these two items (the USB-to-serial adapter and the regulator) had to be purchased separately and be wired into the ESP-xx circuit. Modern ESP8266 boards like the NodeMCU are easier to work with and offer more GPIO pins. Most of the boards listed here are based on the ESP-12E module, but new modules are being introduced seemingly every few months.


ESP8266 - Getting Started & Connected. - YouTube
src: i.ytimg.com


See also

  • ESP32
  • NodeMCU
  • MicroPython
  • ESP Easy
  • Internet of things
  • MCU (microcontroller unit)

WIFI module ESP8266 PRO, Light version of NodeMCU board, 8M flash ...
src: ae01.alicdn.com


References


Creating a custom PS4 Playground for ESP8266 - YouTube
src: i.ytimg.com


External links

  • ESP8266 core for Arduino IDE

Source of article : Wikipedia