desription |
---|
Everything about Tasmota on ESP32 |
!!! danger "ESP32-C3 and ESP32-S2 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.
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.
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.
!!! warning "Single core SoCs do not work with standard binaries, for those use only tasmota32solo1.bin
or compile your own binary using the tasmota32solo1 environment."
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
!!! warning "Beta support in Tasmota"
Keeping the security improvements the S3 line now again features the dual core SoC with Bluetooth upgraded to V5 . Product page for ESP32-S3.
!!! bug "Untested with Tasmota"
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
!!! note "Beta Support in Tasmota"
Use tasmota32c3-
binaries for this line of chips.
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"}
DAC GPIOs are supported through Berry gpio
module.
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
Inter-IC Sound or I2S is possible through Berry gpio
module
ESP32 has 10 capacitive touch GPIOs. More on configuring and using them....
ESP32 introduces Berry language as a more approachable scripting language. Berry is very powerful and you can even code an I2C driver using it.
Use LVGL in conjunction with Berry on devices with displays and touch displays to design your own UI.
Use ESP_Flasher for flashing an ESP32 or ESP82xx (Windows and MacOs executables are tested and verified as working).
With esptool.py use the following command syntax (replace COM port number!):
esptool.py --chip esp32 --port COM5 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dout --flash_freq 40m --flash_size detect 0x1000 bootloader_dout_40m.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 tasmota32.bin
!!! warning "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:
- development branch from http://ota.tasmota.com/tasmota32/
- stable releases from http://ota.tasmota.com/tasmota32/release/
- the required flash files (not needed when using ESP_Flasher)
OTA upgrade from older versions of tasmota32 might fail due to significant changes in partition tables.
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.
All binaries use user_config_override.h
if it exists.
Tasmota Supported Devices Repository has a more extenstive list of ESP32 based devices.
[ESP32 Devices][ESP32-Devices.md]