Announcement

Collapse
No announcement yet.

ESP32 Dev Kit Recommendation

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    ESP32 Dev Kit Recommendation

    A Google search returns a number of dev kits for the ESP32. Can someone recommend one that's worked well for them?

    How does Arduino and NodeMCU play into these devices?

    I'm looking at interfacing 12 soil moisture sensors via ADC and sending the readings to HS4 via WiFi (MQTT, if possible)
    "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

    #2
    Not clear if you are looking for hardware or software environment. For software I user Visual Studio Code and PlatformIO. For hardware I I have used several different modules that have the USB UART and open hole rows to solder header pins. The only thing that I have found in the reviews is that some have a voltage regulator that is underpowered. I have never experienced an issue myself.

    Comment


      #3
      Since I'm just starting out, both. Visual Studio Code and PlatformIO look like a good combo. Any links to dev boards would be helpful.
      "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

      Comment


        #4
        I have had some generic ESP32 purchases in years past, but most purchases have been integrated with some other interface such as LoRa, Cam, or UWB. Since I have not had any recent purchases of generic modules, I do not feel comfortable with a specific recommendation. Be aware that that there are now several variants of ESP32. As a developer the one I would purchase is similar to the original with plenty of Flash and RAM so I am not constrained. Price difference between the module types in small quantiles is trivial.

        In general, I use ESP8266 for deployment as the usual case is just a few IO pins needed for the specific interface I am doing. ESP8266 has only one Analog input so not a good fit for your needs.

        Comment


          #5
          The last ESP32 I purchased from Amazon was Amazon.com: MELIFE 2 Pack ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with ESP32s Antenna RF AMP Filter AP STA. : Everything Else

          I downloaded the latest Tasmota32 binary into it using the Tasmota Web Installer Install Tasmota

          I configured Tasmota to use 6 Analog from ADC1 and 6 Analog from ADC2.

          Click image for larger version  Name:	1.png Views:	0 Size:	106.0 KB ID:	1558837

          It appears that Tasmota has a limit of 8 total ADC since reporting status summary showed only one set of 6

          Click image for larger version  Name:	0x.png Views:	0 Size:	27.4 KB ID:	1558838

          It is possible to modify the source for a customized configuration, but my choice would be to use two ESP32 to get 12 Analog inputs. This may also simplify wiring to each of the moisture sensors. There is then no need to use VSCode/PlatformIO.

          Comment


            #6
            Originally posted by Michael McSharry View Post
            The last ESP32 I purchased from Amazon was Amazon.com: MELIFE 2 Pack ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with ESP32s Antenna RF AMP Filter AP STA. : Everything Else

            I downloaded the latest Tasmota32 binary into it using the Tasmota Web Installer Install Tasmota

            I configured Tasmota to use 6 Analog from ADC1 and 6 Analog from ADC2.

            It appears that Tasmota has a limit of 8 total ADC since reporting status summary showed only one set of 6


            It is possible to modify the source for a customized configuration, but my choice would be to use two ESP32 to get 12 Analog inputs. This may also simplify wiring to each of the moisture sensors. There is then no need to use VSCode/PlatformIO.
            Thank you Michael! I ordered a 4 pack and even got a bit of.a discount on them. I like to have a spare and that also gives me something to prototype with on the bench. I may try my hand at code development but it's nice to know that I can get this working without having to code anything.

            It's funny. I was actually looking at using two, since the two garden windows are pretty far apart.
            "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

            Comment


              #7
              Originally posted by kenm View Post

              I'm looking at interfacing 12 soil moisture sensors via ADC
              Just curious, what is the model of the sensors you are using? Thx
              HS4, HSTouch Designer, ESP based devices and sensors, Tasmota, OpenMQTTGateway, RTL433, DIY ground plane antenna, BlueIris + LAN cams, USB-UIRT, ATON DLA amp, WACUP, Multiple Android tablets for control.
              Plug-Ins Enabled: Restart:,EnvCan:,EasyTrigger:,CM15A:,BLUSBUIRT:, BLLAN:,BLBackup:,Pushover 3P:,mcsMQTT + multiple Jon00 tools

              Comment


                #8
                Originally posted by 123qweasd View Post

                Just curious, what is the model of the sensors you are using? Thx
                https://www.aliexpress.com/item/2255...16905676%21sea
                "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

                Comment


                  #9
                  Thanks, just saw your other thread, was wondering if you were using this setup indoors or outdoors as the sensors don't seem suited for outdoor use; tough I wonder if the top part could be dipped in epoxy to protect it... Any clue what the cable lenght limitation is on ADC?
                  HS4, HSTouch Designer, ESP based devices and sensors, Tasmota, OpenMQTTGateway, RTL433, DIY ground plane antenna, BlueIris + LAN cams, USB-UIRT, ATON DLA amp, WACUP, Multiple Android tablets for control.
                  Plug-Ins Enabled: Restart:,EnvCan:,EasyTrigger:,CM15A:,BLUSBUIRT:, BLLAN:,BLBackup:,Pushover 3P:,mcsMQTT + multiple Jon00 tools

                  Comment


                    #10
                    Originally posted by 123qweasd View Post
                    Thanks, just saw your other thread, was wondering if you were using this setup indoors or outdoors as the sensors don't seem suited for outdoor use; tough I wonder if the top part could be dipped in epoxy to protect it... Any clue what the cable lenght limitation is on ADC?
                    I was thinking about using the self-sealing heat shrink tubing around the top. Maybe a glob of silicon under the heat shrink would help it as well. Still probably not good enough for long-term outdoor use. I use 6x WH31SM linked to a GW1000 for outdoor but you have to take into account that our NorCal winter seldom gets below 40 deg F. I probably wouldn't bury them in the snow.

                    One of my first bench tests is going to be cable length for the sensor. Our garden windows are 6 ft across so 8 ft would allow me to put the ESP32 at one side and run all of the wiring to it. Since the ADC is just measuring a DC voltage between 0-3V, it should just be a matter of voltage drop across the wire. Stranded wire at a little higher gauge should help with that. I suspect I'll need to do some kind of calibration and correction factor for each sensor so that will be another bench test. Determining how linear the sensor is will be yet another bench test. Unfortunately, the sensors are still about 3 weeks away out of China.
                    "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

                    Comment


                      #11
                      What I have in mcsMQTT for the capacitance sensor calibration I have deployed is below. While likely not linear, I do not have an easy way to establish a standard for different moisture levels. My analog range was 420 when test cup of soil was fully saturated with water dripping out the bottom and 800 in air. Used Excel trendline curve fit for the equation. Added protection for a bogus high reading.

                      What one normally needs from the sensor is a single value trigger to known when to add water so linear is just as good as any other curve fit. This trigger point may vary slightly depending upon the plant. For cactus family it may be difficult to use moisture sensor and more likely a timed cycle would be better to prevent root rot.

                      Code:
                      IF($$PAYLOAD:<798,-0.2646*$$PAYLOAD:+211.11,$$DVR:(382):)
                      I have this one in a greenhouse so essentially indoors with only water being that is added via irrigation and morning dew. I used clear nail polish to protect the electronics. It is interfaced with ESP8266. I did not do anything to these electronics as they are in a plastic case and I felt the heat from the ESP would be sufficient to keep it dry.

                      Comment


                        #12
                        I agree the sensor does not have to be linear. I have an analog moisture probe that I'll "calibrate against" for this project. That way my wife can "check my work" easily.

                        Clear nail polish is a great idea.

                        To close out on the number of ESP32 ADC inputs supported by Tasmota, I found this in the source code:

                        Code:
                        const uint8_t MAX_ADCS = 8;                 // Max number of ESP32 ADC pins (ADC2 pins are unusable with Wifi enabled)
                        "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

                        Comment


                          #13
                          Just thought I'd share an update on something I ran into last night that was a bit of a head scratcher. I had read that the ESP32 required more power than the ESP8266 and that some USB ports would not work reliably, but I guess I tuned that out. I was able to flash Tasmota to an ESP32 dev board using a Windows 10 mini desktop without any problem. I used the web based installer which uses a USB serial port. What I found was that when I closed the installer browser window after I was finished, I could no longer connect to the web interface of the ESP32. I further found that if I opened a serial terminal to the ESP32, I could connect again.

                          It turns out that the USB driver was re-negotiating or reducing the power when the USB serial port was opened and closed. I switched the ESP32 over to a 5V/1A USB wall wart and it was solid after that. Just a heads up in case someone else runs into this. The moral of the story is that all USB ports are not equal.
                          "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

                          Comment


                            #14
                            That Tasmota web installer is really slick. I configured it and got it report MQTT in a couple of minutes.

                            So it looks like GPIO2 controls the onload LED. I am trying to get MCSMQTT to create a device on the board to turn that on and off to prove it is working. Anyone got something simple like this to work?
                            HS3 Pro Edition 3.0.0.435 (Windows Server 8.1 on ESXi box)

                            Plug-Ins Enabled:
                            Z-Wave:,RaspberryIO:,AirplaySpeak:,Ecobee:,
                            weatherXML:,JowiHue:,APCUPSD:,PHLocation:,Chromecast:,EasyTr igger:

                            Comment


                              #15
                              Go to the web interface for the module and set GPIO2 to "Led" and click Save. The command is LedPower1 On/Off to control the LED.

                              Once the module reboots, go to the web console and type 'backlog ledpower1' and hit enter.

                              mcsMQTT should now have an MQTT message of stat/<module_name>/LedPower1

                              Associate that to an HS device. To control it the topic is cmnd/<module_name>/LedPower1 instead of stat.
                              "if I have seen further [than others], it is by standing on the shoulders of giants." --Sir Isaac Newton (1675)

                              Comment

                              Working...
                              X