What is an ESP32, and does ESPHome need its extra power?

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.

Positioned as the sophisticated successor to the ESP8266, the ESP32 doesn't aim to replace its forerunner. Instead, it expands the technological horizon with an array of enhanced features suitable for a more complex range of projects and applications. Through this examination, we delve into the dual-core processing power, integrated Bluetooth functionality, and their implications for ESPHome projects. Whether you're an enthusiast keen on elevating your smart home experience or a developer seeking a reliable platform for innovative projects, grasping the significance of the ESP32 within the ESPHome ecosystem is crucial. This article endeavours to offer a thorough understanding of the ESP32, highlighting its capabilities, variations, and the specific ESPHome applications that genuinely leverage its advanced features.

Contents

The ESP32 Is More Than Just a Faster Chip

For the majority of ESPHome projects, the improved CPU power of the ESP32 may not be a game-changer. Yet, its on-board, dual-mode Bluetooth (Classic Bluetooth v4.2 and BLE) and other advanced features present a significant upgrade, making the ESP32 not just a faster but also more versatile option than the ESP8266. A notable advancement in the ESP32 is its input/output capabilities, boasting a total of 34 programmable GPIOs. This microcontroller remains highly affordable, benefiting from TSMC's 40 nm process to keep production costs low, ensuring availability even in challenging times.

This article not only explores the ESP32 and its capabilities in detail but also introduces other members of the ESP32-XX family, such as the RISC-V-powered ESP32-C3 and the Bluetooth 5 capable ESP32-S3, offering you a thorough understanding of the ESP32's role in enhancing ESPHome projects.

This article not only explores the ESP32 and its capabilities in detail but also introduces other members of the ESP32-XX family, such as the RISC-V-powered ESP32-C3 and the Bluetooth 5 capable ESP32-S3, offering you a thorough understanding of the ESP32's role in enhancing ESPHome projects.

Which ESPHome Projects Require an ESP32?

Beyond Bluetooth, the ESP32 offers additional benefits over the ESP8266 when used with ESPHome. These include hardware pulse-width modulation (PWM), touch pads, digital-to-analog converters (DAC), analog to digital converters (ADC), and deep sleep functionality.

ESP32 Hardware PWM for Lights and Motors

The ESP32's hardware PWM capabilities make it superior for controlling lights or motors using pulse-width modulation. It also features a hardware pulse counter, enhancing the accuracy of pulse counting compared to the software-based approach on the ESP8266.

Projects that involve PWM or pulse counting, such as Home Assistant Glow or setups using non-addressable LED strips, are best suited for the ESP32.

Using Ethernet With ESPHome

The ESP32 supports Ethernet, a feature not available on the ESP8266. Devices like the Wireless Tag WT32-ETH01 and the LILYGO TTGO T-Internet-POE offer stable and potentially faster network connections. The latter even supports Power over Ethernet (PoE), allowing for a single cable solution for both power and data. For situations where Wi-Fi congestion is an issue, opting for an ESP32 with Ethernet can alleviate network strain. If PoE is not directly supported but still desired, a PoE Splitter can be used to separate power and data, offering flexibility in power output.

Creating Capacitive Buttons With the ESP32 Touch Pad

The ESP32's touch pad component is unique, enabling the creation of capacitive buttons from simple materials like aluminium foil. This feature can extend to applications such as leak sensors.

Analog to Digital (Adc) Sensors in ESPHome

While the ESP8266 is limited to a single analog input, the ESP32 offers multiple ADC pins (GPIO32 through GPIO39), broadening the scope for analog signal projects. An example making use of this sensor is the ESPHome bed-presence detector using thin film pressure sensors.

8-Bit Digital-To-Analog Converter

The ESP32 can also generate analog signals through its digital-to-analog converter, allowing for direct analog output without the need for external filtering.

Wake up From Deep Sleep Using RTC Pins

Deep sleep functionality is crucial for battery-powered projects. The ESP32 can enter a low-power state, waking up in response to specific triggers, thanks to its Ultra Low Power (ULP) coprocessor and RTC memory. Using a programme stored in the RTC memory, the ULP can still access internal timers and sensors, and it can react to activity on any of the RTC pins, such as the push of a button.

Making Use of the ESP32's Bluetooth and BLE With ESPHome

Despite all the above-mentioned components, the most significant addition to the ESP32 is the Bluetooth and Bluetooth Low Energy (BLE) radio. Using it, you can track BLE devices within Home Assistant ecosystem. Alternatively, you can turn the ESP32 in to an iBeacon and have your smartphone detect it.

What Is Esp32 01 2
A close-up of a Xiaomi LYWSD03MMC digital thermometer and hygrometer display showing a temperature of 25.8 °C and a humidity level of 36%, accompanied by a displeased face symbol.
Round digital Xiaomi LYWSDCGQ device displaying a temperature of 24.1 °C at the top and a humidity level of 63% at the bottom. Icons for Bluetooth and battery level are visible above the temperature.

Connecting BLE sensors

BLE sensors, such as the RuuviTag and various temperature and humidity monitors, can be integrated into Home Assistant via an ESP32, bypassing the need for proprietary apps. These sensors include the RuuviTag, an open-source BLE sensor capable of measuring temperature, humidity, pressure, acceleration, and more. Two further similar sensors, the Inkbird IBS-TH1 and IBS-TH1 Mini, can also be used to keep an eye on a room's temperature and humidity.

Reading Xiaomi BLE Sensors With ESPHome

Xiaomi, a leading technology powerhouse and the world's second-largest smartphone vendor, offers an extensive array of Bluetooth Low Energy (BLE) devices perfectly compatible with ESPHome. This range includes innovative tools such as the MiFlora probes, designed to monitor the vital parameters of soil health for your indoor and outdoor plants, alongside the ingenious smart plant pot—known as FlowerPot, Huahuacaocao, or RoPot—that automates plant care in a highly interactive manner.

