I'm starting a project and I'm requesting a recommendation as to which ESP32 to use. Requirement 1: control an 8 port relay board (ie ELEGOO 8 Channel DC 5V Relay Module). Req. 2: input temperature (ie DS18B20) x4. Req 3: display web page - temps, relay control
Thanks.
Need recommendation
-
MicroController
- Posts: 2663
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: Need recommendation
So 9 IO pins needed, plus WiFi.
Any of the WiFi-capable ESP32s should be fine then (*).
Except: The relay module is designed for 5V inputs, and I can't find any specs on the minimum input voltage level. Might just work with the ESP's 3.3V signals, but maybe not.
(*) (While 1-wire can be done via a UART, it's more commonly implemented via the "RMT" peripheral which most ESPs have, so you may want to watch out for that.)
Depending on what level of development effort you want to put into the software side, sticking to the original ESP32 may be the best option as it has the largest support with (third-party) libraries.
Any of the WiFi-capable ESP32s should be fine then (*).
Except: The relay module is designed for 5V inputs, and I can't find any specs on the minimum input voltage level. Might just work with the ESP's 3.3V signals, but maybe not.
(*) (While 1-wire can be done via a UART, it's more commonly implemented via the "RMT" peripheral which most ESPs have, so you may want to watch out for that.)
Depending on what level of development effort you want to put into the software side, sticking to the original ESP32 may be the best option as it has the largest support with (third-party) libraries.
Re: Need recommendation
Thanks - sort of - my problem is the spread sheet - with #2 you get eggroll - like taking a starving person to a restaurant and handing them a 23 page menu
-
MicroController
- Posts: 2663
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: Need recommendation
Yeah, well, your requirements are very basic, so almost any ESP32 variant can handle them easily.
So you need to define more criteria if you want to narrow down the options.
For example, the ESP32-S3 is a dual-core performance powerhouse while at the other end the -C2 is a "budget" chip. The -S3 is definitely overkill for what you're trying to do while the -C2 should just be enough for your requirements. Want to save a couple of cents? Look into the -C2 - but if it's a one-off (personal) project, saving 50 cents on the MCU is totally not worth all the extra time you may need to get things running smoothly on the limited chip.
As to the other parameters, your requirements fit the smallest flash variants. 4MB will be plenty even if you want to do OTA updates (which basically doubles the flash requirements of an application); without OTA, 2MB will be enough. RAM should also not be an issue; definitely no reason to use a chip or module with integrated PSRAM; the ESP's internal RAM (~500kB) will do.
I guess power consumption is not an issue for you because your device won't run on batteries?
If you haven't already, you may want to look into Espressif's "DevKits" as they're pretty easy to use.
What framework/language do you want to use for your firmware? - MicroPython and other interpreted languages require more RAM than pure C or C++ (or Arduino), so the cheapest chips with less than 400-500kB of RAM are out if you want to go the Python route.
If you're not sure what exactly you may need, going with the original ESP32 on some board you can easily experiment with is the safest bet. 4MB of flash or more and you're good in any case. - Then, if you find that the "O.G." ESP32 has too much stuff built-in which you don't use, or is lacking one of the newer features (WiFi 6, Zigbee, DSP instructions, ...) or RAM you can likely "upgrade" to an -S3 or "downgrade" to a -C3 with minimum changes to your firmware.
So you need to define more criteria if you want to narrow down the options.
For example, the ESP32-S3 is a dual-core performance powerhouse while at the other end the -C2 is a "budget" chip. The -S3 is definitely overkill for what you're trying to do while the -C2 should just be enough for your requirements. Want to save a couple of cents? Look into the -C2 - but if it's a one-off (personal) project, saving 50 cents on the MCU is totally not worth all the extra time you may need to get things running smoothly on the limited chip.
As to the other parameters, your requirements fit the smallest flash variants. 4MB will be plenty even if you want to do OTA updates (which basically doubles the flash requirements of an application); without OTA, 2MB will be enough. RAM should also not be an issue; definitely no reason to use a chip or module with integrated PSRAM; the ESP's internal RAM (~500kB) will do.
I guess power consumption is not an issue for you because your device won't run on batteries?
If you haven't already, you may want to look into Espressif's "DevKits" as they're pretty easy to use.
What framework/language do you want to use for your firmware? - MicroPython and other interpreted languages require more RAM than pure C or C++ (or Arduino), so the cheapest chips with less than 400-500kB of RAM are out if you want to go the Python route.
If you're not sure what exactly you may need, going with the original ESP32 on some board you can easily experiment with is the safest bet. 4MB of flash or more and you're good in any case. - Then, if you find that the "O.G." ESP32 has too much stuff built-in which you don't use, or is lacking one of the newer features (WiFi 6, Zigbee, DSP instructions, ...) or RAM you can likely "upgrade" to an -S3 or "downgrade" to a -C3 with minimum changes to your firmware.
Re: Need recommendation
OK - detail. Sundance hot tub. The controller board is ... ??? flaky ... runs great - until it wanders off and stops heating. A replacement board is ? $700. The company that makes it "we don't share schematics". Even if I spent the money the only visual/control is a top side display and buttons - no app/web/wifi. So... 220 volts. a dual speed pump, a single speed pump, a blower, a circulation pump, heating element. The design I have ( mentally ) is a web page (app) displaying the water temperature, ability to raise/lower temperature. Buttons to turn on/off pumps. Icons to display if pumps/heater are engaged. Programming would at given times per day run the blower and pumps for cleaning for a few minutes. When the temperature lowers to a given limit (?101) run the circulation pump and heater until the temp reaches required (?102.5). There is also an input - water flow before heater engages. I have no doubt I could use a micro pc (linux) without asking for help - cost would increase by $150 - $9.50 (esp). Hardware: CPU, an 8 port relay board ($10), 4 30A relays, 2 temperature sensors. So a micro pc with 2g memory and 64g ssd runing linux at $150 or an ESP-x at $X. Can a ESP-? handle the job?
Re: Need recommendation
I think an ESP32 can definitely handle this job.
Last edited by PKCubed on Wed Aug 20, 2025 5:45 pm, edited 1 time in total.
-
MicroController
- Posts: 2663
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: Need recommendation
Yes, easily (from the hardware perspective). Writing the firmware is more involved than e.g. using Python on Linux though.Can a ESP-? handle the job?
As a Linux alternative to the ESP32, you can also check out the Milk-V Duo, or the Milk-V Duo S (with WiFi). Happily runs Linux and should be able to do what you need too for €15-25; and there's the popular Raspberry Pi Zero 2 W of course, also around €20.
Re: Need recommendation
Just spent a half hour looking at Milk-V Duo S on Amazon and a video - looking great ... until ... the video. He couldn't get I/O to work. One onboard LED blinking. And that was it <sigh> looking soooooo promising. On a side note digging through my 5 tons of (gee I might be able to use that some day...) an RasPi 3B - if it still works my problem is solved. Full Linux, Apache, PHP, GCC, grocery shopping, ... So I guess "Film at 11". Thanks for your conversations.
Who is online
Users browsing this forum: Bing [Bot], Bytespider, ChatGPT-User, PetalBot, Qwantbot and 4 guests