ESPEasy, Automate (using) Common Sense, No AI.

May 3, 2026 ยท View on GitHub

Latest NightlyBuild StatusDownloadsDocsPatreonKo-FiPayPal
GitHub versionBuild statusDownloadsDocumentation Statusdonatedonatedonate

For ways to support us, see this announcement on the forum, or have a look at the Patreon, Ko-Fi or PayPal links above.

ESPEasy, Automate (using) Common Sense, No AI.

The main objective for ESPEasy is to make people realize they can easily control appliances and act on sensor data.

Anyone can use it and you don't need AI. Only requirement is common sense and appreciate the satisfaction of seeing things just work.

If you can't build it yourself, you don't 'own' it.
So let's make sure YOU control it.

We are more than willing to assist via our forum.

ESPEasy (development branch)

Introduction https://espeasy.readthedocs.io/en/latest/ (and, mostly outdated, wiki: https://www.letscontrolit.com/wiki/index.php/ESPEasy#Introduction)

MEGA This is the development branch of ESPEasy. All new features go into this branch, and it has become the current stable branch. If you want to do a bugfix, do it on this branch.

Check here to learn how to use this branch and help us improving ESPEasy: Starter guide for (local) development on ESPEasy

Web based flasher (experimental)

To make it easier to get started, one may flash a build directly to the ESP from your browser. Currently only Chrome and Edge are supported.

See this flash page to try the new web flash feature.

The web flasher is using ESP Web Tools made by the people behind ESPHome and Home Assistant.

Binary releases

On demand, controlled by the repo owner, our build-bot will build a new binary release: https://github.com/letscontrolit/ESPEasy/releases

The releases are named something like 'mega-20220626' (last number is the build date)

Depending on your needs, we release different types of files:

The name is built up from a few key parts:

ESPEasy_mega_[releasedate]_[build-type]_[opt-arduino-library]_[hardware-type]_[flash-size][filesystem-size]_[opt-build-features].bin

[build-type] can be any of:

Build typeDescriptionincluded plugins
climate APlugins related to climate measurement AStable + Climate A
climate BPlugins related to climate measurement BStable + Climate B
customCustom predefined set/Defined in Custom.hSpecific
normalStandard pluginsStable
collection_ANormal + plugin collection AStable + Collection base + set A
collection_BNormal + plugin collection BStable + Collection base + set B
collection_CNormal + plugin collection CStable + Collection base + set C
collection_DNormal + plugin collection DStable + Collection base + set D
collection_ENormal + plugin collection EStable + Collection base + set E
collection_FNormal + plugin collection FStable + Collection base + set F
collection_GNormal + plugin collection GStable + Collection base + set G
collection_HNormal + plugin collection HStable + Collection base + set H
maxAll available pluginsAll available
max32All available plugins, 32MB FlashAll available, large file system
energyAll plugins related to energy measurementStable + Energy measurement
display AAll plugins related to displays AStable + Displays A
display BAll plugins related to displays BStable + Displays B
neopixelAll plugins related to neopixelStable + Neopixel
hardhardware specific buildsMinimal
minimalminimal plugins for specific use-casesSwitch and Controller
spec_*specialized technical buildsNot intended for regular use
IRextInfra-red hardware specificSending and receiving IR cmd
safeboot(Experimental) safeboot build to enable
most/all plugins on 4MB Flash boards
None

[opt-arduino-library] (optional) can be any of:

Arduino libraryDescription
alt_wifiAlternative WiFi configuration
betaArduino Beta release
sdk3Arduino SDK v.3
core_274Arduino Core 2.7.4 release
core_312Arduino Core 3.1.2 release
core_274_sdk3Arduino Core 2.7.4 SDK v.3 release

[hardware-type] can be any of:

Hardware typeDescription
ESP8266Espressif ESP8266/ESP8285 generic boards
WROOM02Espressif ESP8266 WRoom02 boards
ESP32Espressif ESP32 generic boards
ESP32solo1Espressif ESP32-Solo1 generic boards
ESP32s2Espressif ESP32-S2 generic boards
ESP32c3Espressif ESP32-C3 generic boards
ESP32s3Espressif ESP32-S3 generic boards
ESP32c2Espressif ESP32-C2 generic boards
ESP32c6Espressif ESP32-C6 generic boards
ESP32c61Espressif ESP32-C61 generic boards (experimental)
ESP32c5Espressif ESP32-C5 generic boards (experimental)
ESP32p4Espressif ESP32-P4 (Rev.1) generic boards
ESP32p4r3Espressif ESP32-P4 (Rev.3/P4X) generic boards
ESP32-wrover-kitEspressif ESP32 wrover-kit boards
SONOFFSonoff hardware specific
other_POWSwitch with power measurement
Shelly_1Shelly 1 switch
Shelly_PLUG_SShelly plug S switch with power measurement
VentusVentus W266 weather station
LCtech_relayLC-tech serial switch

N.B. Starting 2022/07/23, 1M ESP8266 builds can also be used on ESP8285 units and thus there is no longer a specific ESP8285 build anymore.

[flash-size] can be any of:

