element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino Projects
  • Products
  • Arduino
  • Arduino Projects
  • More
  • Cancel
Arduino Projects
Blog Smart Gardening!
  • Blog
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino Projects to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: vimarsh_
  • Date Created: 29 Jan 2019 1:33 AM Date Created
  • Views 3801 views
  • Likes 10 likes
  • Comments 9 comments
  • programmablelogicch
  • agrobot
  • mkr_vidor
  • arduinoday2019
  • mkr vidor 4000
  • mkr_freedom
  • arduino
  • arduino projects
Related
Recommended

Smart Gardening!

vimarsh_
vimarsh_
29 Jan 2019
image

Arduino Home

An Open-Source platform to create digital devices and interactive objects that sense and control physical devices.

Arduino Tutorials
Arduino Projects

 

Concept/iDea:

The General idea, which came was using the newly popular and inexpensive use of FPGA in our daily lives. One of them was gardening, as everyone, wants their houses to be smart so why not backyards and parks. So with the newly "Arduino" FPGA board came, I was super excited, hoping it would make my new interest of FPGAs easy. This is the basic plan: Make an Internet-connected device, which takes inputs through its FPGAs, and use FPGA to use HDMI to print the data on a TV or monitor screen in your house. (Although you don't need to run an HDMI cable, to your house, to run it, this just demonstrates FPGA capabilities). The BME280 sensor and Soil Moisture Sensor will be sued to collect some data. If the Soil Moisture is low, then a pump/motor/solenoid will turn on.

 

Hardware Required:

  • MKR Vidor 4000 // Main MCU with FPGA
  • Ethernet Shield // if and only if you want an ethernet connection from to the router
  • BME280 // i2c sensor to detect temperature, humidity and air pressure
  • MKR Connector Carrier // for less dirty wiring // and power management
  • LiPo Battery or PowerBank // for Power
  • MOSFET //for motor
  • A pump/motor/solenoid

          imageimageimage

     MKR Vidor, BME280, Moisture Sensor respectively

Software to be used:

  • Arduino IDE // for programming //web editor //or offline
  • Blynk //for server communication (you need to manually install the latest release v0.5.4  for compatibility)

 

Schematic/ Wiring:

    image

All the Wiring is pretty simple, nothing like biological science!

 

Working:

This project works very simple but works well. Our goal is to make Gardening Interesting with the use of FPGA. To do that we need to monitor different conditions and control the devices according to that. We also want to monitor that data on our smartphones and also send alert emails/SMS. The sensors for this prototype are very basic (uses mentioned above). This sensor will give us the data on the Blynk app, where we will address it. This system can detect Soil Moisture, with Atmospheric Conditions to predict and water the plants. The pump will be controlled in this way.

 

Coding:

Coding this new board was quite difficult. Very less resources were available and other problems as mentioned earlier. Even after having Vidor Graphics library it was difficult to figure out its functions and all the timing stuff. The rest of the code was pretty simple. I used the newly came Blynk library (which is not yet directly available in Arduino IDE)  which brought the support for boards having the uBlox ESP32 WiFi module. The Rest was pretty safe. All in all, it was a project just using the FPGAs. I also used the "only" one pin mapping I had; i.e., pin 33 to A0 to read data from the sensor(which currently dues not have analogRead functionality). But after examining Vidor Graphics library, they have done an awesome job of using FPGA pins to mimic HDMI. The timing just needed to be taken care of so that monitor refreshing does not disturb it. The code is available here: https://github.com/vimarsh244/Smart-Agriculture-MKR-Freedom

 

Server Part:

For the server side, I used the free Blynk service, to which Vidor connects via the WiFi, and publishes the data. Then, the Blynk server with its eventor widget decides about the watering of plants.  Quite simple.

imageimageimage

Here, you can change V2 to any digital pin.

 

The Final Product:

This is my Final Arrangement with all things connected. (not a permanent setup but a working one). I have tested this outdoors in soil and it works fine, but of course, the HDMI thing, I neede to make the below video indoors.

imageimage

 

The video of the working project: https://youtu.be/ZIZl-OwZ0xk

 

Conclusion:

This project taught me a lot about FPGAs, I learned about VHDL and Verilog, and how the backed part works, and how the transistors actually make up the "IC" for the specific function. It was amazing to see the long codes, in Verilog, but a little disappointing, that I could not use VHDL in Intel's own software, because of lack of my programming skill in any sort of assembly and lack of documentation on how to upload it to the Cyclone FPGA. All in all, I liked the result, and hope that Arduino will bring more documentation available, to begin the FPGA trend. After all, the MKR aks Maker boards are ready for production due to use of some advanced tech in a small form factor. FPGAs though do get warm, I mean a lot warmer! In the end, in the current stage, the project is a success and it is truly possible to create anything with the use of FPGA. Once I learn Assembler, I will try to display out in analogue form image!!!

  • Sign in to reply

Top Comments

  • vimarsh_
    vimarsh_ over 6 years ago in reply to DAB +3
    I used the FPGA to provide the HDMI output. The Arduino graphics library provides that. The cyclone FPGA chip in the board is programmed in such a way for mimicking the HDMI signal.thus the FPGA sends…
  • vimarsh_
    vimarsh_ over 6 years ago in reply to dubbie +2
    Connecting to webpages ... I meant that the board can connect to any online service like things pan and new Arduino IoT cloud. Also blynk uses standard protocol of http(get and put) so it works like a…
  • clem57
    clem57 over 6 years ago in reply to dubbie +2
    Hi dubbie I just stumbled on this blog and wanted to offer some clarity. A website boils down to html( markup commands telling where text and pictures similar to word from MS) and communications between…
  • theusbblaster
    theusbblaster over 5 years ago

    Hello Vimarsh

    I like your project a lot (it was the first practical project for the Vidor I had observed other than clock signal generation), but I still didn't understand the need to purchase the Vidor 4000 for it. I mean, the MKR WiFi 1010 costs less, and connects to WiFi along with BLE, and if incorporated into a real greenhouse, HDMI wouldn't be reliable to sync up hundreds of Vidors and Blynk or ThingSpeak would actually be more efficient and beneficial than HDMI (due to low power consumption and WiFi's fast data transfer). Also, try instead to use VidorPeripherals library with your sensors, as it can help create multiple comm interfaces (SPI,I2C,UART,etc.) Another suggestion, try to include a heatsink as the FPGA can get hot. One last thing, if possible, use Adafruit's STEMMA soil sensor as it includes a temp. compensated chip and can tell soil temperature as well as moisture concentration up till 2000, as well as a TIP120 transistor and submersible pump.

    Cheers

    The USB Blaster

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dubbie
    dubbie over 6 years ago in reply to clem57

    No butting in has happened. I am seeking enlightenment, albeit very slowly. Everything helps. Still, by the time I get around to spending some time on this node.js/red stuff it will probably have morphed into something else I don't understand.

     

    Dubbie

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • clem57
    clem57 over 6 years ago in reply to dubbie

    Hi dubbie I just stumbled on this blog and wanted to offer some clarity. A website boils down to html( markup commands telling where text and pictures similar to word from MS) and communications between client and server. This part is the glue holding the world together hence the World Wide Web. The term Node or Node JS or Node Red is just JavaScript code in a GUI form to avoid typing code in.  I know that was a mouthful, but breaking down things into parts makes more sense. If anything seems confusing, I would not mind elaborating on the parts you need wish to ask about. After all this place is about learning as well as discovering new things.

    Sorry if I am "butting in",

    Clem

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • vimarsh_
    vimarsh_ over 6 years ago in reply to dubbie

    A little more info:

    Blynk is a free IOT app that itegrates devices connected to its server and you can easily control it with its app and also read and write pin values without virtually any extra coding.     https://blynk.cc

    Node-red is nodejs based  GUI server with which you can manage all the things:  https://nodered.org/

         read data from hhttp/mqtt and write

         store data to files

         use third party applets

         also control RPi gpios

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dubbie
    dubbie over 6 years ago in reply to vimarsh_

    Vimarsh,

     

    Thanks for the extra information, but it is still all a mystery to me. I have heard some of these words before and I have looked into some aspects but for some reason my brain just refuses to comprehend. If I was an AI system I guess you would say my deep learning wasn't working!

     

    Dubbie

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube