Skip to content

ESP32~

ESP32-S2/S3 support is in beta and not all functions or supported peripherals will work reliably.

Due to the scope and activity of development there might be breaking changes and incompatibilities between major and minor versions of Tasmota32. In case of problems first erase flash and serial flash the latest development binary.

ESP32 Differences~

All ESP32 systems on a chip (SoC) are 32-bit MCUs with 2.4 GHz Wi-Fi & Bluetooth/Bluetooth LE built in. There are distinct product lines which differ from each other in varying degrees. See ESP32 modules list for the full list.

ESP32~

An ESP32 has two or one Xtensa® 32-bit LX6 microprocessor(s) with clock frequency ranging from 80 MHz to 240 MHz. Tasmota32 is initially developed and tested with the dual core ESP32-D0WD-V3 and later expanded to include single core or PSRAM versions. Only first 4MB of PSRAM are useable (and reported) even if a bigger chip is connected (see here for more information).

Single core SoCs do not work with standard binaries, for those use only tasmota32solo1.bin or compile your own binary using the tasmota32solo1 environment.

ESP32-S2~

A more cost-efficient version of ESP32, cut down to a single core and several dedicated hardware security features (eFuse, flash encryption, secure boot, signature verification, integrated AES, SHA and RSA algorithms). It has 43 available GPIOs. Product page for ESP32-S2

Beta support in Tasmota

Use tasmota32s2- binaries for this line of chips.

ESP32-S3~

Keeping the security improvements the S3 line now again features the dual core SoC with Bluetooth upgraded to V5 . Product page for ESP32-S3.

Beta support in Tasmota

Use tasmota32s3- binaries for this line of chips.

ESP32-C3~

Unlike previous versions, C3 is a single-core Wi-Fi and Bluetooth 5 (LE) microcontroller SoC based on the open-source RISC-V architecture. It is available as ESP32-C3-MINI-1 and ESP32-C3-WROOM-02 modules. Product page for ESP32-C3

Beta Support in Tasmota

Use tasmota32c3- binaries for this line of chips.

Exclusive Features~

Autoconf~

As devices get more complex, it was useful to find a simpler way for users to configure a device in one click, including Template information, Ethernet configuration, SetOptions and Berry drivers.

After flashing Tasmota, open the web UI of the device and navigate to Configuration -> Auto-configuration. Select your device from the drop-down and click Apply Configuration.

Configuration files are stored here: https://github.com/tasmota/autoconf

To use it you need to have #define USE_AUTOCONF.

CPU Temperature Sensor~

Tasmota will create an internal temperature sensor and display the values in the webUI and MQTT.

{"Time":"2021-01-01T00:00:00","ESP32":{"Temperature":41.7},"TempUnit":"C"}

You can deactivate it using command SetSensor127 0

DAC~

DAC GPIOs are supported through Berry gpio module.

Hall Sensor~

ESP32 has a built in hall effect sensor that detects changes in the magnetic field in its surroundings. It is located behind the metal lid of the module and connected to GPIO36 and GPIO39.

To enable set in module configuration or template:

  • GPIO36 as HallEffect 1
  • GPIO39 as HallEffect 2

I2S~

Inter-IC Sound or I2S is possible through Berry gpio module

Touch Pins~

ESP32 has 10 capacitive touch GPIOs. More on configuring and using them....

Berry Scripting~

ESP32 introduces Berry language as a more approachable scripting language. Berry is very powerful and you can even code an I2C driver using it.

LVGL~

Use LVGL in conjunction with Berry on devices with displays and touch displays to design your own UI.

Flashing~

Use Tasmota Web Installer to easily flash ESP32 devices.

Other options include:

ESP_Flasher for flashing an ESP32 or ESP82xx (Windows, MacOs or Linux (Ubuntu)).

esptool.py - use the following command syntax:

esptool.py --chip esp32 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dout --flash_size detect 0x0 tasmota32.factory.bin

Use a proper power supply!

ESP32 is power hungry and there's a high chance it will not be able to boot properly off the serial-to-USB power. Power it from a separate power supply that can provide at least 500mA.

You can download precompiled binaries:

OTA upgrade from older versions of tasmota32 might fail due to significant changes in partition tables.

Compiling~

Uncomment the tasmota32xxx build you want to compile in platformio_override.ini. For example, uncommenting tasmota32 will build tasmota32.bin on the next Build task in Platformio.

platformio_override.ini

All binaries use user_config_override.h if it exists.

Working Devices~

Tasmota Supported Devices Repository has a more extenstive list of ESP32 based devices.

ESP32 Devices