Alan’s status report for 03/23/24

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I accomplished a few things for the project:

1-Added Total Dissolved Solids and Turbidity sensor to the circuit, and tested them, finding significant differences in the liquids tests (water, milk, and coffee).

2-Re-wired the circuit to use a single Adafruit ItsyBitsy Arduino board, rather than 2.

3-Improved the ble connection, writing a TCP-like protocol that waits for requests and waits for acknowledgement from the recipient.

4-Tested with different liquids (milk, water, coffee) for color, TDS, and turbidity, finding significant differences.

5-Wrote a vector-distance based classifier in python, to differentiate liquids.

 

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

On schedule

What deliverables do you hope to complete in the next week?

For the next week, I will fabricate the bottle, placing the sensors and holding them in place with sealant (as one of my current problems for testing is that I need to hold all sensors in place to get the readings), and work with Matthew to integrate with the cadded parts. I will also work with Erin on the app, to process ble packages and do the classifying logic in the app itself. Finally, I will plan and rehearse the interim demo, to identify potential issues and make sure it goes smoothly.

 

BLE communication (Adafruit ItsyBitsy <-> Bluefruit app on my Android phone):

Team Status Report for 03/16/24

  • 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 largest issue we currently have is that our waterproof ultrasonic sensor does not work. We believe the unit we received is defectful. We purchased a new one, and also purchased RS485 modules to test with a sensor we have, that requires this part to work. Another issue is that the difference of capacitance between liquids is not as large as we expected. We will try to use it as a dimension in classification, but we also have turbidity as an alternative metric to test.

 

  • 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?

We are considering adding a turbidity sensor, to increase classification accuracy, either instead of, or in addition to, capacitance. We also purchased a new ultrasonic sensor and RS485 modules, as the sensor we were testing does not seem to work. We have room in the budget for these new parts, but we will also try to return the sensor that does not work to receive that money back.

Alan’s Status Report for 03/16/24

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I worked on bluetooth. I managed to connect the ItsyBitsy boards to my phone using the Adafruit’s testing app, to my computer using a python script and, finally, to our app (with Erin working on the bluetooth code for React)! I relayed sensor data (temperature, pressure, and color), and tested that transmission is reliable. I also received data back from my cellphone to the Arduino board, also reliably. Furthermore, I wrote the FSM to only relay liquid level data the first time after a bottle is closed (to avoid wasting power).

Other than this, I tested the new waterproof ultrasonic sensor, which doesn’t seem to be working, so I ordered a new one, as well as RS485 communication modules to test with another sensor we had also tried. I did some work (both by myself and with Matt) on capacitance testing, and it seems that the variations found in liquids (from a study done by Matt) are rather small, and heavily affected by room temperature. Finally, I looked into turbidity as a possible metric and ordered a sensor to test it.

• Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

On schedule

• What deliverables do you hope to complete in the next week?

Over the next week, I plan on writing a classifier, based on color, density, and possibly capacitance and turbidity, and tests its accuracy with different drinks. For this first step, I will write it in a Python project, for ease of testing.

 

Bluetooth communication:

Arduino serial monitor:

 

Adafruit’s Bluefruit testing app, showing the device, the transmitted data, and the received data:

Alan’s Status Report for 03/09/2024

• What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

Last week, I mostly work on the design report. Once this was finished, I turned back to the hardware and integration. I helped Matt test the waterproof ultrasonic sensor, and figured out the issue was with the RS485 protocol. I placed the order for the new sensor. I also investigated an issue with an order we hadn’t received (a photoelectric water level sensor) and coordinated to re-place the order – the sensor should be here sometime next week.

Finally, I picked up the Adafruit ItsyBitsy board from receiving, set them up for usage (soldered pins and burned bootloaders) and assembled the bottle circuits on a breadboard! As you can see on the picture, there are two independent circuits. The one on the left is the bottom assembly, with a thermometer, color sensor, and pressure plate, while the one on the right is the top assembly, with an ultrasonic sensor and a pressure plate. I used driver code (adapted and combined from online tutorials) to ensure that all the sensors worked together as I assembled them.

Finally, I began testing the bluetooth connection. I succesfully ran bluetooth code from the ItsyBitsy, but am having issues on the React end.

• Is your progress on schedule or behind? If you are behind, what actions will betaken to catch up to the project schedule?

On schedule

• What deliverables do you hope to complete in the next week?

Next week, I hope to successfully connect the ItsyBitsy board to the app over BLE. I will also write the FSM to only update the level reading when necessary, according to the pressure plate readings.

 

Circuit:

Team’s status report for 03/09/2024

  • 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 issue we found is that the waterproof ultrasonic sensor we were using was not working as expected. We discovered that this is because it communicated using the Rs485 protocol, and we need an adapter for it to work with the arduino boards, leading to added space, power consumption, and engineering complexity. The order for our contingency plan – a photoelectric water level sensor – had some issues, did not arrive, and needed to be reordered. It should arrive sometime next week, and we will test it as soon as we receive it. We also purchased a sensor that does not require an adapter. In the meantime, we are testing for our proof-of-concept with a non-waterproof ultrasonic sensor.

 

  • 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?

We are considering changing the ultrasonic sensor for a photoelectric sensor. We also purchased a new waterproof ultrasonic sensor. We have room in the budget for it, but it can be returned (within 30 days)  if we deem the photoelectric sensor adequate.

 

Please write a paragraph or two describing how the product solution you are designing will meet a specified need…

Part A (Erin): with consideration of global factors. Global factors are world-wide contexts and factors, rather than only local ones. They do not necessarily represent geographic concerns. Global factors do not need to concern every single person in the entire world. Rather, these factors affect people outside of Pittsburgh, or those who are not in an academic environment, or those who are not technologically savvy, etc

The smart water bottle we are proposing will remind people to drink more water and help them meet their intake goals. A smart water bottle like Aqualotol can benefit everyone in the world but more so people in first and second world countries due to the cost of the water bottle. This bottle is also better for people with smart phone access since it will allow them to use the full feature set of the bottle. People who are not good with technology will still be able to use our intuitive UI in the phone app to track their water consumption level. This bottle is meant for anyone who has a smart phone and can afford the bottle. Although this may seem limited, 68% of the world owns a smart phone and many may want to buy the bottle.

 

Part B (Alan): with consideration of cultural factors. Cultural factors are encompass the set of beliefs, moral values, traditions, language, and laws (or rules of behavior) held in common by a nation, a community, or other defined group of people.

It has been concluded that the majority of Americans do not drink enough water each day [1] . The current culture, where people have very busy lifes, is, reasonably, one of the factors that impedes people from hitting their water drinking goals. This water bottle, as it is designed to be carried throughout the day, will help people incorporate more water drinking into their routines, helping in the mitigation of this issue. This effect will be further enhanced by the tracking of the amount of water drank, the reminders sent when the user hasn’t been drinking enough, and the social media hydration-streak tracking, allowing friends of the user to remind them to drink more water. Thus, our project can help improve water consumption among Americans, incentivizing healthier habits and reducing the health issues that stem from insufficient water consumption.

 

Sources:

1-https://civicscience.com/forty-seven-percent-of-americans-dont-drink-enough-water-plus-more-h2o-insights/

 

Part C (Matt): with consideration of environmental factors. Environmental factors are concerned with the environment as it relates to living organisms and natural resources.

The aqualotl project takes into account major environmental factors, since it is a smart and refillable water bottle. Plastic water bottles litter the ocean, and are harmful to the environment, causing the deaths of the unfortunate sea creatures who happen to stumble upon them. In fact, 500 billion plastic water bottles are being used each year, but at least 250 billion of it isnt properly recycled, and is usually littered and it is estimated that around 9 million tons of plastic waste is dumped into the ocean per year. We hope that our bottle will help promote reusable water bottles, instead of one time usage ones that several consumers are accustomed to today, as well as reducing the need for people to litter the environment.

Team status report for 02/24/24

What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready?

Right now, the biggest risk to the process’s success is the unreliability of the seeed board. We decided to pivot away from it to a different board (though we are still deciding between Adafruit ble boards, the Arduino nano ble, the Arduino Uno R4 Wi-fi (which is bluetooth capable), and the bluetooth module for non bluetooth-capable boards sold by Arduino).

Were any changes made to the existing design of the system (requirements,block diagram, system spec, etc)? Why was this change necessary, what costsdoes the change incur, and how will these costs be mitigated going forward?

Yes, we decided to pivot away from seeed boards. This change was necessary due to the unreliability of these boards when connecting to our computers, hindering development. We will incur costs in purchasing new boards. We will investigate whether we can return our seeed board, but, even if we can’t, we still have substantial room in our budget to purchase new boards, as our original plan was well below half of our budget.

We also decided to begin using the Expo framework, on top of React Native. This is because it will simplify development (due to simpler, friendlier starter code, and smoother connection with bluetooth libraries). Since it is strictly a software change, with no licenses involved, it will not incur any costs.

Provide an updated schedule if changes have occurred.

Some of the goals for bluetooth connection and app settings were moved back to allow for the new boards to arrive.

Alan’s status report for 02/24/24

What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

At the start of the week, I worked on rehearsing the presentation and preparing for questions. Once it was past, I focused on the design review, bluetooth connection, and sensor testing. I finished the sections that were assigned to me in the status report, successfully tested the color sensor and the temperature sensor (using an arduino nano), and found good references for bluetooth connection, both on the arduino side and on the React side.

