Team Status Report for 4/19/25

The most significant risk for our project at this point is making sure the final design of the board is operational and clean, particularly with the silicone encasing on top. In addition, we need to get the NFC scanning through the phone app working. If this fails to work, we have the fallback of the NFC scanners on the physical pad itself instead.

We made a slight change of design in our final pad product. Instead of soldering on a thin board, we are unscrewing and using breadboards to construct our pad. This is because we needed the connected ground and power rails or there would not have been enough space on the board for all our components.

No changes to the schedule.

Sarah’s Status Report for 4/19/25

This week, I continued the integration of the hardware LED logic into our backend. I also worked on refining our front end and adding additional features, such as a shopping list for the user and expired items page to detect often expired categories of food.

I also worked on trying to integrate the built-in phone NFC scanner feature into our app as we got approved for the apple developer account. The code and interface is set up but the functionality is not fully operational.

We are currently on schedule.

In the next week, I hope to finish up the integration of the NFC phone scanner and finish the full logic for the entirely built pad. I also hope to begin working on our final video and poster.

As I have designed and implemented the software portion of our project, I have learned a lot about building an app from the ground up. I have also learned a lot about the integration of hardware and software, and how communication protocols work to communicate between them. My main source of learning was many YouTube videos to learn the basics, especially when I needed to learn how to set up environments and dependencies for our specific app. Once I learned the basics, reading documentation on specific frameworks also helped me a lot.

Team Status Report for 4/12/25

There are no significant risks that would prevent our project from working as we have much of the main functionality implemented and are just working on finishing up the LED integration from the software to hardware.

No changes were made to the existing design of the system but our request for reimbursement for an apple developer account was approved, allowing us to integrate bluetooth functionality into our project.

This week, our progress focused a lot on designing the circuitry for our final board and how everything will be soldered together. In addition, the final large component of our project, the LED light integration, started and we have the code for the software and hardware set up. We just need to solder all the LED strips on the separate zones and decide which pins on the microcontroller will be used for them.

For validation testing, we focused on testing general user flow by performing end to end use case scenarios. We added an item by scanning an NFC tag and confirmed that it was displayed on the UI within 3 seconds with the correct information. We also simulated an item expiring soon and verified that the notification and color change occurred within 4 seconds. Finally, when we removed an item or moved it to a different zone on the pad, we verified that the item was no longer displayed and the color was adjusted accordingly.

Sarah’s Status Report for 4/12/25

This week, I worked a lot on the integration of the physical LED lights into our software. After my teammates soldered the test LED strip to the circuit, I worked on the backend API code that would communicate with the ESP32 to ensure that logically, the correct color would be displayed.

I was able to integrate the correct functionality for ZONE01, and look to extend the functionality logic to all 4 zones.

We are currently on progress as the core software functions of our project have been mostly finished and I am attempting to add on additional features.

In the next week, I hope to extend the logic of LED color display to all 4 zones and test that it works. I will have to adjust the ESP32 code to change the MQTT subscription topics, along with a few logic details. I also hope to begin the integration of the temperature and humidity sensors.

While testing the software subsystem of our project, I verified that the operation works as expected. For example, the core functionality of adding a product works. The user can scan an NFC tag and customize the name and expiration date of it, which will then update the database accurately. In addition, the expiration decay of the item is accurately reflected in the colors on the user interface and LED lights.

In regards to latency, all updates and features fit the time frame in our design reports to make the user flow as seamless as possible.

Sarah’s Status Report for 3/29/25

This week I worked a lot more on the user flow of our project and the design of how we wanted to have users add an item and place them on the mat. I integrated having multiple scanners on the hardware into the backend so that any of them can be used to scan an NFC tag. I also adjusted the frontend of our code so that instead of having different ‘pads’, there are different ‘zones’ on a singular pad. I also implemented a notifications page and am working on real-time notifications.

Our progress is currently on schedule and I look to flesh out the front end and have pad sensor processing integration be more clear.

In the next week, I hope to have a successful demo and learn what can be improved about our project. I also want to implement real time notifications for when an item expires.

Sarah’s Status Report for 3/22/25

This week, I worked a lot on the integration between software and hardware. My teammates set up the NFC scanner on the hardware and passed along the circuit to me so I could try to connect it to the software. I was able to get the communication between the esp32 and our backend API to work through wifi, along with the NFC scanner.

This allowed us to scan an NFC tag and add the item on our front end into the firebase database.

I also worked on ethics in lecture and learned a lot more about the intricacies of it.

Our progress is currently on track.

In the next week, I hope to refine the user interface of adding an item to make it as seamless as possible. I also want to get push notification working for alerts when an item is expiring.

Team Status Report for 3/22/25

The most significant risk in our project right now is the NFC scanning from our phone with the tags on the products. In order to integrate this feature, we need a certain software tool that has an annual subscription fee. The capstone budget does not cover software so we are currently trying to apply for a student waiver or reach out to professors who may have access for us.

In order to resolve this, we are trying to find different methods of implementation that would allow us to work around it or considering a different feature to replace the functionality of it.

No changes were made to our design.

No changes have been made to the schedule as we are currently on track.

In terms of progress, we started integrating the NFC scanner into our hardware by soldering the pins on and connecting it to our esp32. We also got the basic integration down between the hardware and software as our esp32 is able to communicate with the backend API through WiFi. We are also separately working on LED integration to bring surface functionality of both systems together for our demo.

Sarah’s Status Report for 3/15/25

This week, I focused a lot on the software backend logic and getting the skeleton set up for that. I was able to set up fastAPI and incorporate the logic we needed to communicate with the esp32 microcontroller so that integration can begin next week. I also developed a test script to ensure it was working properly so that we were able to fill our firebase database with dummy data.

Once the database had enough data with the proper fields we wanted in it, I started working more on the frontend and connecting our React Native app with firebase to display the items in the database.

The progress is currently on schedule.

In the next week, I hope to start integration with the hardware so that data from the esp32 microcontroller works with fastAPI in order to populate the database, and fastAPI can notify the esp32 when to change the LED colors.

Team Status Report for 3/15/25

The most significant challenge we encountered this week was our esp32 microcontroller being taken away by TSA at the airport. This meant that our testing and integration process was delayed, and we had to borrow other microcontrollers to test with. We mitigated these risks by quickly ordering more esp32s and picking them up this week. We will be using these to implement and test our NFC scanning and other sensors for upcoming demos.

While connecting the NFC physical scanner to our esp32, the microcontroller was not able to detect the scanner so we suspect that the scanner must also be powered by 5V instead of 3.3V. In order to account for this, we are going to use the power booster (which has been ordered) on the NFC scanner as well.

No significant updates to the schedule have been made, we were able to overcome our loss of esp32 by quickly ordering another one and borrowing others. For the upcoming demo, we plan to integrate the LED system with NFC scanners and tags with our current prototype. This will allow the system to correctly recognize stickers on objects placed in different zones of the pad and send real-time notifications to the frontend.

Sarah’s Status Report for 3/8/25

This week, I put a lot of time and effort into the design report. I completed the software portions of the report and system design diagrams. Throughout the report, I went into depth on the exact frameworks we would be using and what their purposes would be. In addition, a lot of research was done on how to integrate the software with the hardware features, particularly the NFC scanning. Finally, the developer tools were set up for React Native and the app was connected to Firebase with a project created in order to set up the database.

Our progress is currently on schedule.

In the next week, I hope to finish up most of the basic skeleton frames and pages for the frontend. I also want to start basic functionality implementation, particularly in regards with the integration between the hardware pad and software database.