0

Premise:

I'm trying to determine a good way to architect getting data from 4 plant monitors to a single Arduino. For context, that Arduino will have a Wifi connection that will transmit the data from the plant monitors to a web server internally.

Setup

Where I'm struggling to make a decision is how to go about hooking the sensors up. Here's my plant setup:

Three tiered plant shelves with 11 plants.

Materials

Tools I have at hand:

  • Many Arudino Micros
  • Arduino Unos
  • Arduino Mega
  • Raspberry Pi 4 B
  • 4x Monk Makes Plant Monitors
  • Wiring stuff and power supplies, basic electronics prototyping collection.

Solutions?

I would like to place 4 monitors into different plants (doesn't matter which ones at the moment, if it does, I can specify). What I've considered:

  1. All 4 plant monitors directly wired to the Arduino Mega. This requires a 1k resistor in line of the data pin, which I'm not sure I have a good solution for that without a breadboard. Also, I wasn't sure if the length of data line would be a problem.
  2. Each Plant Monitor is hooked up to an Arduino micro and then use the USB of the micro to the RPI.
  3. Like #2 but use I2C to send data to Arduino Mega. I would need to supply power to these minis then.
  4. There are some options without using Arduinos, but since is the Arduino SE, I'm happy to keep it with this.

I'm open to other options as well, as well as possibly needing to purchase/make another part to optimize the solution some.

7
  • 1
    i would just hook each plant sensor to an ESP01 (programmable in Arduino) so that you only need to run 3.3v+gnd to each sensor, and you can use the Pi for something a little more worthy of it's power. It avoids collisions, signaling, IDing, etc, and makes it trivial to add more sensors or move sensors around without changing code or re-cutting wires. You only need 4 dupont 10cm wires for the ESP+sensor and then give it power with the "BBC" connectors up top. If you hate Wifi. use ESP-NOW to talk to a 4th ESP, connected to the Pi via UART.
    – dandavis
    Nov 8, 2022 at 4:46
  • 1
    for curios about the diamond next to Avogador's name. Avogador works for SE on a position which grands moderator access to all SE sites.
    – Juraj
    Nov 8, 2022 at 9:37
  • @dandavis I was looking at the ESP8266 board from Adafruit. However I noticed that it had a max current on it's serial port of 12mA where the Maximum current consumption on the plant monitor's data sheet says 15mA. I would think this could mean I'd have some dead 8266's every now and then?
    – Avogadro
    Nov 8, 2022 at 10:44
  • 1
    there's no real current on the serial port, afaik. the plant monitor probably uses 15ma total, but that doesn't matter as they are both powered by the same 3,3v source. i'm assuming the large terminals up top have continuity to the pins, but even if not, just make a splitter by splicing dupont cabled together. also not sure what paydafruit charges, but you can get ESP01Ss for under $2/each free shipping on amazon.
    – dandavis
    Nov 8, 2022 at 18:39
  • 1
    i'm overbooked the next day or two, but i'll see what i can do later, just glad to help...
    – dandavis
    Nov 8, 2022 at 23:10

1 Answer 1

2

The distances between the plants on the shelf are in general too long for TTL level communication and soon you may want to connect more sensors at plants elsewhere in the room or even in other rooms.

In my opinion the solution proposed by dandavis, using esp-01 with WiFi or esp-now is the most simple and universal solution. I see no problems with the implementation. The esp-01 is small and will play nice with the 3.3 V sensor. Maybe it can be even made battery powered and then there are no cables between plants.

If wired solution was required, I would recommend to use RS485 bus. With RS485 modules with AutoDirection control the sensors could be directly connected to the RS485 module without a MCU at every sensor.

1
  • 1
    couldn't have said it better. +1
    – dandavis
    Nov 11, 2022 at 21:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.