ESP8266 vs ESP8285 vs ESP32

8690-2.jpg

The Internet of Things (IoT) is increasing its pace of development, which is made obvious by the numerous improvements that have been made to benefit both end-users and large corporations with the widespread introduction of IoT for tech chains and production cycles.

IoT was very much everywhere amongst radio amateurs, electronic engineers, and software engineers. Several open-source projects are now available on the Internet, which can be assembled in just a couple of hours.

Affordable microcontrollers and convenient firmware development environments also contributed to this widespread use of proprietary IoT development.

Let’s take a look at one of these families of microcontrollers from the Espressif company.

Table of contents:

  1. Why use the microcontroller in IoT?
  2. ESP microcontroller family.
  3. ESP8266.
  4. ESP8285.
  5. ESP32.
  6. Arduino compatibility.
  7. Conclusion.

 

Why use the microcontroller in IoT?

A microcontroller is a specialized computing device for controlling or monitoring a specific process or a single task in a large system.

The microcontroller usually lacks a full-fledged operating system. It is designed to perform a range of tasks recorded in the firmware in the memory of the device.

The first microcontroller was developed in 1971 by engineer Gary W. Boone, a member of Texas Instruments. In 1980, Intel released the i8048 microcontroller and the i8051 that same year. A successful set of peripherals, the ability to flexibly choose external or internal software memory, and a reasonable price have ensured this microcontroller’s success in the market. In terms of technology, the i8051 microcontroller was a very complex product for its time: 128,000 transistors were used in the chip.

Why do you need to use microcontrollers with IoT:

  • To organize calculations and communication in client parts of IoT
  • To organize hubs and repeaters of intermediate communication nodes in the general system of IoT
  • To control end devices (on/off, smooth regulation of values, collection of parameters from sensors)

ESP microcontroller family

The family of ESP microcontrollers can be effectively used in IoT projects of varying complexity.

Espressif Systems (Shanghai) Pte., Ltd. is a China company that started out in 2008 with a very small group of engineers. They released the ESP8089 chip in 2013.

  • The advantages of these microcontrollers are:
  • Affordability and availability in any location for purchase
  • Low power consumption
  • Easy integration with Arduino IDE and libraries
  • Availability of ready-made boards with decoupling of components and pins for peripherals
  • Availability of WiFi connection
  • Bluetooth connection in older versions of the microcontroller
  • Execution in the form of various forms of cases, including SoC.

All these advantages in general give a unique combination of qualities. In addition, there is a huge prevalence of uses and ready-made firmware that gives serious advantages when building a home IoT system, prototypes for industrial designs, or small series of narrow-purpose IoT devices.

ESP8266

Recently, the use of the updated Wi-Fi module ESP8266, version ESP-01S (based on the ESP8266EX chip with a built-in TCP/IP protocol stack and AT command management), has become very popular. The chip is designed for use in smart outlets, mesh networks, IP cameras, wireless sensors, wearable electronics, and so on.

Internet of Things

 

ESP8266 power consumption is comparatively low for such solutions with WiFi. Also, it has a very good option to go into sleep mode, where power consumption is unbelievably low (1.0 mW).

There are two options to use the chip: 

  1. Through the UART-WIFI bridge when the module based on ESP8266 connects to an existing solution based on any other microcontroller and is controlled by AT commands, providing communication with the Wi-Fi infrastructure; 
  2. By implementing a new solution using the ESP8266 chip itself as a control module by the microcontroller.
ESP8266

Specifications of ESP8266:

  • Support for WiFi protocols 802.11 b / g / n
  • Wi-Fi Direct (P2P), soft-AP
  • Built-in TCP / IP stack
  • Built-in TR switch, balun, LNA, power amplifier and network matching
  • Built-in PLL, regulators, and power management system
  • Output power +19.5 dBm in 802.11b mode
  • Program memory: 1 MB
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • Wake up and send packets: up to 22 ms
  • Consumption in Standby mode up to 1.0 mW (DTIM3)
  • Dimensions: 24.5x14 mm

Connections:

  • Vcc - power supply, + 3.3V (maximum 3.6V)
  • GND - common ground
  • TXD - data transmission (3.3V level)
  • RXD - data receiver (3.3V level)
  • CH_PD - turn off the module (low level is active, to turn on the module, send Vcc)
  • GPIO0 - general purpose pin 0
  • GPIO2 - general purpose pin 2 (LED blue, low-on)
  • RST - module reset (low level active)

