System for Environmental Acquisition of Data

Table of Contents

Abstract        1

Background        1

Requirements        3

Design        4

The Approach        4

HUB        4

Vessel        4

Pod        6

Power Shield        6

Communication Shield        7

API frames:        8

Base Board Interface        8

BME 280 Sensor        9

TCS3472        10

Si1145        10

RS485        10

I2C        11

GUI        11

The Code:        12

Gantt Chart        12

Conclusion        12


As Graduating seniors from California Polytechnic University Pomona with a learn by doing approach. We wanted to find a project unique and beneficial. As Electrical Systems Engineering Technology students, our goal is to implement what we know with what the heritage of our school is known for ( Agriculture). Thus the idea of SEAD was born.

“SEAD” is a low cost environmental data acquisition system that allows for real time data collection through a system of sensors placed throughout fields. The system will collect data at any given set interval and send the data to a main system where the information can be uploaded to a web interface. Once the data has been populated the user will have graphs charts as well as  map overlays of the conditions of the fields. The logged data can then be used to see what trends have affected their crops yields in positive and negative ways. Our concept was to make an affordable low energy consumption system that could benefit small family style growers as well as commercial growers. We are excited to find the connection between technology and environment.

Sensing Data


A major component of this project is to get a very detailed understanding of the agricultural aspects that go into growing produce effectively as well as efficiently. Because agriculture and growing produce has such a large spectrum,  this project will focus on stationary crops with an emphasis on wineries and vineyards. Our first meeting was with a professor at Cal Polytechnic University Pomona who is also a member of  Boskovich farming inc. He gave us an insight on the importance of finding “The Right Nicht”. Typical growers either lease property on a temporary basis, grow a specific type of produce, then turn the entire site and prepare for a new grower to Lease the property. Other growers use the land indefinitely but replace the types of plants on a seasonal basis. Unfortunately for our type of project completely removing all of the growth/plants can cause damage to our design. We have decided to focus on stationary crops. We will go into more detail in other parts of the project.
        We set an appointment with a local winery that works with our Hospitality department on campus. On our initial meeting we noticed that the 76 acre vineyard did not look like a typical vineyard that you would see on the side of a hill. The vineyard was set in a 6 block grid that grew different types of grapes. The vines were not on trellises or garrisons the plants were simple planted between 10 and fifteen feet apart and grew in mounds low to the ground. Greg Galleano one of the owners and growers explained that the specific site we were at uses a  technique called dry farming. They do not use much water and because the soil has a sandy textured top layer and a more gravel like layer 12 to 15 inches lower, the ground tends to hold moisture fairly well. Greg Explained some of the pros and cons of this site. The pros were that it is completely organic they did not add anything to the soil to affect the growth they simply “Let nature do its work”. They would take samples of the soil and send them to a company to be tested for specific nutrients. Another benefit is that they did not have to put a lot of money into the site because it was fairly self sufficient. On a good year with proper rainfall and temperature they could yield between 300 to 400 tons of grapes that would be used in wine production. Some of the cons  were that it was a very windy location without garrison or trellises, the wind would cause some of the young grapes to fall from vines and this would affect the growth of the vines. He went into more detail about the temperature and how it affects the sugar content of the grapes. It should be noted that too much sugar or too little sugar content greatly affects the fermenting process and how the final wine will taste. Another con was that on a very hot/ dry year the plants struggle more and as a result the grape yield was at 100 tons of grapes this was a third of what the potential could be. Greg also explained that it cost $250 to $400 dollars to have the soil tested each time and that they randomly pick locations to pull the soil from.
        We asked Mr. Galleano what would some of the needs or things he would find beneficial. He said that the ability to test the soil for nutrients and water content would be a huge benefit. He also stated that keeping track of temperature and wind would help. He seemed most excited about the ability to have quick and efficient access to what was happening in the vineyard. The ability to know when to harvest to get the best/quality grapes and to have data to recognized over time what patterns were most beneficial. Greg explained that past experience with data gathering was very difficult to read and usually looked like a lot of numbers with no explanation. Overall this was a great opportunity to learn that there is more than one type of grower in the wine production process.

