Rohit’s Status Report – 4/26/2025

This week I focused on finalizing the React frontend and assisting with the physical integration of our system. I also addressed a UI performance issue in the calendar view that was causing slow rendering when displaying a month with many diary entries.

Additionally, I helped Dhruv with debugging the location coordinate precision issue. We discovered that Python was truncating the location coordinates, affecting the accuracy of our location tracking. I implemented a fix in the web application to properly handle the full precision coordinates and ensure they’re correctly displayed in the map view.

Finally, I began preparing our documentation deliverables, creating detailed API documentation for the backend services and starting work on the user guide that explains how to interact with the web interface. I also compiled screenshots and recorded short demo clips that we can use in our final presentation video.

We are now fully on schedule with all core functionality completed.

For the final week of the project, I’ll focus on: Completing the user guide documentation with clear instructions for navigating the web interface. I’ll also help with finalizing the demo script for the web application portion of our presentation.

Team Status Report – 4/26/2025

General Accomplishments

This week, we focused on completing the housing and final polish of the system:

  • Designed and 3D printed the housing for the pocket module. Although the initial version was too large, a downsized version has been completed and prepared for printing with Professor Li’s help.
  • Improved reliability and stability of the backend system, addressing minor issues such as occasional failures in image uploads and location triggers. These fixes ensure the system performs more consistently in real-world conditions.

Current Project Status

The project remains on schedule. The full system, both hardware and software, has been successfully integrated and validated. With the hardware now finalized, the focus has shifted to final documentation prep (poster, demo, and video). The migration to React has streamlined frontend development and accelerated progress on user interface features.

Design Changes

There were no major design changes this week. The overall system architecture and hardware integration remained stable. Minor iterations were made in physical form factor (downsizing the housing), but this was part of ongoing design finalization.

Next Steps

  • Final printing of the pocket module housing
  • Poster, video, and demo preparation for final project submission
  • Polish and documentation of all source code and experimental data
  • Dry runs for the demo to ensure good execution

Testing Summary: 

Reproducing from our final presentation…

Our unit tests and overall system test were categorized into verification (quantitative performance metrics) and validation (real-world functionality and user feedback):

Verification Testing

Validation Testing

 

William’s Status Report 4/26/2025

Accomplishments This Week

  • Designed and 3D printed the housing for the pocket module
  • Ordered and connected the longer jumper wires from pocket to system

Reflection on Schedule

  • As mentioned in last week’s status report, this week I focused on the housing and design portion of the project this week. Although the pocket module I made was too big, I downsized the design and will have Professor Li help us print on Sunday (tomorrow). This is the last component of the 3D printing that needs to be done in terms of housing/design. Thus, I would say we are on schedule for completion of the project.

Plans For Next Week

  • Preparation for poster, video, and demo that are due next week. Since the project is mostly done, I will be shifting focus to the documentation aspect of the project with my group members.

Dhruv Dixit Status Report – 04/26/25

Accomplishments this week:
This week, I focused on finishing up the entire project. I solidified the backend and fixed a bug causing inaccurate location. Python was truncating the location coordinates so I made sure it did not do that. We also worked on 3D printing and making our product look a lot nicer. We realized we need a much smaller box. In addition, we did more testing with walking around with the product and making sure it tracked correctly. We also worked on poster and getting ready for final demo

Reflection on schedule:
We are on time and have finished our product. Now we are working on final deliverables and demonstration.

Plans for next week:
We will finish deliverables and plan our demonstration!

Team Status Report – 4/19/2025

General Accomplishments
This week we completing the end-to-end pipeline for the system. We’ve reached a major milestone with both the hardware and software components fully integrated and operational.

On the hardware front, William successfully implemented reliable location data upload from the Blues Notecard to the cloud and integrated the manual trigger button with the image capture system. The engineering portion of the hardware system is now officially completed, with the device able to trigger image capture based on either location change or manual button press.

For the software components, Rohit completed a strategic pivot from Django to React for our frontend, addressing performance issues with real-time updates when new images are captured. This migration has improved the user experience by eliminating disruptive page reloads, instead allowing for seamless updates through WebSockets. Dhruv successfully integrated the Google Maps API, enabling the web application to display actual location names derived from GPS coordinates and providing a map view of the user’s journey.

The integration pipeline is now complete, with images automatically routing from the camera to our frontend, which displays summaries and pictures in a calendar view. User settings can be configured through the web app, and the entire system has undergone initial testing to ensure all components work together reliably.

Current Project Status
The project is on schedule after addressing previous integration challenges. With the engineering portion of the system completed, our focus has shifted to final refinements, housing design, and preparation for the demo. The migration to React has actually accelerated our development timeline, with the component-based architecture facilitating faster iteration on specific features.

Design Changes
The most significant design change this week was the migration from Django to React for the frontend. This change was necessitated by performance issues encountered with Django’s server-rendered approach, particularly for real-time updates when new images are captured. The React implementation provides a more responsive user experience with WebSockets enabling seamless updates without full page refreshes.

Another important technical discovery was William’s resolution of integration issues between the Blues Notecard and Arducam by segregating them to different I2C buses (I2C0 and I2C1), which prevented interference and allowed both devices to operate smoothly together.

Next Steps

For the coming week, our focus will shift to housing and physical design, final testing and validation, and demo prep.

Rohit’s Status Report – 4/19/2025

Accomplishments
This week, I made a pivot in our web application approach as I migrated our frontend from Django to React. While Django was fine for initial development, we encountered performance issues with the real-time updates required when new images are captured and processed. The server-rendered approach was causing noticeable page reloads that disrupted the user experience. After analyzing these limitations, I implemented a React-based frontend that communicates with our backend API, allowing for seamless updates through WebSockets without requiring full page refreshes.

Additionally, I worked closely with Will and Dhruv on completing the integration pipeline. I assisted in debugging the MQTT communication between the hardware components and our backend services, particularly focusing on ensuring image metadata is properly transmitted and processed. We identified and resolved several edge cases, such as handling connection interruptions and ensuring data integrity throughout the pipeline.

I also dedicated some time to designing and producing the 3D printed housings for the Raspberry Pi Pico and battery pack. Using Fusion 360, I created custom enclosures that optimize for both protection and ergonomics. The battery pack housing was particularly challenging as it needed to balance size constraints. We are in the process of getting this printed.

Schedule
We’re now back on schedule with the React migration actually accelerating our development timeline. The component-based architecture has made it easier to distribute work among team members and iterate quickly on specific features. The integration pipeline is nearly complete, and we’ve begun comprehensive testing of the entire system. The 3D printed housings have also resolved many of the physical integration challenges we were facing.

Plans for next week
For the final week before our demo, I’ll focus on polishing the React frontend with final styling and UX improvement. I’ll also continue assisting with any final adjustments to the 3D printed housings based on testing feedback

Migrating from Django to React required rapidly acquiring new knowledge in several areas. When I encountered performance issues with server-side rendering, I needed to quickly learn React’s component lifecycle and state management approaches. Rather than following a traditional course, I adopted a project-based learning strategy where I rebuilt our key features in React one by one.

Learnings
For learning React, I primarily relied on the official documentation combined with specific problem-solving on Stack Overflow. I found that reading the conceptual documentation first, followed by practical implementation, helped solidify my understanding.

For the 3D modeling work, I had no prior experience with CAD software, so I utilized YouTube tutorials that specifically focused on enclosure design in Fusion 360. I also did some hands-on experimentation, creating prototypes to test dimensions and fitment.

Dhruv status report 4/19/2025

Accomplishments this week:
This week, I focused on finishing up the entire pipeline of the project. As a group, we were able to finish our product. We got the location based image capturing working and it now automatically routes to our frontend which shows summaries and pictures in a calendar view. We can also change settings on the web app. I worked on the google maps API as well and integrated it. The google maps api allows us to get an actual location from the location coordinates and there is a map view on the web app. I also worked on testing the webapp for all its buttons and making sure everything works.

Reflection on schedule:
We are now on time on the schedule as we have finished our product and testing.