Unfortunately, this week, Matt and I noticed the seeed boards are quite spotty in their connection to the computer (when testing and uploading arduino code), so we’ve decided to use a different board. We are still deciding on the new board, but the current options we are considering are Adafruit ble boards, Arduino nano ble, Arduino Uno R4 Wi-fi (which is bluetooth capable), and the bluetooth module for non-bluetooth capable boards sold by Arduino.

Erin and I also decided to rebase the app to use the Expo framework (which works on top of React Native). This will make development and bluetooth integration smoother. I helped her with setup and creating the new codebase.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule

I am ahead of schedule on sensor testing, on schedule with the design report, and behind schedule with the bluetooth code (due to issues with the seeed boards and our decision to move to Expo). I will have plenty of time next week to work with our new board and codebase to bring progress to schedule.

What deliverables do you hope to complete in the next week?

By next week, I hope to have received the new board and be working on it with a basic bluetooth project. I also hope to work with Erin on the app, working on the backend for local database connection and to integrate it with the bluetooth library (though bluetooth may not be completely finished by next week).

Team Status Reports for 02/10/24

  1. 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?

Right now, the most significant risks to our project are related to sensors. We don’t have many sensors yet, and we must test them to ensure that they will work as expected. Our contingency plans are to use different sensors for each characteristic of the liquid we want to measure, in case we determine that a sensor is not a viable choice.

2. 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 changes have been made yet. Over this week, we will work on updating the use-case requirements as requested in our presentation feedback. This will probably not cause major changes but will give us a clearer direction in terms of latency, battery life, and food safety.

3. Provide an updated schedule if changes have occurred.

-Nothing

 

4. This is also the place to put some photos of your progress or to brag about a component you got working.

-Nothing

Alan’s status report for 02/17/24

  • What did you personally accomplish this week on the project? Give files or

photos that demonstrate your progress. Prove to the reader that you put sufficient

effort into the project over the course of the week (12+ hours).

At the start of the week, I spent a lot of time setting up my environment for React Native development (I ran into a lot of problems during set up, but was able to figure them out). After this, I did some work on addressing the feedback we had received from our last presentation. I found the 3-A sanitary standards for sensors (https://www.omega.com/en-us/resources/3a-sensors-sanitary-applications ), which I used to updated our use-case requirements. I also updated other use case requirements on which we had received feedback. Then, I worked on the slides for the design review and on rehearsing the presentation. I also did an initial draft (in bullet points) of our design review writeup.

In the meantime, as a team, we analyzed some more materials for the project, and I placed most of the orders and tracked them in the BOM. Finally, I did some more reading on React Native and Arduino bluetooth interaction and analyzed options for libraries to use in this space.

  • Is your progress on schedule or behind? If you are behind, what actions will betaken to catch up to the project schedule?

My progress is on schedule.

 

  • What deliverables do you hope to complete in the next week?

By next week, we should receive our second bluetooth-capable Seeed board. Once I have that (which should be on Monday), I will use it to test bluetooth code from the arduino end. I will also work on adding boilerplate code for the React Native Bluetooth interaction. Finally, I will (in collaboration with other team members) turn the Design Review draft into a much more developed version (as it is due on the 31st), incorporating the feedback we receive in our Design Review presentation.

Alan’s Status Report for 02/10/2024

  • What did you personally accomplish this week on the project?

At the start of the week, I worked on the presentation. I helped come up with the technical requirements and their quantifications. This included doing research on machine learning models and their accuracy and on tolerances for food items according to the FDA. I then helped Erin prepare for our presentation, rehearsing with her a few times and thinking about how to best present each idea. After this, I spent some time reviewing the slides and our project so I could be prepared to answer questions after the presentation.

Once the presentation was over, my work this week was mostly exploratory. I’ve been looking into how to interact with bluetooth data, both from the arduino end and from the react end. I’ve been setting up my environment to start developing in react native, and I’ve been refreshing my knowledge of React Native, since it’s been a long time since I last used it. I also helped select the sensors we’ll order (over our group meeting), for which I’ll place orders this weekend so they can be reviewed by the next cycle, early next week. Matthew gave me an Arduino I will use to help test sensors, once we get more (we currently have one, which Matt has). I have created a file to organize the reference links I am using to study for this project. Lastly, I have started a spreadsheet to be used as a bill of materials so that we track what we use over the course of the project, making it easier to create a final bill of materials at the end of the semester.

 

  • Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is on schedule.

 

  • What deliverables do you hope to complete in the next week?

By next week, I hope to be fully set up with my environment and up to speed in react native. I will also have ordered the sensors, and, since some will be over Amazon (shipped in two days with Prime), I will probably have sensors I can start testing.

Lastly, given the feedback we have received on our presentation, I will work on better specifying our requirements, particularly in terms of food safety. I will create an updated list of requirements considering “latency, food safety, and battery life considerations” (from the feedback) and will review it with the team and present it to our TA.