This will give our design the ability to cater to multiple type of wineries and insure new opportunities as well as longevity. Our design will also allow growers to produce more efficiently while keeping track of positive and negative situation due to environment over long periods of time. These benefits can cut cost produce a quality product and track in real time what necessary data is needed. We believe that with our design growers will be able to grow more efficiently and with more knowledge of what is happening at any given point in the growing process.

        Although wineries are our focus we also want to make sure that not just wineries can benefit but other types of stationary grower can find benefit in our design. We chose to meet with Dr. Jillian M. Gomez she is a agriculturalist that works at Cal Poly Pomona in the Henley centers agricultural dept. On our initial meeting she was very friendly and very enthusiastic about explaining what they do as far as research and growth for the hospitality department and the local cal poly farm store. The location was very small in comparison to the winery. She went into detail about some of the produce they grow examples kale, basil, carrots, pepper, etc. She felt that our design could have an impact on what they are growing and being able to track that information would have great benefits. She said while there department is small and they enjoy getting out in the field and doing certain things larger grower who are more focused on quality and quantity could benefit from the system. The downside is that with larger growers they typically turn the soil after production and prepare for a new season. The pros of this site were that smaller growers don't usually remove everything. They pull the plants and replant new ones without turning the entire area. This would allow us to work with smaller growers that have a specific need. Aaron and Marques also recognized opportunities to work with companies that do agricultural research as they could benefit with real time data.  This location would possibly used for a testing area for our design because they will allow us to use a section to receive environmental data.

The Final Locations used for Research were  a variety of vineyards in Paso Robles California. The initial meeting was with Dr. Lowell Zelinski. Dr. Zelinski is a Cal Poly San Luis Obispo alumni and has extensive background in the agricultural industry. Dr. Zelinski has taught at Cal Poly Pomona and is the owner of Precision Ag Inc. He is the President of the Paso Robles growers association. His insight was very useful and he was pleasantly surprised with the knowledge and background that had already been done for the design as well as the questions that were presented for research and design. He explained how the vines are cut, what to look for when walking through a vineyard and what the Paso Robles vineyards needs were. Dr. Zelinski also gave suggestions on how implementing possible use of voltages and currents to get certain types of data. The meeting with Dr. Zelinski provided insight on the most important aspects to take inconsideration and what to add in future designs. The most important factor is that one vinyard can have multiple types of soil and the sensors used needed to have the ability to recognize the type of soil. With the research completed Aaron, Benjamin and Marques began the design and requirement of the environmental data acquisition system including: scope and limitation of  this project based on time to complete the project and financial limitations.


The requirements for this project came from the background/research acquired through  meetings with various people in agriculture and vineyards industries. The requirements are: self-powered, long range (at least 1 mile distance), easily interfaced GUI, data logging, and durable in weather conditions. The data that should be gathered is: soil temperature, soil moisture, soil nutrients, ambient weather conditions including: wind speed and direction, temperature, amount of rain, UV levels, pressure and light levels.


The Approach

When first starting the design of SEAD, the important factors to understand were that it needed to be : modular, low-powered, self sustainable, and Plug-in-Play. We first thought about how would the user implement it into the fields. Thus coming up with the hierarchy of  Figure 1pub

Figure 1

A larger representation of this figure is in the Appendix P -1. In this figure we see our Idea of our 3 layer Hierarchy, at the top is our Hub, where all the data from the field will be collected and logged. Next we have the Vessels, these are our towers in the field that have the ability to gather data, relay data back to the hub directly or through a RF Digimesh network, as well as connect to our third and bottom of our hierarchy system, the Pod, which only gathers data from sensors which is than passed to the Vessel via cables and sent back to the Hub.


Figure 2

The Hub is our main location in the system. The hub receives all data from field sensors. The raspberry pi then populates the data in an excel format so that it can be accessed from the SEAD website. The hub can also check that all vessels in the field are receiving as well as sending data. It can graphically show a map of where the vessels are located. Another feature of the hub is  that it has the ability to update all vessel when software updates are necessary. This can be done through RF communication. The Hubs system will have a Raspberry Pi, Our own designed Communication Shield and the STM32L476RG uController Nucleo board.


Figure 3

