What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?
The main risks are related to connections (solders breaking, sensors disconnecting). We are reinforcing our connections and using JHT connectors instead of soldering the sensors directly to a protoboard.
Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?
No
List all unit tests and overall system test carried out for experimentation of the system. List any findings and design changes made from your analysis of test results and other data obtained from the experimentation.
Capacitance test – We learned that the capacitance between different liquids didn’t change much, so we needed to use different metrics for classification.
Unit tests for temperature, tds, turbidity, and color sensors with different liquids. We found good variability between color, tds, and turbidity in our target liquids. We also found that the temperature sensor is consistent with what we expected.
Integration tests for the sensors once the system had been assembled – we tested the sensors in the bottle, and found the results from the unit tests remain.
Level testing for the ultrasonic testing – we tested that the level indicated by the ultrasonic sensor is consistent with the expected value. We also found that this could be used as a metric for bottle stability, and decided to use this instead of FSR’s. This allowed us to simplify our system and decrease energy expenditure.
Static code analysis for the Arduino code and JS code. Issues found (such as unreachable code and uninitialized values) were either mitigated or found to be false positives.
Connection test – we tested the connection between the app and the bottle, and found it to be stable.