logo elektroda
logo elektroda
X
logo elektroda

Irrigation controller: ARM + ESP8266/ESP-07 or ESP-12F + GPIO expander?

RometFan;p 1818 12
Best answers LABEL_AI_GENERATED

Should I build a Wi‑Fi garden irrigation controller around an ARM MCU plus an ESP8266 used as an AT-command modem, or use an ESP-based MCU as the main processor with extra GPIO expansion?

Use a single ESP-based main controller if you can move the user interface to a phone/tablet or web page; for this kind of irrigation controller, an ESP12-class device can be enough when there is no local display, and an ESP32 is an even better fit because it has more I/O and can be programmed with esp-idf/RTOS [#18154953][#18154397][#18153814][#18153705] If you want a richer local TFT interface, the thread leans toward STM32 + ESP-01, because the ESP8266 has no hardware parallel interface and SPI updates of a 320×240 display can visibly “draw” unless you use DMA and careful buffering [#18153906] For a professional-looking device with fast screen refresh, STM32 with SFMC/FMC gives more freedom, while the ESP module is still usable for Wi‑Fi [#18153906][#18153656] In short: avoid a separate ARM plus ESP8266 AT-command setup unless you specifically need it; prefer ESP32/ESP12F for a web-based controller, or STM32 + ESP-01 if the display and coding comfort matter more [#18154953][#18154397][#18153906]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #1 18153578
    RometFan;p
    Level 26  
    Posts: 874
    Help: 92
    Rate: 26
    Hi,
    I am currently planning a garden irrigation controller, with Wi-Fi access.
    And I'm faced with a dilemma:
    Is it better to use some ARM + control via AT commands with an ESP8266/ESP-07 module ?
    Or using the ESP-12F as the main processor + extending it with some expander for additional GPIOs?

    The ESP-12F WiFi module is a pretty good processor, and it seems to me that putting 2 processors into a device is a bit pointless.
    On the other hand, writing quite an extensive program (wifi communication + watering zones + some kind of work schedule + control of valves + TFT display + reading from sensors) seems to me to be a pain in the Arduino IDE. Timers, no debugger, slow programming....


    Using STM32 in LQFP-64 enclosure will raise the comfort of writing code, and solve the GPIO problem, but will raise the cost + ESP module will be wasted.

    What is your opinion?
  • ADVERTISEMENT
  • #2 18153656
    jakubek56
    Level 32  
    Posts: 1631
    Help: 202
    Rate: 454
    If you want to use ST then you have the option of using ESP 01, so nothing is wasted.
  • ADVERTISEMENT
  • #3 18153662
    tos18
    Level 42  
    Posts: 7137
    Help: 1112
    Rate: 1869
    How about ESP32 ?
  • ADVERTISEMENT
  • #4 18153698
    RometFan;p
    Level 26  
    Posts: 874
    Help: 92
    Rate: 26
    ESP32 - I've heard but I'm totally unfamiliar with it. How do you program it besides Arduino?

    That's if I add the argument that I assume this is not a hobby project and I will want to develop it? Is it worth leaning on ESP then?
  • #5 18153705
    kaczakat
    Level 34  
    Posts: 1748
    Help: 317
    Rate: 231
    The difficulty of programming in Arduino ESP is so much less as there are off-the-shelf products, e.g.: https://github.com/n0bel/ESPrinkler2/tree/master/data. The screen could simply be a tablet/smartphone managing the device via WIFI and the WWW. Older devices tend to get dusty in drawers somewhere and are just waiting for such a chance.
    Helpful post? Buy me a coffee.
  • #6 18153814
    Nagus
    Level 27  
    Posts: 757
    Help: 99
    Rate: 97
    Quote:
    ESP32 - I've heard but don't know total. How to program it apart from the Arduino?
    .
    Normally, "on foot", using esp-idf. Anyway, the RTOS for the 8266 is slowly being rewritten in esp-idf style.
    So, currently you program both ESPs the same way. There are only a few nuances due to hardware differences. And not all features have been rewritten for the 8266, e.g. the https server.
  • #7 18153863
    Anonymous
    Level 1  
  • #8 18153888
    RometFan;p
    Level 26  
    Posts: 874
    Help: 92
    Rate: 26
    3.2 inches, SPI or 8 bit depending on processor and amount of gpio. Resolution is 320 x 240 and I have tested on ESP and Stm32. Performance is sufficient for me on the plus side in stm32 that I can Use DMA
  • #9 18153906
    Anonymous
    Level 1  
  • ADVERTISEMENT
  • #10 18154397
    Anonymous
    Level 1  
  • #11 18154953
    krzbor
    Level 29  
    Posts: 1783
    Help: 42
    Rate: 1072
    I have a PV installation with a new SMA inverter. What is surprising - in an expensive and branded unit the display has been removed - there are only 3 LEDs. The rest of the information (very abundant) via the network only - mainly via WiFi of course. The device works both in AP mode and as a standard web server on the local network. It can also work in the cloud. The installer told me that the display was removed because it was the component that broke most often (inverters can even work outside in very variable weather conditions). I think this is a good direction. In general we have two types of users:
    1. It's supposed to work and I don't care about anything - to them, LEDs are enough - power supply, correct operation, failure. If something is wrong, they call a professional, but with cloud or remote access, problems can be diagnosed remotely. More affluent people tend to think about watering their garden in an advanced way, and these are often among this group of users.
    2) They like to know what and how (this applies to almost all electrode users :) )- but they don't mind rich information on a computer or smartphone instead of a display. I say "rich" because it's not just configuration, but also statistics, operation graphs, humidity sensor analysis, downloading weather information, water consumption analysis, etc.

    In the absence of a display, such an ESP12 should suffice. You can, of course, use an ESP32 especially if you are thinking about touch control or the need for analogue inputs (e.g. to determine valve failures).
  • #12 18195038
    Udios
    Level 12  
    Posts: 109
    Help: 4
    RometFan;p wrote:
    Hey,
    I am currently planning a garden irrigation controller, with Wi-Fi access.
    .
    Hello.
    Could you write something more about what your system will have to do and what it will control?
    My parents have a greenhouse on their allotment and the thought has also recently crossed my mind to get them some automation to control it. I was thinking of designing a controller for an ESP 32. It has a lot of inputs.
    My assumption was that it would control three electric actuators for opening doors and windows - temperature-dependent opening and closing. Monitoring the position of the actuators. And it would control a valve for watering the plants. In addition, I wondered if the system would have some kind of GSM module to monitor temperature, humidity and if something unexpected happened. For example, an actuator would not open, we would run out of water. The plot of land is a long way from where we live.
  • #13 18198703
    RometFan;p
    Level 26  
    Posts: 874
    Help: 92
    Rate: 26
    Hi,
    after reading my colleagues' posts I've started to wonder a bit whether to push for a display.

    The general assumptions are that:
    - Control of 4-8 watering sections,
    - reading the outside temperature,
    - rain sensor so as not to water when it rains,
    - communication via WiFi (here possible control from the web/smartphone via a web page).

    As to which specific functions it implements - download the manuals of several controllers available for sale. There you will find which functions they have and which are worth writing and which you will not necessarily need.

    GSM module - I once considered such a solution in a project, but abandoned it because the validity of the card/charging discouraged me.

    As for your needs:
    You can also implement the actuators' steering on relays. Actuators with limit switches, reading the signal from the limit switches opens the relay, etc....

