Mobile App Development (6h): Began testing dummy data with AnyChart API, and continued work on each of the 4 pages of our mobile app, with a focus on the home/landing page and the app startup sequence.
Mandatory Lab Meetings (4h): Listened to the ethics lecture and participated in group discussions from which we gained valuable insights into potential ethical considerations we should make especially with regards to specific stakeholder groups.
Overall Mobile App Testing (2h): Conducted basic user tests in AS’s android OS emulator to ensure that the app UX works as intended (scrolling between pages, interactions between buttons on each page).
Progress
Progress is slightly behind schedule, we will need to work further to get the app to a demo-able product that we can do integration testing on with the wearable device.
Next Week Tasks & Goals
Mobile App Development: Integrate session history page with Jubi’s database system (carried over from last week) and finish data visualization testing. The goal for this week is to implement communication from the app to the ESP32 via BLE.
Mobile App Development (7h): Worked on further developing the skeleton of the settings and statistics pages. Testing for dummy data for AnyChart has not begun yet, but will likely begin by the end of this week at the latest.
Mandatory Lab Meetings (4h): received valuable feedback from TA and Professor Bain regarding our design report.
Ethics Assignment (5h): read important articles on engineering design ethics and wrote about several ethical considerations regarding our own project using this newfound knowledge.
Progress
Progress is on schedule. This weeks tasks will be done more in conjunction with Jubi so that we can begin integrating the database into the app to begin testing.
Next Week Tasks & Goals
Mobile App Development: Integrate session history page with Jubi’s database system, and begin testing of AnyChart API calls from dummy session data.
Design Report (16h): A large portion of my time was spent working with my team on the design review report. Specifically, I wrote the Android Application Implementation, Sensor Calibration Implementation, Data Visualization & Analysis, and Wearable Fabrication sections. I also contributed to the Design Trade Studies section and wrote about our decision to develop our mobile app in Android Studio using Kotlin. I also wrote the Introduction, Bill of Materials/Budget, Schedule, and Summary sections. I also spent some time updating the original mockup documents to reflect design changes we made between our proposal and design review, specifically the addition of haptic motors to the wearable device and the replacement of login functionality on the mobile app with a User Settings/Threshold Update page.
Mobile App Development (8h): We decided to continue development with Katlin, not Flutter. While we were writing the design report, we had an important discussion where we were able to establish the intended interactions between our mobile app and wearable device. I was able to setup a homepage for our mobile app and am working on testing for data visualization using AnyChart API. Since we are not integrating with the wearable device yet, the next feature I would like to setup is the questionnaire and settings page (currently without the ability to communicate with the wearable device.
Mandatory Lab Meetings (4h): received valuable feedback from TA and Professor, especially regarding our testing strategy.
Progress
Progress is mostly on schedule, though I would like to have the mobile app more fleshed out. The front end is currently very bare bones with not much time spent on making it look nice. I will likely work on improving the front end when the base functionalities are established and working.
Next Week Tasks & Goals
Mobile App Development: Create a settings/threshold update page that works independent of the required connection to the wearable device. Additionally, finish testing of data visualization on the home page using dummy data.
Mobile App Development (7h): Several changes were made to our initial plans regarding the mobile app. We have decided not to include google OAuth sign in because session data will be stored locally on the device and thus there is likely no need for multiple users to be using the same mobile phone. After watching other team’s presentations during the design review, I found that Flutter SDK may also be a viable option for creating a cross-platform version of the mobile app. I am currently experimenting with using the Flutter plugin in addition to Android Studio IDE to create the frontend of the app. This decision may still change since Flutter is written in Dart as opposed to Kotlin. My main accomplishments regarding the mobile app this week was creating the initial landing page of the app which takes you to the first-time startup questionnaire in Android Studio (which may need to be modified when introducing the Flutter plugin).
Meeting with Vansh (0.5h): Met with another capstone team whose projects had some similar challenges and use cases as our project, and discussed how we were dealing with some of these issues. Also learned about Flutter as a possible solution for our mobile app development, and will give it a try before fully committing to Android Studio.
Design Review Slides (2h): Helped the team work on the block diagrams and design review slides for this week’s design presentation.
Mandatory Lab Meetings (4h): Watched design review presentations from other teams and received important feedback on our own project. One question that was raised during our presentation was regarding the usage of our device during dynamic (dyno) moves in climbing (which typically is defined by moves which require a jump off the wall where you lose all points of contact during the move). I did some research and found that dyno moves can typically double the force of the same climber on a similar static move, so that will have to be taken into consideration during our stretch goals. Our current MVP is for the device to take accurate readings during static moves (or hang boarding sessions), since this well have a less likely chance of breaking sensors and also because most climbs consist of mainly static moves rather than dynamic moves.
Progress
Depending on what decision we make regarding Flutter/AS, I will be a little behind on mobile app development if we decide to switch to Flutter. However if we stick with AS, I am on schedule for mobile app development. Me and Judi will make that decision soon so we can move on to integrating the frontend and backend of the app. We are meeting on Sunday to make this decision, so by the end of the week we will be back on track as far as the mobile app goes.
Next week task & goals
Mobile App Development: I plan on meeting several times with Jubi over the next week to begin planning integration of the frontend and SQLite database. We may also start looking at how to integrate bluetooth pairing and communication into the mobile app. I plan on finishing the home page such that I can integrate AnyChart API calls to begin testing of dummy data on the data visualization side of the app.
Piezoresistor Sensor Testing (4.5 hrs): Together with Josh, I helped test our current piezoresistor model (A301) to determine if it was viable for our project goals and use cases. While Josh built the circuit (and testing environment) and set up the STM32 ADC, I calculated the AC and DC gain of the amplifier to assist us in adjusting the values of the supply voltage (Vdd), reference voltage (Vref), and the feedback resistor (Rf) to attain an ideal range of outputs that we can use to accurately track force placed on the piezoresistor sensor. Currently, we have found that the following values yield the following output range: Vdd = 2V, Vref = -2V, Rf = 220 kOhm, C1 = 47 pF, Output Range = (approximately) 10mV – 2000mV. Further testing with standardized weights will be conducted to further determine accuracy and initial calibration of the sensor. We have placed an order for the remaining sensors following our test results.
Android App Development (4h): I created a template for our CLIMB mobile app in Android Studio as well as the landing page, however I have not implemented the login page yet. I have not programmed in Kotlin before, so I have spent considerable time learning it over the past several weeks, but I have plenty of experience with similar programming languages and have no reason to believe it will cause any delay in the development of the rest of the app.
Biomechanics Research (3h): I conducted biomechanics research on the physiological relationship between the A2 and A4 pulleys and the respective tendons that they are responsible for. I determined that the initial placement of our sensors will likely suffice for prevention of pulley injuries. Additionally, I have found that typical A2 pulleys can generally hold up to 380N to 400N of force, so for safety and testing reasons we will likely use approximately 75% of that value (85.4 lbs to 90.0 lbs) as our alarm threshold for the A2 pulley sensor during integration testing. In our piezoresistor testing, we have found that bending of the sensor does not appear to affect the accuracy of the force readings, and as a result this should not impact our intended force sensor placement. Additionally, the A301 sensor data sheet states that the sensor can withstand forces up to 4400 N (1000 lb), so it should be more than able to handle the range of forces we intend to measure with our product.
Mandatory Lab Meetings (2.5h): Met with the professor and TA and received valuable feedback about our presentation and project implementation. One especially valuable piece of information that I received from the professor was to begin thinking about amplifier circuits as well as bridge circuits while tuning the output of our piezoresistor. After the meeting I researched the Wheatstone Bridge design of a piezoresistor which helped me gain an understanding of how it would fit into our circuit as well as how the piezoresistor worked internally.
Progress
My progress is currently on schedule according to our Gantt chart. I believe learning Kotlin for app development will take some time and will allot additional time as needed for this task in next week’s schedule.
next week tasks & goals
Android App Development: Create sign-in page for the app, ideally with OAuth google account sign-in. Additionally, some time will be spent learning Kotlin and additional features in Android Studio.
Additional Piezoelectric Sensor Testing: Now that we have determined that we will be moving forward with the A301 sensor, we will test the sensor with standardized weights to begin calibration of the sensor and determine corresponding force readings with voltage outputs.
Device Design and Mobile App UI Mockups (5h): I drew design mockups (shown below) for each component of our project, the wearable device itself and the mobile app that will receive and analyze force readings from the wearable. I designed each mockup based on conversations that me and my team held regarding our vision for the features and use cases of the device.
Wearable Device Prototype (5h): I created a prototype (shown below) for the wearable device part of CLIMB based on the wearable device mockup created earlier in the week. This prototype is constructed of cardstock and masking tape, and should be durable enough to conduct basic testing with A301 sensors and our microcontroller before creating the final product. The prototype can also help our team make the necessary revisions to ensure that the final wearable design accomplishes our goals regarding comfort and usability of the user.
Mandatory Lab Meetings (4h): We received valuable feedback from TAs and professors regarding our project ideas, and afterward I further researched several interesting points brought forth during the meetings (e.g. potential for IMU integration). During last week’s lab meetings, I listened to other group’s proposal presentations and provided feedback.
Proposal Presentation (3h): Worked with Jubahed to break down our project into task groups and subtasks and create a Gantt chart to both plan and track our progress over the course of the semester.
Progress
My progress is currently on schedule. I added biomechanics research to the schedule/Gantt chart for my personal tasks so that I can finalize the sensor placements in our design.
Next Week tasks & goals
Mobile App Frontend: I intend to begin programming the page architecture/model of our web app based on the intended features and UI mockup (no functionality yet).
Qualitative Testing of Wearable: I will be conducting some ease-of-use testing of the wearable device prototype with climbers and collecting feedback on any improvements that can be made for the next revision.
Biomechanics Research: I also intend to finish researching the ideal placement of sensors for pulley ligament injury detection and finalize our sensor placement in our design.