Smart Garden




Introduction: Smart Garden

In this project we will design and program a smart garden watering system. This system will use Arduino UNO and a moisture sensor to measure the volumetric water content in soil. It will also have a light (photocell) sensor to detect when the plant should get sunlight. So, when the soil is dry a red LED will light up, when it’s wet a blue LED will light up, and when the plant needs a light a white LED will blink. You will need basic 2D-designing skills and CNC machine to design and build our own planter box. Alternatively, you can just use a normal jar. Also, you can make your planter box using acrylic and cut it by a laser cutting machine.

For the 2D-design we will be using Inkscape because it’s free and really easy to use software (you can download it from: ). For the cutting part we can either use a laser cutting or a CNC machine depending on the type of the materials that we will use.

Note: this project was originally made by: zacharyianhoward

Original project:


في هذا المشروع سوف نقوم بتصميم نظام ري ذكي للحدائق و النباتات. سوف نستخدم حساس يقوم بقياس رطوبة التربة و كذلك حساس اخر يقوم بقياس الاضاءة.سوف نستخدم الحساسين معا لمعرفة ما إذا كانت النبته تحتاج الى ري أو إضاءة وذلك عن طريق استخدام 3 اضاءات LED بحيث عندما تكون التربه جافه سوف تضئ الانارة الحمراء و عندما تكون التربة رطبة سوف تضيء الانارة الزرقاء و عندما تحتاج النبته الى اشعة الشمس سوف تضئ الاناءة البيضاء و تقوم بالوميض.

سوف نقوم باستخدام برنامج Inkscape لتصميم وعاء النبته و يمكننا قص اجزاء الوعاء باستخدام جهاز ال CNC حيث سنستخدم الخشب و يمكننا ايضا قص الوعاء بالليزر و استخدام الاكرليك. كما يمكننا استخدام أي وعاء جاهز.


فكرة هذا المشروع مقتبسه من


Step 1: Requirements

1-Arduino UNO

2-Photocell (light sensor)

3-3 LED lights (red, blue, and white)

4-Moisture sensor

5- Resistor.

6-Breadboard - Mini Modular (White)

7-Female/Male 'Extension' Jumper Wires.

8-MDF wood. Or Acrylic (Thickness 6 mm)

9-Wood glue.

You'll also need:

CNC Laser Cutter

3D Printer (optional)


المتطلبات :

1- متحكم Arduino UNO

2- حساس اضاءه Photocell (light sensor)

3- ثلاث اضاءات LED (أزرق , أحمر , أبيض)

4- حساس رطوبة

5- مقاومة

6- بريدبورد أبيض

7- خشب من نوع MDF او أكرليك

8- صمغ خشب

Step 2: Making the Planter Box

For this step, what we did is just cut couple of 20X20 cm frames using the CNC machine and stack them in top of each other.

Make sure to drill three holes for each LED light, also, make sure to make a little window in the first frame for the power cable that will be connected to the Arduino UNO. Just before the last frame from the top, you might want to put an acrylic sheet to separate the bottom part which will be the place for the Arduino UNO, and the top which will be the place for the plant. Also, you will need to drill or cut a hole on the acrylic sheet so you can wire thru your wires. And this is very much it for this step.

تصميم صندوق النبته:

في هذه الخطوة قمنا فقط بعمل مجموعه من الاطارات مقاس 20 CM 20 x وقمنا بوضعها فوق بعضها كما موضح في الصورة.

وقمنا بحفر3 فتحات دائرية لوضع اضاءات LED . وكذلك عمل فتحه في الاطار الاول بالاسفل لتكون منفذ لسلك الاردوينو.

قبل الاطار الاخير و ضعنا طبقة اكرليك حتى تفصل الاجزاء الالكترونية بالاسفل و يمكننا وضع النبته فوقها فيما بعد.

Step 3: Connecting the Arduino UNO.

In this step you can just follow the pictures

-First, connecting the LEDs.

- Second, connecting the moisture sensor.

- Third, connecting the photocell sensor.

Once all the parts are connected, we can go to the next step which is programming our project

توصيل الالكترونيات

بامكانك اتباع طريقة التوصيل الموجودة في الصور كالتالي:

1- توصيل اضاءات LED

2- توصيل حساس الرطوبة

3- توصيل حساس الاضاءة

Step 4: Programming Our Project

You can download this code and try to make your own adjustments and see what happens.

To test the Moisture sensor, simply water your plant and put the sensor right into the soil. If you see the red LED turned off and the blue LED turned on it means that it’s working fine.

Now, for the light sensor, just try to cover it for 20 seconds. If you see the white LED starts blinking it means that it’s working fine too.

-Note, the values are based on our own testing. You might get different results depending on your environment’s variables.

-Note, the value for light sensor is not real, it’s just for our own testing. The way it should work in real projects is by calculating the number of hours that a plant didn’t get any sunlight and then start blinking. For more information about this, you can read and search more about (Shade Plants and Shade Gardens) and adjust the values of the sensor according to the number of sunlight hours that these types of plants need.

Hint: some plants need sunlight after 8 hours of being in shade. So, we will change the value of the light sensor form 20 sec to 8 hours which is (28800 seconds).



تم برمجة هذا المشروع كالتالي. عندما تكون التربة جافه سوف تعمل الاضاءة الحمراء, وعندما تتعرض التربة للرطوبة سوف تتوقف الاضاءة الحمراء و تعمل الاضاءة الزرقاء.

بالنسبة لحساس الاضاءة قمنا ببرمجته بحيث اذا لم تتعرض النبته للاضاء لمدة 20 ثانية سوف تبدأ الاضاءة البيضاء بالوميض.

ملاحظه : قد تختلف طريقة عمل الاضاءات حسب البيئة و الاضاءه الموجودة فيها النبته. القيم التي قمنا باختبارها في مشروعنا هي قيم للاختبار و للتجربة فقط.

في المشاريع الحقيقية يجب تعديل القيم بناء على المدة الزمنية التي تحتاجها النبته للري أو الاضاءة.

لمعلومات أكثر يمكن البحث عن نباتات الظل و عن المدة الزمنية التي تستطيع هذه الانواع من النباتات البقاء من دون اضاءه أو اشعة الشمس و بناءً عليها يتم تعديل المتغيرات في الكود.

مثال: بعض النباتات قد تحتاج الى اشعة الشمس بعد 8 ساعات من بقاءها في الظل. في هذه الحاله يجب تغيير قيمة حساس الاضاءة من 20 ثانية إلى 28800 ثانية و التي تعادل 8 ساعات.

Be the First to Share


    • For the Home Contest

      For the Home Contest
    • Make It Bridge

      Make It Bridge
    • Big and Small Contest

      Big and Small Contest



    6 years ago

    what is the resistor ohm? 220?


    7 years ago

    Hi, I'm having issues with the code, it keeps giving me error for all the spots it says time in the code. Not sure what exactly the issue is.


    7 years ago

    i cannot compile the code. whyyyyy. :( can you email me further information???


    Reply 7 years ago

    this is the great project. i want to built it , but i cant download the library, FABLAB Dhahran.


    Reply 7 years ago

    thank a lot FABLAB Dhahran :)


    7 years ago

    I am new to Arduino and sensors, what moisture sensor do you recommend?

    FABLAB Dhahran
    FABLAB Dhahran

    Reply 7 years ago

    This one would do


    7 years ago on Introduction

    Really cool idea; when I first saw the picture, I thought the jumpers were watering lines (for auto-watering when low moisture is detected.) Might be a cool V2 option :-)

    Now I want to make one.