In the previous post of this new section about the ESP8266 and ESP32, we looked at the ESP8266 SoC. In this post, it’s time to look at its big brother, the ESP32, within this tandem of processors designed for IoT.
In upcoming posts, we will look at development boards based on these SoCs and how to program them with different firmwares and programming languages.
But for now, it’s time to introduce the ESP32, a powerful machine that stands out for its WiFi and Bluetooth BLE communication capabilities.
What is the ESP32?
The ESP32 is a SoC (System on Chip) designed by the Chinese company Espressif and manufactured by TSMC. It integrates into a single chip a dual-core 32-bit Tensilica Xtensa processor at 160Mhz (with the possibility of up to 240Mhz), WiFi and Bluetooth connectivity.

We will compare both models in more detail in the next post, but we can already see that it is far superior to the ESP8266. In return, logically, the price is slightly higher. But even so, it is spectacular in terms of features/price.
As could not be otherwise, the Maker community welcomed the new ESP32 with open arms. Firmwares, documentation, and tools have been developed, and although its support is still inferior to that of the ESP8266, it is currently easy to find tutorials about it and new articles are continually being published.
Of course, manufacturers are paying attention and have developed numerous development boards that integrate the ESP32. Some have LiPo batteries like 16050, others have TFTs, others OLED screens, Lora communication… And new options keep appearing, some really interesting.
We are also starting to see articles and commercial products that use the ESP32 as their core. However, for now, we find more articles that mount the ESP8266, probably due to its lower price or longer time on the market. Nevertheless, this trend may end up reversing and we may see a greater number of commercial products based on the ESP32, given its greater power and inclusion of Bluetooth BLE.
Regarding programming languages, we have several options, basically similar to those we saw for the ESP8266. It is possible to use the Arduino IDE, install MicroPython, RTOS, Mongoose OS, Espruino.
In short, a very interesting machine that will give us a lot of possibilities. It has enormous potential for all kinds of projects, especially due to its communication capabilities, occupying a prominent place in IoT applications. You won’t get bored for lack of projects, that’s for sure.
We will delve deeper into the ESP32 in future tutorials in the section dedicated to the ESP8266 and ESP32.
For now, here are the technical specifications of this beast of a little machine.
{ “CPU and Memory”: [ { “label”: “Processor”, “value”: [“32-bit Xtensa LX6 dual-core at 160Mhz (max 240 Mhz)”, “Ultra low power co-processor”, “Integrated TCP/IP stack”] }, { “label”: “Memory”, “value”: “520 KiB SRAM, external flash up to 16MiB” } ], “Peripherals”: [ { “label”: “GPIO”, “value”: “32 pins” }, { “label”: “ADC/DAC”, “value”: “12-bit ADC 18 channels, 2x 8-bit DAC” }, { “label”: “PWM”, “value”: “16 LED PWM outputs, 1 for motors” }, { “label”: “Sensors”, “value”: “10x capacitive, temperature, Hall effect” }, { “label”: “Interfaces”, “value”: “3x UART, 4x SPI, 2x I2S, 2x I2C, CAN bus 2.0” }, { “label”: “SD/SDIO”, “value”: [“SD/SDIO/CE-ATA/MMC/eMMC Host”, “SDIO/SPI Follower” ]}, { “label”: “Others”, “value”: “Random number generator, RTC, 8-channel IR” } ], “Wi-Fi”: [ { “label”: “Standard”, “value”: [“802.11 b/g/n 2.4GHz”, “(supports WFA/WPA/WPA2/WAPI)”] } ], “Bluetooth”: [ { “label”: “Version”, “value”: “v4.2 BR/EDR and BLE” } ], “Security”: [ { “label”: “Features”, “value”: [“Flash Encryption”, “Secure Boot”, “Hardware-accelerated Cryptography”] } ] }