At the same time, note that different manufacturers may vary module parameters, such as pin count and package form-factor. 

Please note, if we compare esp8266ex vs esp8266 it means esp8266ex is a new version of 8266. ESP8266ex is the updated version, and now it is most commonly available. ESP8266EX is the revised hardware and architecture version from the early ESP8266.

ESP8285

In fact, between ESP8285 and ESP32, there is also an intermediate solution ESP8285. This is a great option if your project does not have enough memory or computing resources, but at the same time, ESP32 is redundant.

The ESP8285 module is a continuation of the ESP8266 line and has a higher degree of integration and reduced dimensions. With the same functionality, the ESP8285 chip has a 1MB program memory operating in DUOT mode.

ESP8285

Specifications of ESP8285:

  • Program memory size: 1MB
  • Program memory operating mode: DOUT (in other modes this memory does not work)
  • Interface support: UART / GPIO / PWM / ADC
  • Built-in lwIP protocol stack
  • Supports data transmission modes: STA / AP / STA + AP - Supports Smart Config / AirKiss technology
  • UART speed: up to 4 Mbps
  • Supports Remote Firmware Upgrade (FOTA)
  • Module Form Factor: DIP-18
  • SPI Flash: Built-in 1MB
  • Interface: UART / GPIO / PWM / ADC
  • I / O ports: 11
  • UART baud rate: 300-4608000 bps, default 115200
  • Frequency range: 2412-2484 MHz
  • Antenna: built-in, 2dBi
  • Current consumption: (Continuous transmission => Average: ~ 71mA, Peak: 300mA, Sleep: ~ 20mA)
  • Supply voltage: 3 ... 3.6 V.
  • Working temperature: -20 ... 85 С
  • Dimensions: 15x12 mm

ESP 8285 with almost the same price provides more resources and performance, compared with ESP8266. ESP8285 has ultra-low power 32-bit MCU with 16-bit RISC core, and WiFi b/g/n/d/e/i/k/r connections. Please refer to the ESP8285 pinout on this page.

ESP32

The ESP32 module with 4 MB PSRAM memory, which is built on the ESP32-D0WDQ6 chip from Espressif, is becoming very popular among developers.

It has Wi-Fi and Bluetooth radio channels, a dual-core microcontroller, a rich set of built-in peripherals, and is a certified "FCC part 15.247".

A key feature of the module is the ability to connect an external antenna through the U.FL connector. We will add here the presence of additional RAM data, which allows you to run the microPython programming language on the controller. This chip is convenient to use in conjunction with the ESP32 development module, which makes it easy to create rapid prototypes since you do not need to design your own PCB.

ESP32

If we compare esp32 vs esp8266 then distinctive features of ESP32 are the following:

  • Dual-mode Bluetooth support: "classic" and BLE
  • Wi-Fi speed: 802.11 b / g / n up to 150 Mbps
  • Supports Wi-Fi modes: Client, Access Point, Sniffer, Wi-Fi Direct
  • Minimum sensitivity -98 dBm
  • Wide operating temperature range: -40 ° C ... + 125 ° C
  • Power consumption up to 5μA (deep sleep mode)
  • Over the air software update
  • Ability to connect 4 x 16MB external QSPI Flash and SRAM

Specifications of ESP32:

  • Microcontroller and control: Tensilica Xtensa LX6 dual-core 32-bit processor, clocked at 240 MHz and up to 600 DMIPS (Dhrystone IMPS)
  • Ultra-low-power co-processor
  • Built-in program memory: 4 MB
  • RAM: 520KB SRAM
  • Additional RAM: 4 MB
  • Wireless connection:
  • Wi-Fi: 802.11 b / g / n
  • Bluetooth: v4.2 BR / EDR and BLE
  • Peripheral interfaces:
  • 12-bit ADC up to 18 channels
  • 2 × 8 bit DAC
  • 10 × ports for connecting capacitive sensors (measuring GPIO capacity)
  • Built-in temperature sensor
  • 4 × SPI master interface (master)
  • 2 × I²S master interface
  • 2 × I²C master interface
  • 3 × UART interfaces
  • SD / SDIO / CE-ATA / MMC / eMMC host controller
  • SDIO / SPI slave controllers (slave devices)
  • Ethernet MAC interface with dedicated DMA and IEEE 1588 Precision Time Protocol support
  • CAN bus 2.0
  • IR remote control (transmitter/receiver, up to 8 channels)
  • PWM interface with the ability to connect motors and LEDs
  • Hall Sensor
  • Low power analog preamplifier

