Hello mrwee,
some things missing or wrong.
The
flow sensors (Hall sensors) give pulses, they should be connected to the ESP.
If i read the schematic right they are connected to the ADS1115 atm.
The transistor at the flow sensor is "wrong direction". The 10KOhm Resistor R3 should be connected to the plug's pin2.
R8 should be connected to 3V3. The connection R8/Q3 should be connected to GPIO, preferred GPIO12,13,14 (D5,D7,D6).
When configuring please remember: These pulse counters must be configured in ESPeasy's tasks 1...4!
I don't know the flow sensor you use. It might be necessary to add a 10KOhm resistor between pin1 and pin2 of the plug.
Better reserve a pad on the PCB for it, easier to leave off the resistor on the board then putting one in if needed
and no free space for it.
The ADS1115 should take the moisture sensor's output - I miss the moisture sensors in the schematic.
Some thoughts about your I²C connect.
I2C by design needs pull up resistors.
There
might be pull up resistors on the ADS1115 board - or not.
If so they are connected to 5V - not good for the ESP8266!
The built-in pull ups inside the ESP8266
might be enough...
I wouldn't rely on that, reserve pads for pullups on the PCB
(See
https://letscontrolit.com/wiki/index.ph ... he_I²C_Bus for more info on I²C)
The I²C in your design runs on 3.3V.
The MCP should take that - the ADS1115 has a minimum "High" level 0f 0,7VDD, 5V * 0,7 =
3.5V
That might work or not, or give unstable results.
I urgently suggest to use a level shifter. Needs neither witchcraft nor rocket science to integrate it on the PCB.
Two small FETs (2N7002 or if you don't want to handle SMD parts, 2N7000) and four resistors should do the job.
See
https://letscontrolit.com/wiki/index.ph ... _Converter , section "Bi-directional level converter).
If using level conversion as described in the wiki, the pull up resistors for I²C are in the level shifter circuit,
no additional resistors needed.
A hint: Break out both sides (3.3V and 5V) of the I²C for further extension, might make extending more easy.
Another 2N7000/7002 circuit would be nice for the DS18B20. They work well on 3.3V near the ESP.
With a longer line between ESP and DS187B20 this runs into problems often. I've got some
really bad experiences with that.
Power Supply:
No and never use the 3.3V output of the WeMos or other boards for a lot of components!
The voltage regulators on these boards usually are not very powerfull, just good for
powering some smal sensors.
If you want to use 12V for supply, I'd suggest you use a "fat" 5V regulator (7805 with heat sink or even bigger)
to get 5V out of 12V. Then use a LM1117-3.3 or even better a LF-33 to reduce 5V to 3.3V.
I'd prefer to use 12V-relays in this case - takes load from the 5V-regulator and gives more
stability and less noise to the 5V- and 3.3V lines.
Another hint:
MCP23017 is well known for giving "spikes" on the power line, other parts do that too.
I'd suggest to place a small keramic capacitor of 100 nF as close as possible to the
VDD-pins of ADS1115 and the MCP23017. Other pin of capacitor to ground.
PCB Design:
I'm using KiCAD, so I don't know EasyEDA - if possible use copper areas for ground instead of tracks.
Ground is critical, small tracks might cause difficult to find problems.
Last but not least:
Prefer to do some breadboard testing before ordering PCB's.
I know, breadboards are somewhat unreliable etc, anyways it's cheaper to use a breadboard
then dumping a populated PCB due to errors.