The ESP32 from the manufacturer Espressif serves as a system-on-a-chip for Internet of Things projects. In the following article you can read what exactly it is all about, what the chip does and where it is installed.
First of all, you need to know what a System-on-a-Chip, or SoC for short, actually is. Basically it's very simple: a chip that contains most of the components of a "computer". You may be familiar with this from the Broadcom chips on the Raspberry Pi single-board computers: The board has all sorts of connections for power, USB, jack and so on, a number of conductor tracks, input-output pins and a large Broadcom chip that provides most of the functions, i.e. CPU cores, Bluetooth, graphics processor, RAM, interfaces and so on.
Compared to a full-fledged desktop PC, most of the components that the mainboard itself provides, as well as the plugged-in components (graphics card, RAM, etc.) are found on a single chip. That makes the systems extremely small and they use very little energy. And so SoCs are the perfect basis for IoT products, such as smartwatches or smart heating controls in the private sector, as well as a number of products for industry, such as medical devices. And they enable craft computers such as Raspberry Pi, Arduino, Tinkerboard and now dozens of other such mini-computers..
There is no single ESP32 in the sense that it is a whole family of chips in different versions. All modules should be robust enough to work from -40 degrees Celsius to 125 degrees Celsius, are designed for minimal energy consumption and include both WiFi and Bluetooth.
But there are tons of other functions on the chips, here is an excerpt:
WLAN according to the 802.11 b / g / n standards with up to 150 Mbps and four virtual interfaces.
Bluetooth 4.2 with audio functions.
CPU with one or two cores, 532 KB RAM and 448 KB ROM (boot loader).
8 MHz clock.
Peripheral interfaces: 34 GPIOs, 8-bit DAC, 3 times UART, CAN 2.0, Hall sensor.
Security features such as secure boot and hardware encryption including a random number generator..
You can find all the equipment in the very detailed Espressif datasheet .
As an end user, there is little you can do with the chip itself - just as little as with a Broadcom chip without the rest of the Raspberry. There are a number of such development boards from Espressif. It starts with the ESP32-PICO-KIT: In addition to the ESP32-PICO-D4 module, the small board also contains other components, above all 4 MB flash memory for installing the firmware. The whole thing also functions as a mini breadboard: The GPIO pins are broken into two small connector strips so that external components can be connected directly. The board is completed by an antenna and the micro-USB connection for the power supply. The pico board costs around 15 euros on Amazon.
The ESP-WROVER-KIT-VB is several sizes larger and costs around 60 euros, but also provides an LCD screen and a socket for microSD cards. The board also has another USB port, on / off switch, a boot button, status LEDs, the usual IO connectors, UART for serial communication, a connection option for camera modules (OV7670), jumpers for configuring various modes and so on.
In between there are a number of variants, for example special boards for audio or graphics applications. And of course: The boards don't just come from the chip manufacturer Espressif! Third-party manufacturers are also literally flooding the market with development platforms. AZDelivery, for example, has five boards for 35 euros, including a USB power supply and breadboard-compatible construction, i.e. they can be plugged into commercially available breadboards.
Software for ESP32
But even chips installed on a development board do not bring you anything at first - not without software. By default, development runs entirely on the command line. From Espressif you need a toolchain and API , then you can start right away. Alternatively, you can also use the Arduino development environment. (In addition to the ESP32, its popular predecessor ESP8266 is also addressed.)
If you have bigger plans, you can also implement projects using the Eclipse IDE, and there is a corresponding briefing at Espressif itself: https://docs.espressif.com/projects/esp-idf/en/latest/get-started/eclipse -setup.html .
And what can ESP32 do now?
The whole thing is now pretty abstract and if you are new to the world of SoCs and single-board computers, you quickly ask yourself: What can I do with it now? The answer may be unsatisfactory, but: Basically everything. Espressif already provides a whole range of application examples. There you will find, for example, voice recognition, mesh networks, surveillance cameras, everything in the field of smart homes, smart surveillance in garden centers, streaming clients for internet radio, heart rate monitors, smartwatches and even service robots.
In the simplest case, you could do useful things with just three components and little development effort - let's give a concrete example: With an ESP32-PICO-KIT board, a temperature sensor and a remotely controllable thermostat, you could already implement a completely automated heating control. Code for such projects is relatively simple and can be mastered even for beginners - actually it is little more than a query like "If sensor value (thermometer) equals 20, set actuator (motorized thermostat) to value 80".
Of course, it takes a little more work to get to the finished product, but at least stupid, smart things are typical weekend projects for those who like handicrafts.
There is one thing that ESP32 modules and boards are definitely not: A usable replacement for complete single-board computers such as the Raspberry Pi. The Raspi is a finished end product with relatively ample computing power that can easily be made into a media center or router with finished images. Like Arduino boards, the ESP32 boards are intended as embedded systems primarily for IoT products - and are therefore aimed at hobbyists and developers.