Final Team Update for 12/13/2024

General Update

Drumroll please……….We won!

  1. (30hr Frontend Stretch): Alex and Jubi worked on ironing out bugs in the bluetooth communication, dynamic button generation, chart displays/analysis, and threshold updates.
  2. (30hr Hardware Stretch): Josh worked on designing and assembling a PCB (stretch goal), designing a CAD model to house the device hardware (stretch goal), and creating a second glove (stretch goal). Another stretch goals Josh accomplished was integrating dynamic haptic vibration that increases as the force readings encroach dangerous levels.
  3. (18hr Video Scripting, Recording, & Editing): This week, Alex, Jubi, and Josh spent time writing a script, recording, and editing a final video that demonstrates our product and design process.
  4. (20hr End-to-end Testing): This week, Alex, Jubi, and Josh continued testing the device at the Iron City Bouldering gym,  where we conducted end-to-end tests using the app to begin, end, and analyze workouts using the CLIMB device.
Risks and risk mitigation

None!

overall design changes

Towards the end, we worked towards supporting our ultimate stretch goal of DUAL WIELDING, however, this would require significant additions and possible revamps of the front-end to account for visualizing data from two hands.

schedule

The schedule remains the same as we are done!

GANTT Chart

Guidance

This project was so fun! Alex, Jubi, and Josh had a great experience desiging CLIMB and being able to demonstrate the culmination of our ECE undergraduate experience here at Carnegie Mellon University. Throughout this project, we utilized the cornerstones of ECE: circuit design, signal systems, hardware, and software systems. In doing so, we developed a durable, unobtrusive system of assistive features for rehab/training of climbers: real-time pulley monitoring, pulley-risk indication via haptics, wireless, battery-powered use, and workout tracking/analysis via a robust, intuitive user interface (the CLIMB app). We are very proud of this work, and will take this experience with us past graduation. Thank you to everyone who supported us throughout this process, especially the course faculty, TAs, and fellow classmates who provided invaluable feedback at every step!

Team Update for 12/7/2024

General Update

This week Josh, Alex, and Jubi worked on the final paper, poster, and video, continued verification & validation tests on the hardware & software solutions, and finalized work on the device integration / continued stretch goals. Josh worked on designing and ordered a PCB to house the hardware for the device.  He also began working on the CAD for the hardware capsule. Alex worked on data visualization within the mobile app as well as adding app functionality for the second glove (BT/calibration modifications, frontend modifications). Jubi worked on tweaking the recent queries add for edge case safety, as well as integrating in the visual displays for charting / pulling data from the database.

Risks and risk mitigation

None

overall design changes

None

schedule

The schedule remains the same as we are on track.

GANTT Chart

Guidance
We performed static weight unit tests via arm hangs on the sensors, from which we realized that the best placement of the sensors are on the A2 and A4 pulleys, the tendons between the first two knuckles stemming your middle and ring finger. This is because we realized that most of the weight is distributed on these pulleys, and although pulley injuries can still occur in the A2 and A4 due to pressure placed on the A5 pulley, during rehabilitation, it is important that minimal force is placed on these injured A2/4 pulleys.

Team Update for 11/30/2024

General Update

This week Josh, Alex, and Jubi worked on the final presentation, performed verification & validation tests on the hardware & software solutions, and continued work on the device integration / began some stretch goals. Josh worked on tuning the amplification gain/range to provide more robust and consistence sensor readings. He also created a second glove using the new Olimex ESP-32 and tested/confirmed battery-powered functionality. He also worked with Alex to perform some verification and validation tests at the Iron City Bouldering Gym, and he began working on a PCB design and device capsule CAD. Alex primarily worked on programming the calibration routine on the ESP32, as well as rewriting front end code for the startup sequence (Calibration Routine, Bluetooth Connection) to avoid coroutine-related errors and sync the states on the ESP32 to match the timing of the mobile App frontend. Alex also conducted testing focusing on the interactions between the app and the wearable device during a full session from beginning to end. Jubahed assisted Alex with software end-to-end testing, as well as explaining his APIs to make sure that Alex could properly build the calibration system upon them. He also continued work on the back-end database system, as well as integrating bluetooth connectivity between the device and app. This mostly included integrating the prior frontend elements with the backend APIs, and ensuring that they worked together as intended as smoothly as possible.

Risks and risk mitigation

None

overall design changes

We are now using the Olimex ESP-32 LiPo DevKit board with an on-board power-jack because it allows us to provide battery-powered functionality to the CLIMB device without needing to design an LDO circuit on the PCB, though this solution is a bit more expensive than the previous ESP-32 we were using from AdaFruit.