Flash sizeDescription
1M1 MB with 128 kB filesystem
2M2 MB with 128 kB filesystem
2M2562 MB with 256 kB filesystem
2M320k2 MB with 320 kB filesystem
4M1M4 MB with 1 MB filesystem
4M2M4 MB with 2 MB filesystem
16M16 MB with 14 MB filesystem
4M316k4 MB with 316 kB filesystem
8M1M8 MB with 1 MB filesystem
16M8M16 MB with 8 MB filesystem
32M20M32 MB with 20 MB filesystem

N.B. Starting with release 2023/12/25, All ESP32 LittleFS builds use IDF 5.3, to support newer ESP32 chips like ESP32-C2 and ESP32-C6, and SPI Ethernet. Other SPIFFS based ESP32 builds will be migrated to LittleFS as SPIFFS is no longer officially available in IDF 5 and later. As a temporary solution, a specially crafted IDF 5.1 build that still includes SPIFFS, is used for the SPIFFS builds. A migration plan is available, here.

N.B.2 Starting with builds made after 2025/11/04, ESP32 builds will no longer have _LittleFS in the name as all ESP32 builds use LittleFS. Also the suffix _ETH has been removed since all builds will have Ethernet support, except for ESP32C2 builds.

[opt-build-features] can be any of:

Build featuresDescription
LittleFSUse LittleFS instead of SPIFFS filesystem (SPIFFS is unstable > 2 MB, and no longer supported in IDF > 5)
VCCAnalog input configured to measure VCC voltage (ESP8266 only)
OTAArduino OTA (Over The Air) update feature enabled
DomoticzOnly Domoticz controllers (HTTP) and plugins included
Domoticz_MQTTOnly Domoticz controllers (MQTT) and plugins included
FHEM_HAOnly FHEM/OpenHAB/Home Assistant (MQTT) controllers and plugins included
ETHEthernet support enabled (ESP32 and IDF 5.x based builds)
OPI_PSRAMSpecific configuration to enable PSRAM detection, ESP32-S3 only
CDCSupport USBCDC/HWCDC-serial console on ESP32-C3, ESP32-S2, ESP32-S3, ESP32-C6, ESP32-C61 and ESP32-C5
noOTA/NO_OTADoes not support OTA (Over The Air-updating of the firmware) Use the flash page or ESPTool via USB Serial

N.B. Starting ca. 2025/02/27, many ESP32 builds are only available with _ETH suffix, indicating that Ethernet support is enabled, to reduce the (rather high) number of builds.

Some example firmware names:

Firmware nameHardwareIncluded plugins
ESPEasy_mega-20260121_normal_ESP8266_1M.binESP8266/ESP8285 with 1MB flashStable
ESPEasy_mega-20260121_normal_ESP8266_4M1M.binESP8266 with 4MB flashStable
ESPEasy_mega-20260121_collection_A_ESP8266_4M1M.binESP8266 with 4MB flashStable + Collection base + set A
ESPEasy_mega-20260121_normal_ESP32_4M316k.binESP32 with 4MB flashStable
ESPEasy_mega-20260121_collection_A_ESP32_4M316k.binESP32 with 4MB flashStable + Collection base + set A
ESPEasy_mega-20260121_collection_B_ESP32_4M316k.binESP32 with 4MB flashStable + Collection base + set B
ESPEasy_mega-20260121_max_ESP32s3_8M1M.binESP32-S3 with 8MB flash, CDC-serial, EthernetAll available plugins
ESPEasy_mega-20260121_max_ESP32s3_8M1M_OPI_PSRAM.binESP32-S3 8MB flash, PSRAM, CDC-serial, EthernetAll available plugins
ESPEasy_mega-20260121_max_ESP32_16M8M.binESP32 with 16MB flash, LittleFS, EthernetAll available plugins

The binary files for the different ESP32 variants (S2, C3, S3, C2, C6/C61, C5, P4, Solo1, 'Classic') are available in separate archives.

To see what plugins are included in which collection set, you can find that on the ESPEasy Plugin overview page

For ESP32 builds (all models) there are 2 .bin files available:

  1. a .factory.bin to be used when flashing the firmware via external tools, like the Espressif Flash Download tool, to be loaded at address 0x0, that includes the bootloader and flash-partitioning data. This is the second of 2 recommended methods to install ESPEasy on a new device.
    The main recommended method for flashing ESPEasy onto a (new) device is via this flash page (using Chrome or Edge webbrowser), where you connect the device via USB-serial, and select what firmware-build to install.
  2. a 'regular' .bin file, that can be used to update a running board via OTA (Over The Air), using the Update Firmware button on the Tools page. The .bin file then has to be available for the device the webbrowser is running from (local or via a network), as the file is uploaded via the webbrowser.
    The firmware to upload via OTA must match both the ESP32 model, and current partitioning & formatting, LittleFS as indicated in the name, or SPIFFS.

Documentation & more info

Our new, in-depth documentation can be found at ESPEasy.readthedocs.io. Automatically built, so always up-to-date according to the contributed contents. The old Wiki documentation can be found at letscontrolit.com/wiki.

Additional details and discussion are on the "Experimental" section of the forum: https://www.letscontrolit.com/forum/viewforum.php?f=18

Gitpod Ready-to-Code

SAST Tools

PVS-Studio - static analyzer for C, C++, C#, and Java code.

Icons used

Icons on courtesy of ICONS8.