Suggestions on battery powered soil moisture sensor with LED feedback


I have successfully created my soil moisture monitor prototype using a standard Arduino, powered by 5V USB charger, with RGB LED indicating moisture content! It might be simple, but this is my first Arduino project, and I'm very excited about it.

I would like to take this project to the next level, and make it battery powered. This is where I could use some advice to guide me on creating something that works well, and has a decent battery life.

Here are some things that I've been thinking about:

  • I want to use the Pro Mini for this project because of its small footprint and because I have one on hand
  • I want to use some type of LED to provide an alert that the plant needs to be watered. I realize that I solid LED is not ideal, and it will drain the battery quickly. I was thinking about maybe using an RGB LED to blink different colors. I could do something like have it blink 5 times once a minute to provide feedback to the plant keeper.
  • I want this to be battery powered. I know 9V batteries are not recommended, so I was thinking about using 4xAA batteries, with an on/off switch
  • In order to prolong sensor life, and hopefully increase battery life, I will use one of the digital pins to turn the soil moisture sensor on/off before/after reading the sensor every 30 minutes.
  • I've also been reading about the sleepy library as a way to put the Arduino in hibernation when it is not doing anything. I plan to use this as a way to converse battery life.

Do you have any feedback on the things that I have mentioned so far?

Is there anything that I have not mentioned that you think that I should be aware of?

Do you think my ideal of using 1 RGB LED is a good idea, or would I be better off using 3 individual different color LEDs and just lighting up one at a time depending on the reading?

Thank you to everyone here for all their help.

Hello, you seem to be on the right track. The key to battery usage is efficient Hardware and efficient Software. You have a plan for both. Use the absolute Maximum sleep mode (power down). Also, I have just recently discovered that some Versions of the pro mini have a solder Bridge that is designed to be removed if you are providing a more efficient source of power. (The one I have is from Adafruit and the solder blob is between the Crystal and a capacitor on the FTDI end of the board.) Once that solder blob is removed, the inefficient power circuit and the power on LED are out of the circuit. You can then either attach the correct voltage directly from a battery source, or use a more efficient power supply. I prefer the OKI78SR. It Comes in two Versions depending on wether you are using 5V or 3.3V on your Arduino.

One last thought. The Arduino usually runs at 16MHz but uses less energy if run, for example at 8MHz. That is the only power saving Option that you didn't already mention in your post.

Good luck!

This might give you some ideas.