schedule

The schedule remains the same as we are on track.

GANTT Chart

 

Team Update for 11/16/2024

General Update

This week, Josh, Alex, and Jubi spent most of their time working on preparing the product for demo. This consisted of Josh modularizing the prototype with plug-and-play sensor functionality, soldering the sensor wiring and heat-gunning insulation covers instead of using jumpers for a clean look, running 4 sensors at once that connect to dc motors that vibrate upon threshold excession. Alex worked on the CLIMB user experience by designing the UI in Figma, and programming it in Android Studio. Jubi worked on implementing bluetooth communication between the ESP32 and the Android smartphone, achieving communication from the board to the phone and implementing a state machine that transitions the phone between start and stop modes. He also worked on implementing the database that will store the CLIMB metrics on the local device. Next steps are to achieve communcation from the phone to ESP, design a PCB to house the ESP and amplifier circuit, and data visualization and analyses to display on the UI. Also we will begin verification and validation.

Risks and risk mitigation

None

overall design changes

Using PWM to control the haptic motors which will have 3 vibration levels (1V, 2V, 3V).

schedule

The schedule remains the same as we are on track.

GANTT Chart

Guidance Question

In all, we are to perform ergonomic validation tests, durability verification and validation tests, safety verification tests, social/feedback verification tests, and finally end-to-end varification tests.

So far, we have performed basic hardware utilization tests such as working out with the glove on while monitoring the force readings, making sure that the readings are consistent all-throughout. The results of this test have been favorable, resulting in consistent readings.

(HW) Testing Durability

To verify the system’s durability requirements, the device will undergo 50 uses, each for 5 minutes with a constant 10kg applied at a 90 degree angle. This will be repeated for 50kg as well. After each, the sensitivity loss of the device will be verified to be within 2.5% and the wearable fabric will be examined for any tears or disfigurations. To validate durability, the device will undergo dynamic weight applied by a user at various angles for 1-hour, 10 times. After each, the sensitivity loss of the device will be validated to be within 2.5% and the wearable fabric will be examined for any tears or disfigurations. This meets the system’s durability use-case requirements by tackling even the most extreme cases (54kg/sensor) and verifying that the system remains robust.

(HW) Testing Ergonomics

To validate the system’s ergonomic requirements, a survey will be conducted on 50 randomly selected participants. Each participant will provide the shape characteristics of their fingers. With this information, the system sensor size requirements will be tested to only impose up to 30% surface area coverage for at least 90% of participants’ fingers. This meets the system’s ergonomic use-case requirements by providing a comfortable and unobtrusive wearable device that covers no more than 30% of a user’s finger.

(HW) Testing Safety
To verify that the system initializes properly, the system will be booted up and calibrated 50 times. The system shall successfully calibrate 95% of the time.
To verify sensor precision, incremental weights will be placed atop the sensor (1kg, 2kg, 3kg, etc.) and a voltmeter will be used to monitor the voltage changes per kg. The system shall reflect a 5mV/kg voltage change up to 54 kg. To verify that an alarm signal is triggered within 100ms when the force reading is within 20% of the safety threshold, an instant force exceeding the threshold will be applied after initialization, and an external timer will record the delay. The system shall fire its alarm within 100ms at least 98% of the time. To verify the second haptic’s functionality, the first haptic will be disconnected. Immediate force will be applied until the threshold is reached. The system shall fire its second alarm within 200ms of threshold excession with a 98% success rate. This meets the system’s safety use-case requirements by demonstrating that the system will actively work to prevent pulley injuries by remaining with a maximum error of ±2.5 and firing alarms within 200ms.

(SW) Testing Social / Feedback

To verify the feedback requirements of the system, tests will be performed using mocked force readings to verify the minimum data transfer. To do this, a mocked buffer input of 96 Kb will be generated and communicated to the mobile device. This test will be timed, recorded, and repeated 50 times to verify that the shipment completes in 10s with a 95% success rate.
To verify the user-experience related requirements, 96Kb of data will be mocked on the mobile device and passed to the database handler to ensure that information is stored properly and can be pulled to display on the application charts. This test will be repeated 50 times to verify that the flow of data on the mobile device can reach the user’s screen with a 95% success rate. These tests meet the use-case requirements by verifying that the system is providing users with a seamless experience in accessing analytical feedback that is suggestive towards improvement and can be used to compare progress with others.

(HW/SW) Testing End-to-end

