{"id":246,"date":"2026-04-10T09:16:06","date_gmt":"2026-04-10T07:16:06","guid":{"rendered":"https:\/\/raspitips.com\/?p=246"},"modified":"2026-04-10T09:26:53","modified_gmt":"2026-04-10T07:26:53","slug":"ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi","status":"publish","type":"post","link":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/","title":{"rendered":"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi"},"content":{"rendered":"<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Ever wished your plants could tell you when something&#8217;s wrong? With a Raspberry Pi, a camera, and a bit of machine learning magic, they practically can. In this guide, you&#8217;ll build an <strong>AI Plant Doctor<\/strong> \u2014 a smart system that snaps photos of your plants, analyzes their leaves for signs of disease, and sends alerts with care tips straight to your phone.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Perfect for hobby gardeners, balcony growers, and anyone who&#8217;s ever killed a basil plant and wondered why.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">What You&#8217;ll Need<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Before we dig in, gather the following equipment:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3\">\n<li class=\"whitespace-normal break-words pl-2\"><strong>Raspberry Pi 4 (4GB or 8GB)<\/strong> \u2014 the 8GB model is ideal for smoother ML inference<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Raspberry Pi Camera Module 3<\/strong> (or a USB webcam)<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>MicroSD card (32GB+)<\/strong> with Raspberry Pi OS (64-bit) installed<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Official Raspberry Pi power supply<\/strong><\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Camera mount or tripod<\/strong> to position the camera over your plants<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Weatherproof case<\/strong> (if placing outdoors)<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Wi-Fi connection<\/strong><\/li>\n<li class=\"whitespace-normal break-words pl-2\"><em>(Optional)<\/em> A <strong>light ring<\/strong> or LED strip for consistent lighting<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><em>(Optional)<\/em> A <strong>soil moisture sensor<\/strong> for extra plant data<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">You&#8217;ll also need a <strong>Telegram account<\/strong> (free) for receiving alerts on your phone.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Step 1: Set Up Your Raspberry Pi<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Flash Raspberry Pi OS (64-bit) onto your microSD card using Raspberry Pi Imager. Boot up, connect to Wi-Fi, and run the usual updates:<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\">\n<div class=\"relative\">\n<div class=\"transition-all opacity-100 scale-100\"><\/div>\n<div class=\"absolute inset-0 flex items-center justify-center\">\n<div class=\"transition-all opacity-0 scale-50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5\"><code class=\"language-bash\"><span class=\"token token\">sudo<\/span> <span class=\"token token\">apt<\/span> update <span class=\"token token\">&amp;&amp;<\/span> <span class=\"token token\">sudo<\/span> <span class=\"token token\">apt<\/span> full-upgrade -y<\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Enable the camera interface via <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">sudo raspi-config<\/code> \u2192 Interface Options \u2192 Camera.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Step 2: Install the Required Libraries<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">We&#8217;ll use <strong>TensorFlow Lite<\/strong> for lightweight, on-device inference \u2014 perfect for the Pi.<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\">\n<div class=\"relative\">\n<div class=\"transition-all opacity-100 scale-100\"><\/div>\n<div class=\"absolute inset-0 flex items-center justify-center\">\n<div class=\"transition-all opacity-0 scale-50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5\"><code class=\"language-bash\"><span class=\"token token\">sudo<\/span> <span class=\"token token\">apt<\/span> <span class=\"token token\">install<\/span> python3-pip python3-opencv -y\r\npip3 <span class=\"token token\">install<\/span> tflite-runtime pillow numpy requests<\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Test your camera with:<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\">\n<div class=\"relative\">\n<div class=\"transition-all opacity-100 scale-100\"><\/div>\n<div class=\"absolute inset-0 flex items-center justify-center\">\n<div class=\"transition-all opacity-0 scale-50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5\"><code class=\"language-bash\">libcamera-still -o test.jpg<\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">If you see a crisp image of your plant, you&#8217;re good to go.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Step 3: Get a Plant Disease Detection Model<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">You have two great options:<\/p>\n<ol class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3\">\n<li class=\"whitespace-normal break-words pl-2\"><strong>Use a pre-trained model<\/strong> \u2014 The <strong>PlantVillage dataset<\/strong> has trained models available on TensorFlow Hub and GitHub that can detect 30+ common diseases across tomatoes, potatoes, grapes, apples, and more.<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Train your own<\/strong> \u2014 Use Google Teachable Machine for a no-code approach, then export as a TFLite model.<\/li>\n<\/ol>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Download your <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">.tflite<\/code> model and its label file (<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">labels.txt<\/code>) into a project folder like <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">~\/plant-doctor\/<\/code>.<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Step 4: Write the Detection Script<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Create a Python script (<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">plant_doctor.py<\/code>) that:<\/p>\n<ol class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3\">\n<li class=\"whitespace-normal break-words pl-2\">Captures an image from the camera every hour<\/li>\n<li class=\"whitespace-normal break-words pl-2\">Preprocesses it (resize to 224&#215;224, normalize)<\/li>\n<li class=\"whitespace-normal break-words pl-2\">Runs inference with TensorFlow Lite<\/li>\n<li class=\"whitespace-normal break-words pl-2\">If a disease is detected with high confidence, triggers an alert<\/li>\n<\/ol>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Here&#8217;s the core logic:<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"python code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\">\n<div class=\"relative\">\n<div class=\"transition-all opacity-100 scale-100\"><\/div>\n<div class=\"absolute inset-0 flex items-center justify-center\">\n<div class=\"transition-all opacity-0 scale-50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">python<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5\"><code class=\"language-python\"><span class=\"token token\">import<\/span> tflite_runtime<span class=\"token token\">.<\/span>interpreter <span class=\"token token\">as<\/span> tflite\r\n<span class=\"token token\">import<\/span> numpy <span class=\"token token\">as<\/span> np\r\n<span class=\"token token\">from<\/span> PIL <span class=\"token token\">import<\/span> Image\r\n<span class=\"token token\">import<\/span> subprocess<span class=\"token token\">,<\/span> requests<span class=\"token token\">,<\/span> time\r\n\r\ninterpreter <span class=\"token token\">=<\/span> tflite<span class=\"token token\">.<\/span>Interpreter<span class=\"token token\">(<\/span>model_path<span class=\"token token\">=<\/span><span class=\"token token\">\"plant_model.tflite\"<\/span><span class=\"token token\">)<\/span>\r\ninterpreter<span class=\"token token\">.<\/span>allocate_tensors<span class=\"token token\">(<\/span><span class=\"token token\">)<\/span>\r\nlabels <span class=\"token token\">=<\/span> <span class=\"token token\">open<\/span><span class=\"token token\">(<\/span><span class=\"token token\">\"labels.txt\"<\/span><span class=\"token token\">)<\/span><span class=\"token token\">.<\/span>read<span class=\"token token\">(<\/span><span class=\"token token\">)<\/span><span class=\"token token\">.<\/span>splitlines<span class=\"token token\">(<\/span><span class=\"token token\">)<\/span>\r\n\r\n<span class=\"token token\">def<\/span> <span class=\"token token\">capture<\/span><span class=\"token token\">(<\/span><span class=\"token token\">)<\/span><span class=\"token token\">:<\/span>\r\n    subprocess<span class=\"token token\">.<\/span>run<span class=\"token token\">(<\/span><span class=\"token token\">[<\/span><span class=\"token token\">\"libcamera-still\"<\/span><span class=\"token token\">,<\/span> <span class=\"token token\">\"-o\"<\/span><span class=\"token token\">,<\/span> <span class=\"token token\">\"plant.jpg\"<\/span><span class=\"token token\">,<\/span> <span class=\"token token\">\"-n\"<\/span><span class=\"token token\">]<\/span><span class=\"token token\">)<\/span>\r\n    <span class=\"token token\">return<\/span> Image<span class=\"token token\">.<\/span><span class=\"token token\">open<\/span><span class=\"token token\">(<\/span><span class=\"token token\">\"plant.jpg\"<\/span><span class=\"token token\">)<\/span><span class=\"token token\">.<\/span>resize<span class=\"token token\">(<\/span><span class=\"token token\">(<\/span><span class=\"token token\">224<\/span><span class=\"token token\">,<\/span><span class=\"token token\">224<\/span><span class=\"token token\">)<\/span><span class=\"token token\">)<\/span>\r\n\r\n<span class=\"token token\">def<\/span> <span class=\"token token\">predict<\/span><span class=\"token token\">(<\/span>img<span class=\"token token\">)<\/span><span class=\"token token\">:<\/span>\r\n    input_data <span class=\"token token\">=<\/span> np<span class=\"token token\">.<\/span>expand_dims<span class=\"token token\">(<\/span>np<span class=\"token token\">.<\/span>array<span class=\"token token\">(<\/span>img<span class=\"token token\">,<\/span> dtype<span class=\"token token\">=<\/span>np<span class=\"token token\">.<\/span>float32<span class=\"token token\">)<\/span><span class=\"token token\">\/<\/span><span class=\"token token\">255.0<\/span><span class=\"token token\">,<\/span> axis<span class=\"token token\">=<\/span><span class=\"token token\">0<\/span><span class=\"token token\">)<\/span>\r\n    interpreter<span class=\"token token\">.<\/span>set_tensor<span class=\"token token\">(<\/span>interpreter<span class=\"token token\">.<\/span>get_input_details<span class=\"token token\">(<\/span><span class=\"token token\">)<\/span><span class=\"token token\">[<\/span><span class=\"token token\">0<\/span><span class=\"token token\">]<\/span><span class=\"token token\">[<\/span><span class=\"token token\">'index'<\/span><span class=\"token token\">]<\/span><span class=\"token token\">,<\/span> input_data<span class=\"token token\">)<\/span>\r\n    interpreter<span class=\"token token\">.<\/span>invoke<span class=\"token token\">(<\/span><span class=\"token token\">)<\/span>\r\n    output <span class=\"token token\">=<\/span> interpreter<span class=\"token token\">.<\/span>get_tensor<span class=\"token token\">(<\/span>interpreter<span class=\"token token\">.<\/span>get_output_details<span class=\"token token\">(<\/span><span class=\"token token\">)<\/span><span class=\"token token\">[<\/span><span class=\"token token\">0<\/span><span class=\"token token\">]<\/span><span class=\"token token\">[<\/span><span class=\"token token\">'index'<\/span><span class=\"token token\">]<\/span><span class=\"token token\">)<\/span><span class=\"token token\">[<\/span><span class=\"token token\">0<\/span><span class=\"token token\">]<\/span>\r\n    <span class=\"token token\">return<\/span> labels<span class=\"token token\">[<\/span>np<span class=\"token token\">.<\/span>argmax<span class=\"token token\">(<\/span>output<span class=\"token token\">)<\/span><span class=\"token token\">]<\/span><span class=\"token token\">,<\/span> <span class=\"token token\">max<\/span><span class=\"token token\">(<\/span>output<span class=\"token token\">)<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Step 5: Send Alerts to Your Phone via Telegram<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Create a Telegram bot with <strong>@BotFather<\/strong>, grab your bot token and chat ID, then add this function:<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"python code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\">\n<div class=\"relative\">\n<div class=\"transition-all opacity-100 scale-100\"><\/div>\n<div class=\"absolute inset-0 flex items-center justify-center\">\n<div class=\"transition-all opacity-0 scale-50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">python<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5\"><code class=\"language-python\"><span class=\"token token\">def<\/span> <span class=\"token token\">send_alert<\/span><span class=\"token token\">(<\/span>disease<span class=\"token token\">,<\/span> confidence<span class=\"token token\">)<\/span><span class=\"token token\">:<\/span>\r\n    msg <span class=\"token token\">=<\/span> <span class=\"token token string-interpolation\">f\"\ud83c\udf31 Plant Alert!\\nDetected: <\/span><span class=\"token token string-interpolation interpolation\">{<\/span><span class=\"token token string-interpolation interpolation\">disease<\/span><span class=\"token token string-interpolation interpolation\">}<\/span><span class=\"token token string-interpolation\">\\nConfidence: <\/span><span class=\"token token string-interpolation interpolation\">{<\/span><span class=\"token token string-interpolation interpolation\">confidence<\/span><span class=\"token token string-interpolation interpolation\">:<\/span><span class=\"token token string-interpolation interpolation format-spec\">.0%<\/span><span class=\"token token string-interpolation interpolation\">}<\/span><span class=\"token token string-interpolation\">\"<\/span>\r\n    requests<span class=\"token token\">.<\/span>post<span class=\"token token\">(<\/span>\r\n        <span class=\"token token string-interpolation\">f\"https:\/\/api.telegram.org\/bot&lt;TOKEN&gt;\/sendMessage\"<\/span><span class=\"token token\">,<\/span>\r\n        data<span class=\"token token\">=<\/span><span class=\"token token\">{<\/span><span class=\"token token\">\"chat_id\"<\/span><span class=\"token token\">:<\/span> <span class=\"token token\">\"&lt;CHAT_ID&gt;\"<\/span><span class=\"token token\">,<\/span> <span class=\"token token\">\"text\"<\/span><span class=\"token token\">:<\/span> msg<span class=\"token token\">}<\/span>\r\n    <span class=\"token token\">)<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">You can even attach the captured image and include care tips from a simple dictionary keyed to each disease (e.g., &#8220;Early blight \u2192 Remove affected leaves, apply copper fungicide, avoid overhead watering&#8221;).<\/p>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Step 6: Automate It<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Use <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">cron<\/code> to run the script every hour:<\/p>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"bash code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\">\n<div class=\"relative\">\n<div class=\"transition-all opacity-100 scale-100\"><\/div>\n<div class=\"absolute inset-0 flex items-center justify-center\">\n<div class=\"transition-all opacity-0 scale-50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">bash<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed p-3.5\"><code class=\"language-bash\"><span class=\"token token\">crontab<\/span> -e\r\n<span class=\"token token\"># Add:<\/span>\r\n<span class=\"token token\">0<\/span> * * * * \/usr\/bin\/python3 \/home\/pi\/plant-doctor\/plant_doctor.py<\/code><\/pre>\n<\/div>\n<\/div>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Tips for Better Accuracy<\/h2>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3\">\n<li class=\"whitespace-normal break-words pl-2\"><strong>Consistent lighting<\/strong> matters enormously \u2014 consider a small LED ring<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Position the camera<\/strong> 20\u201330 cm from the leaves<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Retrain the model<\/strong> with photos of your specific plants for best results<\/li>\n<li class=\"whitespace-normal break-words pl-2\"><strong>Clean the lens<\/strong> regularly if outdoors<\/li>\n<\/ul>\n<h2 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">Wrapping Up<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">That&#8217;s it \u2014 you now have a 24\/7 AI plant doctor watching over your garden. With some tweaking, you can expand it to multiple cameras, log data to a dashboard, or integrate it with Home Assistant for automated watering.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Happy growing! \ud83c\udf3f<\/p>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><em>Liked this project? Follow <strong>@raspitips<\/strong> on Instagram for more Raspberry Pi ideas, tips, and tutorials.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ever wished your plants could tell you when something&#8217;s wrong?  [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"content-type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[36],"tags":[],"class_list":["post-246","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"AI Plant Doctor\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"mitsoshsr\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"RaspiTips - Turn Your Ideas Into Reality.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"AI Plant Doctor\" \/>\n\t\t<meta property=\"og:description\" content=\"AI Plant Doctor\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-04-10T07:16:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-04-10T07:26:53+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"AI Plant Doctor\" \/>\n\t\t<meta name=\"twitter:description\" content=\"AI Plant Doctor\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#blogposting\",\"name\":\"AI Plant Doctor\",\"headline\":\"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi\",\"author\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/author\\\/mitsoshsr\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/raspitips.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Gemini_Generated_Image_cqzmjkcqzmjkcqzm.png?fit=2400%2C1792&ssl=1\",\"width\":2400,\"height\":1792},\"datePublished\":\"2026-04-10T09:16:06+02:00\",\"dateModified\":\"2026-04-10T09:26:53+02:00\",\"inLanguage\":\"en-GB\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#webpage\"},\"articleSection\":\"Projects\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/raspitips.com\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/category\\\/projects\\\/#listItem\",\"name\":\"Projects\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/category\\\/projects\\\/#listItem\",\"position\":2,\"name\":\"Projects\",\"item\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/category\\\/projects\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#listItem\",\"name\":\"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#listItem\",\"position\":3,\"name\":\"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/category\\\/projects\\\/#listItem\",\"name\":\"Projects\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/#organization\",\"name\":\"Raspi Tipes\",\"description\":\"Turn Your Ideas Into Reality.\",\"url\":\"https:\\\/\\\/raspitips.com\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/author\\\/mitsoshsr\\\/#author\",\"url\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/author\\\/mitsoshsr\\\/\",\"name\":\"mitsoshsr\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/752973f69ab63ff1abc0b2fed0194223d942a401ab68b7c7f6ebc1ec7c1ded0b?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"mitsoshsr\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#webpage\",\"url\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/\",\"name\":\"AI Plant Doctor\",\"description\":\"AI Plant Doctor\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/author\\\/mitsoshsr\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/author\\\/mitsoshsr\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/raspitips.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Gemini_Generated_Image_cqzmjkcqzmjkcqzm.png?fit=2400%2C1792&ssl=1\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#mainImage\",\"width\":2400,\"height\":1792},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/index.php\\\/2026\\\/04\\\/10\\\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\\\/#mainImage\"},\"datePublished\":\"2026-04-10T09:16:06+02:00\",\"dateModified\":\"2026-04-10T09:26:53+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/raspitips.com\\\/#website\",\"url\":\"https:\\\/\\\/raspitips.com\\\/\",\"name\":\"Raspi Tips\",\"description\":\"Turn Your Ideas Into Reality.\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/raspitips.com\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"AI Plant Doctor","description":"AI Plant Doctor","canonical_url":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#blogposting","name":"AI Plant Doctor","headline":"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi","author":{"@id":"https:\/\/raspitips.com\/index.php\/author\/mitsoshsr\/#author"},"publisher":{"@id":"https:\/\/raspitips.com\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/raspitips.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_cqzmjkcqzmjkcqzm.png?fit=2400%2C1792&ssl=1","width":2400,"height":1792},"datePublished":"2026-04-10T09:16:06+02:00","dateModified":"2026-04-10T09:26:53+02:00","inLanguage":"en-GB","mainEntityOfPage":{"@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#webpage"},"isPartOf":{"@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#webpage"},"articleSection":"Projects"},{"@type":"BreadcrumbList","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/raspitips.com\/#listItem","position":1,"name":"Home","item":"https:\/\/raspitips.com\/","nextItem":{"@type":"ListItem","@id":"https:\/\/raspitips.com\/index.php\/category\/projects\/#listItem","name":"Projects"}},{"@type":"ListItem","@id":"https:\/\/raspitips.com\/index.php\/category\/projects\/#listItem","position":2,"name":"Projects","item":"https:\/\/raspitips.com\/index.php\/category\/projects\/","nextItem":{"@type":"ListItem","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#listItem","name":"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi"},"previousItem":{"@type":"ListItem","@id":"https:\/\/raspitips.com\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#listItem","position":3,"name":"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi","previousItem":{"@type":"ListItem","@id":"https:\/\/raspitips.com\/index.php\/category\/projects\/#listItem","name":"Projects"}}]},{"@type":"Organization","@id":"https:\/\/raspitips.com\/#organization","name":"Raspi Tipes","description":"Turn Your Ideas Into Reality.","url":"https:\/\/raspitips.com\/"},{"@type":"Person","@id":"https:\/\/raspitips.com\/index.php\/author\/mitsoshsr\/#author","url":"https:\/\/raspitips.com\/index.php\/author\/mitsoshsr\/","name":"mitsoshsr","image":{"@type":"ImageObject","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/752973f69ab63ff1abc0b2fed0194223d942a401ab68b7c7f6ebc1ec7c1ded0b?s=96&d=mm&r=g","width":96,"height":96,"caption":"mitsoshsr"}},{"@type":"WebPage","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#webpage","url":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/","name":"AI Plant Doctor","description":"AI Plant Doctor","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/raspitips.com\/#website"},"breadcrumb":{"@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#breadcrumblist"},"author":{"@id":"https:\/\/raspitips.com\/index.php\/author\/mitsoshsr\/#author"},"creator":{"@id":"https:\/\/raspitips.com\/index.php\/author\/mitsoshsr\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/i0.wp.com\/raspitips.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_cqzmjkcqzmjkcqzm.png?fit=2400%2C1792&ssl=1","@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#mainImage","width":2400,"height":1792},"primaryImageOfPage":{"@id":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/#mainImage"},"datePublished":"2026-04-10T09:16:06+02:00","dateModified":"2026-04-10T09:26:53+02:00"},{"@type":"WebSite","@id":"https:\/\/raspitips.com\/#website","url":"https:\/\/raspitips.com\/","name":"Raspi Tips","description":"Turn Your Ideas Into Reality.","inLanguage":"en-GB","publisher":{"@id":"https:\/\/raspitips.com\/#organization"}}]},"og:locale":"en_GB","og:site_name":"RaspiTips - Turn Your Ideas Into Reality.","og:type":"article","og:title":"AI Plant Doctor","og:description":"AI Plant Doctor","og:url":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/","article:published_time":"2026-04-10T07:16:06+00:00","article:modified_time":"2026-04-10T07:26:53+00:00","twitter:card":"summary_large_image","twitter:title":"AI Plant Doctor","twitter:description":"AI Plant Doctor"},"aioseo_meta_data":{"post_id":"246","title":"AI Plant Doctor","description":"AI Plant Doctor","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-04-10 07:16:07","updated":"2026-04-10 08:45:50","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/raspitips.com\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/raspitips.com\/index.php\/category\/projects\/\" title=\"Projects\">Projects<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAI Plant Doctor: Monitor Your Garden\u2019s Health with Raspberry Pi\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/raspitips.com\/"},{"label":"Projects","link":"https:\/\/raspitips.com\/index.php\/category\/projects\/"},{"label":"AI Plant Doctor: Monitor Your Garden&#8217;s Health with Raspberry Pi","link":"https:\/\/raspitips.com\/index.php\/2026\/04\/10\/ai-plant-doctor-monitor-your-gardens-health-with-raspberry-pi\/"}],"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/raspitips.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_cqzmjkcqzmjkcqzm.png?fit=2400%2C1792&ssl=1","_links":{"self":[{"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/comments?post=246"}],"version-history":[{"count":1,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":248,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/posts\/246\/revisions\/248"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/media?parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/categories?post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raspitips.com\/index.php\/wp-json\/wp\/v2\/tags?post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}