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 Development Services Require the Most Reliable Partners Explore how Svitla Systems can bring your IoT vision to life with expertise and innovative solutions. Contact Us

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.

FAQ

What are the main differences between ESP8266, ESP8285, and ESP32?

The ESP8266 and ESP8285, a Wi-Fi microcontroller by single-core standards, however, are not as integrated and compact as the ESP8285, which comes with a built-in 1MB flash memory, making it very appropriate for use in smaller projects. The more advanced dual-core microcontroller called ESP32 supports both types of wireless connectivity: Wi-Fi and Bluetooth; provides much more memory than GPIO pins; has CAN bus, among other features like higher ADC resolution, including ultra-low power modes. Hence, the ESP8266/8285 modules are meant for simple low-cost Wi-Fi projects, while the resultant ESP32 module is meant for complicated applications that require processing power, connectivity, and peripheral interfaces.

Does ESP8285 have any advantages over ESP8266?

The ESP8285 does present a few advantages over its predecessor, the ESP8266. It comes with built-in 1MB flash memory, meaning simplified hardware design and pluses toward space conservation, making it great for small or space-conscious projects. The ESP8285 maintains similarity in functionality and performance with that of the ESP8266, but has a higher integration level and reduced module size.

What are the key features that make ESP32 more powerful than ESP8266/ESP8285?

The ESP32 features a dual-core processor, much larger memory, and Wi-Fi plus Bluetooth connectivity. Other differences include peripherals such as GPIO pins, high-resolution ADC, CAN bus, and security features, to name just a few. It offers ultra-low deep sleep and OTA support, which makes this chip preferred for complex, demanding IoT applications. All these set the ESP32 at a level higher than that of an ESP8285 or ESP8266 in terms of the sophistication that it can handle and multitasking.

Are ESP8266, ESP8285, and ESP32 compatible with the same development tools and libraries?

The ESP32 is built around a dual-core processor with much more memory and Wi-Fi plus Bluetooth connectivity. Peripherals widen to include more GPIO, higher-resolution ADC, CAN bus, and secure features, among others. It includes ultra-low power deep sleep consumption and support for over-the-air updates; therefore, it is suitable for complicated and demanding IoT applications. These upgrades permit the device to carry out very complex functions in addition to simple multi-tasking that cannot be performed using an ESP8266 or an ESP8285.

Which module is better for my IoT project: ESP8266, ESP8285, or ESP32?

The choice of the module should be based on your project’s requirements. For simple IoT applications that need Wi-Fi connectivity and not much processing power, ESP8266 or ESP8285 are low-cost, energy-efficient options (ESP8285 includes integrated flash memory to allow even simpler design). If your device requires high computational resources, needs dual-mode Bluetooth and a large number of peripherals, as well as advanced power management capabilities, then ESP32 is a better choice.