Plans for next week:
The following weeks we will be preparing to demo and finish up our assignments.

New tools/technologies learned and how:
Throughout the process, I learned a lot about hardware as I mainly have a software background. I learned all the basics about the raspberry pi pico and about its constraints. I also learned how unreliable hardware can be and how important testing is. I learned this through a series of youtube videos and blogs. I also learned more about LLMs and MQTT which is very useful!

William’s Status Report 4/19/2025

Accomplishments This Week

  • Successfully implemented reliable location upload from Notecard to cloud
  • Successfully soldered and integrated manual button trigger of image into the hardware system
  • Integrated code where button manual trigger or location change will trigger an image capture and location upload
  • Engineering portion of the hardware system is now officially completed. I will be shifting to the housing/design portion of the project

Reflection on Schedule

  • On schedule. This upcoming week, I will be fully focusing on housing and design now that the engineering portion of the project is officially completed.

Plans For Next Week

  • Housing for the “pocket” module, will require more 3D printing and measuring
  • Trying to order longer jumper wires to connect pocket module onto chest

New Technologies Learned

  • I learned that I2C protocol cannot have more than one device or it would cause interference. One of the bugs on the hardware end was that blues notecard and the arducam were both using I2C0 which led to integration issues. However, once I segregated to I2C1 and I2C0 for each respective devices, both devices can run together smoothly.
  • I learned how debouncing of button works and how I needed slight delay after a button trigger was detected.
  • I learned how to solder two wires together via youtube video. The wires on the button unfortunately did not have connectors on them and were also not soldered. It was interesting to see for the first time what was inside a wire and physically soldering it together.

Rohit’s Status Report – 4/12/2025

This week I completed the frontend implementation of our GlassMate web application. I finalized all the UI components including the calendar view, diary entry display, and user settings interface. I also collaborated with Will on 3D printing the casings for all our hardware components, which involved learning CAD design and working with the 3D printer to create properly sized housings for the Arducam.

A significant achievement was implementing the metadata addition functionality for images. This system extracts GPS coordinates from captured images and enhances them with location names using the Google Maps API integration we previously developed. I ensured this metadata is properly stored and associated with each image in our database.

I also worked closely with Dhruv to connect the frontend with the backend pipeline he was developing. We’ve successfully established the connection so that when the camera captures an image, it’s automatically processed and appears in the web interface with the proper metadata and location information. The system now displays captured images in the calendar view and generates diary entries that incorporate the location data.

I’m slightly behind schedule on some aspects of the integration. While the frontend components are largely complete, there’s still work to be done on ensuring communication between all parts of the system. We should have begun more comprehensive testing by now, but the challenges with the GPS module and hardware integration have delayed this phase.

For the coming week, I’ll focus on completing the final integration of the frontend with the manual trigger button that Will has implemented. I will also start testing of the entire pipeline from image capture to web display.

In terms of verification, I’ll be testing the frontend’s response to various image capture scenarios and ensuring that metadata is correctly displayed in the interface. I’ll also conduct usability testing to identify any UX issues before the final demo.

William’s Status Report 4/12/2025

Accomplishments This Week

  • 3D printed the housing for the ARDUCAM
  • Soldered and tested the GPS module, however, it didn’t work as well as expected. Thus, we will be reverting back to the Blues Notecard. I was able to integrate the Raspberry Pi Pico microcontroller onto the Blues Notecard.
  • Manual Trigger with testing button.

Reflection on Schedule

  • Slightly behind schedule. However, with completely focusing on the integration aspect of the flow, I still believe that we will be able to get everything done well before the demo deadline.

Plans For Next Week:

  • Fully integrate entire pipeline with manual trigger
  • Housing for the “pocket” module, will require more 3D printing and measuring

Verification Plan

  • Continuity test of each soldered component
  • I wrote a testing RPI script for each component. This includes camera capture via location change, camera capture via cloud command, camera capture via manual button trigger, location upload, and toggling of LED via button trigger.
  • I will also be moving around to test the accuracy of the location.
  • By modularizing my test, I will be clear on which components are working and have a smoother integration process of each component and identify what went wrong.