Verdi CO-OP
May 2023 - June 2023
May 2023 - June 2023
As a technical intern at UBC HATCH, I had the opportunity to work with two different startups over the span of four months. For the first two months, I spent my time at Verdi which is a startup focused on providing farmers with smart irrigation and data monitoring through the use of their custom controllers. Despite the short timeframe, I had the opportunity to work on three distinct projects. First, I researched flow meter technology to determine the most suitable option for agricultural applications and contacted suppliers for additional details. Secondly, I designed and conducted experiments to verify manufacturer conversion equations for turbine flow meters. Last and most notably, I designed a PCB to obtain readings from Irrometer's Watermark soil moisture sensor and output an analog signal. This PCB serves as an adapter to interface between the soil moisture sensor and Verdi's controllers.
The PCB was designed using Altium and contained the following components: ATtiny85 microcontroller, op-amp, 555-timer, and passive components. All SMD components were hand soldered. Prior to completing the PCB design, prototyping circuits were built on breadboards or perfboards and deployed in the field to verify functionality, compatibility, durability, and accuracy. Issues were identified involving compatibility and accuracy.
The accuracy was improved through calibration and design changes. The circuit voltage was reduced from 5V to 3.3V to improve the resolution (8-bit) of the analog output signal. In addition, the accuracy was improved by reprogramming the microcontroller to use a linear interpolation look-up table while previously a conversion equation was used. This small change resulted in a 34% reduction in error.
The prototype also experienced compatibility issues with Verdi's controllers. After investigating, I determined the issue to be with interference between Verdi's controller and the adapter circuit's analog output. This was resolved by adding an op-amp in voltage follower configuration to provide circuit isolation.
During the calibration phase, I recognized the extensive time required and took initiative to partially automate the process. I developed a Python program with a GUI to interface with an Arduino setup that varies the input to the PCB circuit and obtains the output. The Arduino setup contained two relays and two potentiometers used to vary the input. In addition, the calibration setup had a custom 3D-printed base to neatly contain the Arduino and other components. The Python program displays input/output variables and calculates the expected output. The GUI also contains buttons used to automatically log the data to a CSV file. This new calibration setup combined with the Python GUI helped reduce calibration time by 83%. (Python GUI seen below)
In the end, I successfully designed and deployed the first prototype adapter which has a projected cost savings of over 53% when compared to Irrometer's proprietary adapter. This new design will also allow for control over inventory and reduce lead times.
PCB design and layout using Altium
Programming Python GUI for automating calibration process
Programming microcontrollers in C
Oscilloscope for design & troubleshooting
Hand soldering SMD components
CAD design & 3D-printing for custom calibration jig to optimize workflow
Design, setup, perform, analyze, and report experiments for turbine flow meters
Documentation
Research and reviewing published patents
Maintaining professional communication with international suppliers
Collaborating with colleagues
Providing concise updates during team meetings
Clarifying goals
Self-regulating and time management