The Vessel is our second layer of our system hierarchy. This level  gathers data in the field by direct sensors using I2C or its sub layer the Pods using RS485. With this data it relays back to the Hub through a RF Digimesh network, using the Xbee SX module by Digi international. This device also has a battery and solar system which powers itself and any connected Pods. This Device consists of a STM32L476RG uController Nucleo board. Our own designed Communication Shield and Power management Shield.


Figure 4

Being the last layer of our hierarchy. This device is vary similar to the Vessel however it does not have the battery or RF capacities as its predecessor the Vessel. This layer pulls  power needed from the Vessel and reports the data from the sensors connected by I2C to the Vessel which is then sent back to the Hub.

Power Shield

        The Power Shield connects to the STM32L476RG Nucleo. This is our power management for our Vessels.

This takes in power from a 12V battery which is connected to a solar panel so the system can be self-sustaining. The 12V from the battery is then converted to a 5V 5Amp supply by using a voltage regulator. The power shield has signal indicators for: battery levels, charging indicator, and fault. In Figure 5, we see the schematic for our power shield where the main integrated chip is the USB 5V 2.5A Output.
        The 42V Input Synchronous Buck with Cable Drop Compensation (LT8697) by Linear Technology. In Figure 6 we can see the board layout for the Power Shield.

Figure 5

Figure 6

Communication Shield

The Communication Shield (Figure 9 and 10) is also connected to the STM32L476RG Nucleo. This shield consist of a GPS chip GYNEO6MV2 GPS Module NEO-6M GY-NEO6MV2 Board, Xbee SX RF chip with a 900 MHz half wave antenna, I2C Bus Extender(P82B715) by Texas instruments and the Low-Power, Slew-Rate-Limited RS-485/RS-422 Transceiver(MAX485) by Maxim Integrated. This allows the Hub in the main location to communicate with the the field vessels. The communication Printed circuit board (PCB) was designed to allow for easy removal or replacement. The Comm design was all Surface Mount Devices (SMD).  The comm shield is a 4 layer board.  It was important  to use as much of the space as possible and as many of the component on one board as possible. The more compact our design is the less it takes away from the natural beauty of the vineyards. The top layer of the comm shield is the power layer,the third Layer is the ground layer and layer two and for are used for connecting a majority the components when traces s became difficult route. AN important factor in the design was to insure there was enough space to connect the components without causing noise/ interference in the RF components communication. The Xbee SX SMD chip (Figure 11) is designed to be soldered and not replace without the possibility of damaging the chip. The communication shield we designed uses specific header pins that allow the chip pressed into place and easily be replaced without solder. This design would allow testing of multiple xbee chips without affecting their performance as well as lowering our overall cost if a chip has issues or needs trouble shooting. The RF is set in Api mode which provides a digimesh system. In a digimesh system data is sent in frames see figure 7 for example. The start delimiter: this field indicates the beginning of a frame. It is always 0x7E. This allows the device to easily detect a new incoming frame. The length field specifies the total number of bytes included in the frame's data field.  

It’s two-byte value excludes the start delimiter, the length, and the checksum.

Frame data contains the information that a device receives or will transmit. The structure of frame data depends on the purpose of the API frame: Frame type is the API frame type identifier. It determines the type of API frame and indicates how the data field organizes the information. Data contains the data itself. This information and its order depend on what type of frame

that the [Frame type] field defines.

The XBee sx modules see Figure 8


Figure 7

API frames:


Figure 8

For a complete detail of the Xbee sx chip and how to configure them can be found at http:Digiinternational. The GPS module GYNEO6MV2 GPS Module NEO-6M GY-NEO6MV2   was another important part of the communications shield. Insuring that both the gps module and xbee sx chip could be placed on the same printed circuit board without communication interference as well as space for both antennas was a requirement. This was was thought to be potential challenge in the design. Fortunately the difference in frequency was large enough that no interference was created.

Figure 9

Figure 10


Figure 11

Base Board Interface

The base board interface is the main connection between sensors placed in the fields and the unit that controls power management and communication. The other purpose of the Base Board is to allow for extensions of multiple vessels in close proximity..

Figure  12

Figure 13

BME 280 Sensor