To verify end-to-end integration, the system will undergo 100 simulations where mocked force readings will be generated and communicated to the mobile device, testing to determine if the data is successfully displayed analytically 95% of the time. To validate the system, a test using a hang-board with force-sensors mounted will be used to perform dynamic tests. The force on the hand-sensors will be cross-referenced with the force-sensors on the board. This test will be conducted 20 times for 10 minutes each. The system will be tested for the average error to be below 2.5%

Alex Nguyen’s Status Update for 11/16/2024

Personal Accomplishments
  1. Mobile App Development (20h):
    1. Figma Design Docs & UI/UX:  finalized app design by creating Figma design docs displaying actual UI/UX layouts/design throughout each intended functionality (home page interactions, threshold settings updating, start/stop/calibration sequence) so that I could build/develop the final version of the android app according to the Figma design docs (especially regarding interactions between frontend elements and processing data from backend databases, but also with regards to aesthetic and quality of use elements) Android Studio Development: Modified mobile app codebase to conform to the Figma design docs I created, made significant progress with regards to the “Threshold Settings” updating functionality within the app (can now confirm updates and throw exceptions if the update was not processed) and reflect threshold changes on the home page. Additionally, the session start and stop timer was implemented successfully and calibration sequence frontend screens have been implemented and their functionalities will be connected to the wearable device soon.
  2. Mandatory Lab Meetings (4h):  Met with team, TA, and Prof. and discussed interim demo preparation and expectations.
Progress
  1. Progress is on schedule.
Next Week Tasks & Goals
  1. Mobile App/Device Integration:  Major goal for this week is merging my android app repo with Jubahed’s bluetooth repo so that we can begin connecting the two parts of the android app and begin testing with all three components (glove, app, database/communication).

Team Update for 11/9/2024

General Update

This week Josh spent time working on the hardware prototype by hooking up multiple sensors (4) to the esp32, reading force values off of them, and running a vibration motor upon excession of a preset threshold value. Next steps are to sow the sensors onto the crack-climbing glove. Alex and Jubahed synced up to tidy features on the app, as well as share UX ideas, page layouts, and backend integration.

Risks and risk mitigation

No additional risks (to those previously mentioned) were found during this week’s work.

overall design changes

No design changes.

schedule

The schedule remains the same as we are on track.

GANTT Chart

Alex Nguyen’s Status Report for 11/02/2024

Personal Accomplishments
  1. 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.
  2. 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.
  3. 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
  1. 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
  1. 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.

Team Update for 11/2/2024

General Update

This week Josh spent time programming the esp to interface with a general purpose computer via BLE communication to view force readings from the sensors. Alex worked mainly on the mobile app, namely continuing work from the previous week focused around the app’s startup sequence and data visualization aspects.

Risks and risk mitigation

No additional risks (to those previously mentioned) were found during this week’s work.

overall design changes

No design changes.

schedule

The schedule remains the same as we are on track.

GANTT Chart

Alex Nguyen’s Status Report for 10/26/24

Personal Accomplishments
  1. 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.
  2. Mandatory Lab Meetings (4h): received valuable feedback from TA and Professor Bain regarding our design report.
  3. 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
  1. 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
  1. Mobile App Development: Integrate session history page with Jubi’s database system, and begin testing of AnyChart API calls from dummy session data.

Team Update for 10/26/2024

General Update

This week Josh spent time programming the esp to interface with the haptic motors and tuning motor placement on the hand. He also worked processing readings from multiple sensors at once and comparing them to a threshold value via ADC. Alex and Jubahed primarily worked on developing the android app in Android Studio, specifically on the overall architecture of the app and interactivity within the app (no connectivity to the wearable device yet). Also got version control working properly.

Risks and risk mitigation

A risk our project faces is reliability of Bluetooth over the two components of our project. Since we have yet to implement connectivity between the two components, we plan to mitigate this risk by

  1. Starting Simple: Once the app is more fleshed out, we will test basic connectivity this week before adding more complex interactions. We will begin by ensuring that the ESP32 and the Android app can connect and exchange basic messages (like status messages or simple text).
  2. Using Established Libraries: We won’t venture out to obscure Bluetooth connectivity methods, we will try to stick with ESP32’s BluetoothSerial library and Android Studio’s builtin Bluetooth API to prevent any low-level issues and hopefully ensure that any bugs we may have are purely high level (easier to fix).

 

overall design changes

Most design changes were finalized last week while writing the design report, this week we have been following the design set forth and have not found the need to make any major changes.

schedule

The schedule remains the same as we are on track.

GANTT Chart