Single Sensor Node (ESP32-S2-Mini or RPi Pico-W)

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:

  1. 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.
  2. 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++.
  3. ESP-IDF (Espressif IoT Development Framework): The official development framework for the ESP32, providing low-level access to the hardware and advanced features.
  4. PlatformIO: An open-source ecosystem for IoT development that supports multiple frameworks, including Arduino and ESP-IDF, allowing for a more integrated development experience.
  5. NodeMCU: A firmware based on Lua, which is easy to use for IoT applications. It provides a simple API for controlling hardware.
  6. Tasmota: Primarily used for home automation, Tasmota is a firmware that allows for easy integration with various smart home devices and protocols.
  7. 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.
  8. Zephyr: An open-source real-time operating system (RTOS) that supports the ESP32, suitable for more complex applications requiring multitasking.
  9. FreeRTOS: A real-time operating system that can be used with the ESP32, providing features for task management and scheduling.
  10. Mongoose OS: A lightweight operating system for IoT devices that supports JavaScript and C/C++, making it easy to develop applications.
2 Likes

I've used MicroPython for nearly all of my recent projects. Quick and easy prototyping

I find Thonny IDE is great for creating Python scripts and loading them onto the ESP32.

There are loads of Python libraries that make creating scripts a 'breeze'.

I also make use of Tasmota on my SonOff mains switches.

Most of all you said are code-base like python and C/C++. they are not flow control like node-red

Ah, but they (at least the ones I've used) can communicate over MQTT with Node-red.

And with Tasmota at least, once you have told it what sensor is attached, it sends the sensor data automatically, zero programming required.

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.


:wrench: What You Can Do:

While Node-RED can't run on the ESP32, the ESP32 works very well with Node-RED:

:white_check_mark: 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.

:white_check_mark: 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.


:satellite_antenna: Example Setup:

  1. ESP32 reads temperature from a DHT sensor.
  2. Sends data via MQTT to a broker (e.g., Mosquitto).
  3. Node-RED subscribes to that MQTT topic and displays the data on a dashboard.

:brain: 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.

There is node-red-mcu, which may do what you want, but I don't know the current status of the project.

1 Like

What is it you are trying to do ?

You could send MQTT to the ESP, and then have it sent from the ESP serial pins.