The following safety implemented in ESP32 allows users to build reliable and secure IoT devices:

  • All IEEE 802.11 security features are supported, including WFA, WPA / WPA2, and WAPI
  • Secure boot
  • Flash Drive Encryption
  • 1024 bit key, up to 768 bit for clients
  • Cryptographic Hardware Acceleration: AES, SHA-2, RSA, Elliptic Curve Cryptography (ECC), hardware random number generator with WiFi or Bluetooth enabled.

Very impressive power management is implemented in EPS32:

  • Linear regulator with low voltage drop
  • Individual power supply for RTC
  • Consumption of 5 μA in the "deep sleep" mode
  • Wake up on GPIO interrupt, timer, ADC measurement, capacitive touch interrupt

Now, the following table summarizes the key characteristics of these three Espressif microcontrollers. Comparing esp32 vs esp8266 power consumption, esp8266 has a better value during standard work mode, and esp32 has very low power consumption in the sleep mode.

 ESP8266ESP8285ESP32
Wireless connectionWiFiWiFiWiFi, Bluetooth
Memory (SRAM, Flash)

160 KB, 512 KB to 4 MB external Flash

75 kb, 1Mb520 KB, 4Mb
Deep sleep mode20 µA20 µA5 µA
GPIO171736
Cores112
CAN busNoNoYes
ADC10 bit10 bit12 bit
Operating Temperature–40 °C ~ 125 °C–40 °C ~ 85 °C–40 °C ~ 125 °C

Arduino compatibility

Microcontroller programming is usually done in assembler or C, although there are compilers for other languages, such as microPython or Lua. To debug programs, software simulators are used - special programs for personal computers that simulate the operation of the microcontroller, in-circuit emulators - electronic devices that simulate a microcontroller, which can be connected instead to the built-in device under development.

To program ESP8266 controllers, there is a real-time SDK ESP8266_RTOS_SDK.

To program Espressif ESP-32 microcontrollers, there is an ESP-IDF development environment. This is the official development framework for the ESP32 and ESP32-S Series SoCs.

On the other hand, the rapid proliferation of Espressif microcontrollers has increased not only their cost but also the availability of integration with the popular Arduino IDE development environment.

Here’s what actually makes it possible to develop microcontroller firmware in the Arduino environment:

  • Availability of fast development and debugging environment for firmware
  • Support for the simple structure of C programs
  • A huge number of libraries for working with various peripherals
  • Support for network protocols for working with HTTP, MQTT, etc.
  • A wide distribution of open source and examples of solving specific problems

All these possibilities of using the Arduino IDE gave momentum to the proliferation of ESP microcontrollers in various models. Add Wi-Fi, Bluetooth (for the ESP32), and low-power consumption, and we have the bestseller among microcontrollers.

Conclusion

In general, the ESP8266 and ESP32 controllers do not compete with each other - they perform different tasks. We cannot compare esp32 vs 8266 directly, they are just designed to do different jobs, like a shovel and excavator. Each IoT application or home device requires a proper microcontroller and ESP series are very good to choose from.

It is very important that you can build a very cheap and energy-efficient solution based on these controllers.

Also, a huge plus is the availability of two software development options for these controllers - through the native compiler and through the Arduino environment.

ESP microcontrollers are indispensable for prototyping IoT solutions and building fast projects for private use and in small business solutions with a short life cycle.

Our Svitla Systems specialists have been working in the IoT field since its inception, giving us the ability to qualitatively and quickly develop a backend for your IoT project. We have experience in developing client software in the IoT field.

In addition to building hardware and writing software, it is also important to test all the necessary system components at a high level. Svitla Systems will provide you with the necessary resources and a team of testers.

To build a cost-effective project, it is also important to provide the necessary support and maintenance actions - for this, Svitla Systems provides qualified personnel for system administration, DevOps, and support engineers for your needs.