If you don't like the Espressif IDE, there are a bunch of alternative firmwares. I use Tasmota.
This list was offered by AI and therefore might contain either truth or bollix:
Arduino Core for ESP32: This is a popular choice for those familiar with the Arduino ecosystem. It provides a simple programming environment and a wide range of libraries.
MicroPython: A lean implementation of Python 3 designed for microcontrollers. It allows for quick prototyping and is great for those who prefer Python over C/C++.
ESP-IDF (Espressif IoT Development Framework): The official development framework for the ESP32, providing low-level access to the hardware and advanced features.
PlatformIO: An open-source ecosystem for IoT development that supports multiple frameworks, including Arduino and ESP-IDF, allowing for a more integrated development experience.
NodeMCU: A firmware based on Lua, which is easy to use for IoT applications. It provides a simple API for controlling hardware.
Tasmota: Primarily used for home automation, Tasmota is a firmware that allows for easy integration with various smart home devices and protocols.
ESPHome: A firmware designed for home automation, particularly with Home Assistant. It allows users to create custom firmware for their ESP32 devices using a simple YAML configuration.
Zephyr: An open-source real-time operating system (RTOS) that supports the ESP32, suitable for more complex applications requiring multitasking.
FreeRTOS: A real-time operating system that can be used with the ESP32, providing features for task management and scheduling.
Mongoose OS: A lightweight operating system for IoT devices that supports JavaScript and C/C++, making it easy to develop applications.
This is what ChatGPT says about running Node-RED on an ESP32.
You cannot run Node-RED directly on an ESP32. Node-RED is a JavaScript-based application built on Node.js, which is far too resource-heavy for the limited CPU, RAM, and storage of the ESP32 microcontroller.
What You Can Do:
While Node-RED can't run on the ESP32, the ESP32 works very well with Node-RED:
Use ESP32 as a remote sensor or controller
Program it with Arduino or MicroPython.
Connect it to Node-RED via MQTT, HTTP (REST), or WebSockets.
It can send sensor data or receive control commands.
Run Node-RED on a host (like):
Raspberry Pi
Orange Pi
PC or Laptop
Server or VM
Your ESP32 becomes a node in the system that talks to Node-RED.
Example Setup:
ESP32 reads temperature from a DHT sensor.
Sends data via MQTT to a broker (e.g., Mosquitto).
Node-RED subscribes to that MQTT topic and displays the data on a dashboard.
Alternative on ESP32?
If you're after graphical logic building like Node-RED but want it on the ESP32, you're out of luck ā there's no full-featured equivalent. Youāll need to design the logic manually in code.