Topic summary

LABEL_AI_GENERATED
The discussion revolves around the design of a garden irrigation controller with Wi-Fi capabilities, debating whether to use an ARM processor with an ESP8266/ESP-07 module or to utilize the ESP-12F as the main processor with a GPIO expander. The ESP-12F is noted for its processing power, while concerns about programming complexity in the Arduino IDE are raised. Alternatives like the ESP32 are suggested for their ease of programming and additional features. The conversation also touches on display requirements, communication interfaces, and the potential for remote monitoring and control of irrigation systems. Users express interest in functionalities such as temperature monitoring, rain sensors, and actuator control for automated gardening.
AI summary based on the discussion. May contain errors.

FAQ LABEL_AI_GENERATED

TL;DR: For Wi‑Fi irrigation controllers, SPI at 15 MHz takes ~80 ms per 320×240 frame; "you can see the screen 'drawing'." Choose STM32+ESP‑01 for fast parallel LCDs and many GPIOs. [Elektroda, Anonymous, post #18153906]

Why it matters: This FAQ helps builders choose ESP8266, ESP32, or STM32+ESP‑01 and avoid display bottlenecks, GPIO limits, and tooling headaches.

Quick Facts

What’s the best MCU setup for a Wi‑Fi irrigation controller?

ESP32 is a strong single‑chip choice. Even with Arduino HAL, the platform is fully RTOS‑based. That enables clean task separation for networking, scheduling, and I/O. It suits projects that aim to grow beyond hobby scope. [Elektroda, khoam, post #18154397]

How do I program ESP32 without Arduino?

Use ESP‑IDF. It provides RTOS primitives, Wi‑Fi stacks, and drivers. ESP8266 now mirrors this style, but some features remain missing. Expert note: "currently you program both ESPs the same way." For HTTPS, target ESP32 as 8266 support lags. [Elektroda, Nagus, post #18153814]

Is an STM32 + ESP‑01 combo worth it?

Yes, when you need a fast parallel TFT and many GPIOs. STM32 with FMC plus DMA can refresh 320×240 without visible redraw. Pair ESP‑01 for Wi‑Fi transport. This yields a more professional display experience than SPI alone. [Elektroda, Anonymous, post #18153906]

Do I really need a TFT, or can my phone be the screen?

You can go screenless. Serve a web UI over Wi‑Fi and control everything from a phone or tablet. This reduces code and hardware complexity. ESPrinkler2 shows a complete, working approach for irrigation control and UI hosting. [Elektroda, kaczakat, post #18153705]

If I keep a 3.2" 320×240 TFT, will SPI be smooth enough?

Full‑screen SPI pushes ~150 kB; at 15 MHz it takes ~80 ms (~12 FPS). Users notice line‑by‑line drawing; "you can see the screen 'drawing'." To hide redraws (<30 ms), use a parallel interface with DMA or segment updates. [Elektroda, Anonymous, post #18153906]

Does ESP support true parallel TFT (8/16‑bit) with DMA?

Not with a dedicated hardware interface. "Parallel mode in ESP is out," so you end up bit‑banging control lines. That defeats DMA benefits. For clean, fast parallel LCDs, use STM32 with FMC and keep ESP as a Wi‑Fi coprocessor. [Elektroda, Anonymous, post #18153906]

How many zones and sensors should I plan for?

Design for 4–8 irrigation sections, an outdoor temperature sensor, and a rain sensor. Provide Wi‑Fi control via a web page for configuration and manual overrides. This covers typical residential needs with room to expand later. [Elektroda, RometFan;p, post #18198703]

Is adding GSM worth it for remote allotments?

Plan ongoing costs first. GSM needs an active SIM with top‑ups, which can undermine value. Many builders drop GSM and rely on Wi‑Fi plus remote access when available. Budget and site connectivity should drive this choice. [Elektroda, RometFan;p, post #18198703]

What’s a simple way to drive window/door actuators safely?

Use relays to power actuators with built‑in limit switches. Read limit switch signals to confirm end‑travel. Cut power when a limit triggers to prevent stalling. This approach simplifies control and adds basic fault awareness. [Elektroda, RometFan;p, post #18198703]
  1. Wire actuator through relays; include fusing.
  2. Sense both limit switches with GPIOs.
  3. Stop drive when a limit is reached; log status. [Elektroda, RometFan;p, post #18198703]

Any open‑source firmware to jumpstart irrigation control?

Yes. ESPrinkler2 provides scheduling, Wi‑Fi configuration, and a browser UI for ESP. Use it as a learning base or adapt its patterns. A web‑managed design also removes the need for a dedicated physical display. [Elektroda, kaczakat, post #18153705]

Will STM32 improve dev comfort and GPIO versus ESP‑12F + expander?

Yes. An STM32 in LQFP‑64 improves toolchain, debugging, and GPIO headroom. It raises BOM cost but simplifies complex codebases with better peripherals. Choose it when development efficiency and I/O breadth matter most. [Elektroda, RometFan;p, post #18153578]

What about HTTPS or secure web server on ESP8266?

ESP8266’s stack is being aligned with ESP‑IDF, but some features lag. An HTTPS server is one example not fully ported. For secure serving, plan on ESP32 or use a proxy. [Elektroda, Nagus, post #18153814]

Which Wi‑Fi module pairs best with an STM32 main MCU?

Use ESP‑01. It gives Wi‑Fi connectivity without wasting a larger ESP module. Keep STM32 as the main controller and delegate networking to ESP‑01 over UART. [Elektroda, jakubek56, post #18153656]

Should I keep a display, or go headless for reliability?

Consider headless. A branded inverter removed its LCD because it failed most often. It now exposes rich data via Wi‑Fi AP and local web server, with optional cloud. This pattern fits irrigation well. [Elektroda, krzbor, post #18154953]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT