This is a rough list of the parts that I have used to make the first few ProGrow prototypes. Everything that I have used for the ProGrow prototypes has been purchased through AliExpress, because I’m super cheap. There are many alternative parts that you can use and find on your own that will achieve the same or better results. I’ll try to explore some alternative options. You can use this as a guide for what sort of modules you might want for your own personal projects.
An Atmega 328P development board is used as the main controller in the ProGrow. It’s basically an Arduino UNO clone. Any Atmega based development board should be able to do the same job. You could also potentially use an ESP8266 for integrated wireless function, but that is a different story.
I use a simple acrylic enclosure on the Arduino UNO to make it easier to mount it to stuff. I have also had great success using a 3D printed UNO case, so I’ll include a link to that if you want to print one for yourself.
I use a green LED display from RobotDyn as my primary means of display and system monitoring. They’ve got all sorts of display types, modules and boards available, so I’ll include a link to their store page.
The display uses the TM1637 library.
Air temperature & humidity sensor:
I use the DHT22 as my air sensor. It’s capable of fairly accurate temperature and humidity measurements using the DHT library. It interfaces painlessly with the Arduino using only one GPIO for data, so it has a lot of function in a small footprint.
You can also use the DHT11 as an alternative. The only differences are that the DHT11 is cheaper and slightly less accurate.
You can use the DHT library that is accessible through the Arduino IDE.
Soil Moisture Sensor:
I use the dirt cheap soil moisture sensors that you can find online. The ones from Aliexpress are less than a dollar, and they have worked fine for me for almost a year now. It’s always good to buy extra at these prices, though.
I use the sensors analog output with the Arduino, so that I can have the arduino make decisions based on the moisture value.
Some of the modules have the ability to be set so that they will output a logic high when at a certain moisture threshold. If the description doesn’t say it, you can look for this functionality by looking for a potentiometer on the board that connects to the sensor. You can do the same thing with programming, though.
I use a relay module to control the water pump in the ProGrow. A relay module is a bit overkill for such a small DC pump, but it allows a lot of expansion opportunities and interfacing it with the Arduino is dead simple. I went with a prebuilt module, since I could just sticky-tape it right onto my project. You can buy relays of all shapes and sizes on Aliexpress.
BH1750 Light Sensor:
I use a BH1750 light sensor with the ProGrow. There are many light sensor alternatives out there that work great and basically do the same thing.
DC Water Pump:
I use a simple submersible DC pump to move water into the container for the ProGrow. Any pump will work, as long as you can control it using the relay and Arduino.
SD Card Module:
I use a generic SD card module to record data to a MicroSD using the SD and SPI libraries that are built into the Arduino IDE.
I use 170-point breadboards for handling the circuitry for the ProGrow. I love them because they make it very easy it to attach basic circuits to your prototypes.
There are all shapes, sizes and price points available online.
I use the cheapest, simplest push buttons that I could find. They slot into a board, and go clickity-click! You can find them anywhere, in all sorts of shapes and sizes and colors. I use momentary push buttons.
I’ll update this as things change or if I think of something I missed.