Even more captivating is Xiaomi's comprehensive selection of temperature and humidity sensors. These devices stand out not only for their capability to transmit crucial environmental data but also for their integrated screens, with some models boasting e-paper displays for a clear, immediate view of the current conditions. This feature is particularly appealing for those who prefer instant access to temperature or humidity levels without the need to consult the Home Assistant app or glance at a wall-mounted tablet.

Gathering data from Xiaomi smart scales ESPHome

Seamlessly incorporating weight and body composition data into Home Assistant is straightforward with the help of Xiaomi's Smart Scale (Mi Scale) and Mi Body Composition Scale 2 (Mi Scale 2), paired with an ESP32 running ESPHome. These smart scales are designed to support multiple users, offering a comprehensive analysis that includes weight, impedance measurements for estimating lean body mass, body fat percentage, hydration levels, bone mass, and muscle mass. This capability allows for a detailed understanding of health metrics directly within your smart home ecosystem.

A notable benefit of integrating Xiaomi's smart scales into your system is the local processing of data. Unlike other health device integrations, such as Fitbit, which rely on cloud services for data retrieval, the connection between Xiaomi scales and Home Assistant is direct and local. This method eliminates dependency on external APIs, which are subject to changes and discontinuation by their parent companies. By leveraging ESPHome with Xiaomi's smart scales, users gain a reliable, locally managed solution for tracking health metrics, ensuring privacy and reducing the risk associated with third-party service dependencies.

The ESPHome BLE Client

The ESP32's versatile functionality extends to its role as a BLE client when configured through ESPHome. This feature empowers the ESP32 board to interface with a wide array of BLE-enabled devices, such as heart rate monitors, OBD-II car diagnostic adapters, and various tags, facilitating a deeper integration of smart devices within your home automation system. For those looking to dive deeper into the capabilities of the ESPHome BLE client, a detailed exploration can be found in this comprehensive article.

Since its debut, the ESP32 has seen numerous iterations, broadening the ESP32-XX family. A particularly intriguing aspect of these variants is the inclusion of RISC-V CPUs in some models, leveraging the open-source RISC-V instruction set architecture (ISA) to offer a flexible and cost-effective solution for smart projects.

ESP32-S2 and ESPHome: No Bluetooth, single-core, and less SRAM

The ESP32-S2 stands out as a single-core variant devoid of Bluetooth capabilities and offering less SRAM but equipped with the Cadence Xtensa LX7 CPU. Despite its enhanced I/O and peripherals, the ESP32-S2's specific feature set may not align with the majority of ESPHome projects, even though it has been supported by ESPHome since version 1.18.0.

ESP32-C3: The Future ESP8266 Replacement

The ESP32-C3 integrates a 160 MHz single-core RISC-V CPU and has gained attention as a potential successor to the ESP8266 due to its competitive pricing and pin compatibility. With Bluetooth 5 support enhancing its speed, range, and throughput, the ESP32-C3 is poised to redefine project capabilities, although its support in ESPHome is currently in the early stages.

RISC-V (pronounced “risk-five”) is an open standard instruction set architecture (ISA) based on established reduced instruction set computing (RISC) principles. Unlike most other ISA designs, RISC-V is provided under open-source licenses that do not require fees to use. This openness allows any individual or organization to implement the ISA in their hardware without paying licensing fees, enabling widespread experimentation, adoption, and contribution to its development.

ESP32-S3 and ESPHome: More everything

The ESP32-S3 is a mash-up of the original ESP32 and the ESP32-S2. It features a dual-core Cadence Xtensa LX7 CPU, which can operate at up to 240 MHz, 384 kiB of RAM, and an additional 384 KiB of SRAM. Just as the ESP32-C3, it supports Bluetooth 5, but has 44 programmable GPIOs. As the ESP32-S3 was only announced on December 31, 2020, it isn't yet supported by PlatformIO, on which ESPHome relies.

ESP32-C6: Pioneering Wi-Fi 6 Integration

Emerging as the latest evolution, the ESP32-C6 introduces Wi-Fi 6 compatibility, setting a new standard for connectivity with its enhanced efficiency and reduced power consumption. This variant, still in the early stages of adoption, promises to unlock new possibilities for future smart home innovations. It has a single-core 32-bit RISC-V CPU operating at up to 160 MHz, 400 kiB of SRAM, and 384 kiB ROM found on the ESP32-C3. It also supports Bluetooth 5 and 22 programmable GPIOs.

Choosing Between ESP8266 and ESP32 for ESPHome Projects

The decision to opt for an ESP8266 over an ESP32 in ESPHome projects primarily hinges on two factors: cost and size. Despite the ESP32's affordability and advanced features, the ESP8266 remains a compelling choice for projects where these additional capabilities are unnecessary. The allure of the ESP8266 lies in its ability to facilitate the creation of significantly smaller PCBs at a lower cost. Models like the ESP-12F and ESP-01 are particularly attractive for their compactness and even more competitive pricing compared to ESP32 mini boards such as the LOLIN D1 mini. This makes the ESP8266 an ideal candidate for projects where space constraints and budget are primary considerations, underscoring its enduring relevance in the realm of home automation.

Illustration of a focused individual wearing a lab coat and glasses, soldering on an electronic circuit board at a cluttered workstation. The environment is packed with various electronic testing equipment, devices, and components creating a complex and busy workspace. Overhead lights cast a bright glow on the work area.
A portrait photo oif Liam Alexander Colman, the author, creator, and owner of Home Assistant Guide wearing a suit.

About Liam Alexander Colman

is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

Comments

Leave a comment

Share to...