The BME280 by Bosch Sensortec is as combined digital humidity, pressure and temperature sensor based on proven sensing principles. The sensor module is housed in an extremely compact metal-lid LGA package with a footprint of only 2.5 × 2.5 mm with a height of 0.93 mm. We chose this device because of its small dimensions and its low power consumption. The humidity sensor provides an extremely fast response time for fast context awareness applications and high overall accuracy over a wide temperature range as seen in Figure 11 and Figure 12.

The pressure sensor is an absolute barometric pressure sensor with extremely high accuracy and resolution and drastically lower noise than the Bosch Sensortec BMP180. The integrated temperature sensor has been optimized for lowest noise and highest resolution. Its output is used for temperature compensation of the pressure and humidity sensors and can also be used for estimation of the ambient temperature. The Schematic for this design can be seen in Figure 9 and the PCB design in Figure 10.

Figure 14

Figure 15


The TCS3472 device provides a digital return of red, green, blue (RGB), and clear light sensing values. An IR blocking filter, integrated on-chip and localized to the color sensing photodiodes, minimizes the IR spectral component of the incoming light and allows color measurements to be made accurately. The high sensitivity, wide dynamic range, and IR blocking filter make the TCS3472 an ideal color sensor solution. The Schematic for this design can be seen in Figure 16 and the PCB design in Figure 17. This design was made to support both the TCS3472 and the Si1145 to save material and resources.

Figure 16

Figure 17


The Si1145/46/47 is a low-power, reflectance-based, infrared proximity, ultraviolet (UV) index, and ambient light sensor with I2C digital interface and  programmable-event interrupt output. This touchless sensor IC includes an analog-to-digital converter, integrated high-sensitivity visible and infrared photodiodes, digital signal processor, and one, two, or three integrated infrared LED drivers with fifteen selectable drive levels.The Schematic for this design can be seen in Figure 16 and the PCB design in Figure 17.


Figure 18

We chose to go with RS485 due to its long range communication with low interference. With RS485 there is no such thing as a common zero as a signal reference. Several volts difference in the ground level of the RS485 transmitter and receiver does not cause any problems. The RS485 signals are floating and each signal is transmitted over a Sig+ line and a Sig- line. The RS485 receiver compares the voltage difference between both lines, instead of the absolute voltage level on a signal line. This works well and prevents the existence of ground loops, a common source of communication problems. The best results are achieved if the Sig+ and Sig- lines are twisted thus we choose to use Ethernet cabling to maximize our results. We are using RS485 between our Vessels and Pods. We send our data collected by our Pods to our vessels over our own frame design for RS485 which can be seen in figure 19  below.

Figure 19


Figure 20

We chose The Inter-integrated Circuit (I2C) Protocol because it is a protocol that intendeds to allow multiple “slave” digital integrated circuits (“chips”) to communicate with one or more “master” chips this can be seen in Figure 20. We have one I2C bus which consists of two signals: SCL and SDA. SCL is the clock signal, and SDA is the data signal. Our Signals get passed through an Ethernet Cable from our Comm shield -> baseboard -> to each sensor. Because of allowing multiple slaves we have all of our sensors communicating their data through this bus back to our STM32 which allows for simplicity of hardware wiring.


Our GUI design approach was to make it intuitive to use. We began with the GUI needing to allow the user to view logged data as well as configure the system. You can see a sample of the GUI in Figure 1. Here we display the data as an overlay on a map. WHere the colors represent the range of value that the sensors have collected. The client can configure the system to update at what times sensors should collect data. Also receive notifications via phone or email if any component of the system goes down.

Figure 21

Figure 22


The Code:

Most of the coding for this project was done in C++,C, and Java. The Code for the embedded microcontroller can be found at 


Data Acquisition is an important part of most industries. The ability to recognize trends and predict possible future scenarios is an asset. Although the design of the plan was challenging and was not completed to  expectation, it was still very exciting to see what we had accomplished. The benefits of having an idea and seeing that idea slowly become reality is what makes engineering such an exciting field. An important part of this project was using the skills that we have acquired while attending Cal Poly Pomona. The learn by doing approach insures that a good understanding of what the expectation will be in our future careers. The ability to work with others and make logical decisions on best way to approach new ideas and challenges is something that made this senior project possible. The goal is to continue to work on the acquisition system until it is fully complete.