Lilly’s Status Report for 2/15/2025

This week, I completed the following items:

1. Researched, finalized, and ordered materials for the neck angle-calculation module. These included the gyroscope/accelerometer module, an ESP32-C6, and a battery to power these components. I also researched the communication protocols that I will need to configure and use to send data from the sensor to the ESP32 (I2C), and from the ESP32 to the main microcontroller (BLE).

2. Researched objective measures for determining poor neck posture. I hope to implement an approximation of craniovertebral angle, which is actually used for diagnosing forward head posture, but this will require good positional calculations from the accelerometer, which may not be feasible. To achieve this, I researched methods of improving calculation accuracy for angle/position, including Kalman filtering. An alternative threshold for neck strain is simply a 15 degree downward rotation of the neck.

3. Updated the design of the neck module to use a cap/visor instead of a neckband to improve wearability, comfort, and ease of component layout.

 

4. Tested and did initial calibrations on the OpenCV Python script that we will be adopting for the blink detection part of this project. From this testing, I confirmed that rudimentary blink detection worked, and identified areas that we will need to improve upon and modify to meet our use-case requirements. These included support for single-eye blink detection, ensuring that our rate-calculations do not factor in time where neither eye is in view of the camera, improving functionality in dimmer lighting, and improving landmark detection for glasses-wearers. However, as difficulties with running a Python script from the browser extension arose, Cora will be working on converting the script to JavaScript using OpenCV.js.

5. Prepared slides and presentation for the upcoming design review. 

A couple of my deliverables from last week were not completed unfortunately (figuring out the Bluetooth implementation between ESP32/RPI, and drafting code for gyroscope calculations), as I spent much more time than expected on researching and selecting a microcontroller, and working on the design review presentation. However, these two items would be more effectively completed with the parts in hand, so this isn’t super detrimental to our schedule.

 

Deliverables for next week:

  • Present design review and write design report.
  • Set up the development environment for flashing the ESP32.
  • Research how to implement bluetooth communication between ESP32 and RPi. If ESP32 arrives on Mon/Wed, work on actually setting up this connection too.
  • If sensors arrive as well, start setting up the I2C interfaces and test sensor reliability.

Team Status Report for 2/15/2025

PART A (Cora) 

In regards to health, StrainLess has the potential to improve peoples physiological health. It is well established in the medical community that poor posture causes back pain and that staring at a screen for extended periods of time causes eye strain. With StrainLess, users receive an alert when they are exhibiting poor posture/eye strain which remind them to correct their posture and/or take a break from their screen which builds healthier habits and will therefore help them feel physically better. Psychologically, physically feeling better helps people have a better mood. Especially with things like chronic back pain and headaches associated with prolonged computer usage, which can negatively impact peoples’ emotional wellbeing. In regards to safety, StrainLess will be built with the user’s safety in mind. Specifically, we are ensuring that the electronics are safe and do not get too hot and burn the user’s skin by testing our product. We also are using bluetooth for communication between devices to prevent cords from getting caught. In regards to welfare, StrainLess helps meet the basic needs of people living in modern society because for many people working 9-5 jobs they are sitting at a desk and this is our target demographic for StrainLess. StrainLess will help these people reduce their back pain and eye strain.

PART B (Kaitlyn)

StrainLess is meant for people across different organizations. Our product is meant to help anybody who works at desks for extended periods of time, whether that be office workers, gamers, college students, or anybody else. We want our product to be available to those people who have difficulty maintaining good habits while sitting at a desk. Our solution approach also attempts to be as affordable as possible, so more people can use our product. We also did not want our solution approach to have any negative social impacts. In order to achieve this, we are ensuring that there is no personal data being stored about the user, and that every individual user gets the same experience. We increased our weight range to ensure as many people as possible could use the pressure sensors, and chose a CV model which is trained on a very socially diverse data set in order to ensure accuracy in CV across the entire range of users.

PART C (Lilly)

With respect to economic factors, StrainLess can improve office productivity – and therefore revenue, hopefully – by reducing the strain associated with working at a desk for long periods of time. While it would be ideal for people to not have to work at a computer all day, this is often unavoidable, especially with the rise of remote, work-from-home jobs. Since people can become very focused on their work sometimes, it can be easy to forget to take breaks, or remain in an ergonomic position for a long time, leading to severe pain when these habits persist for weeks or months. By providing gentle alerts that make the user aware of strain-inducing behaviors, we can help people mitigate eye and muscle strain – all while allowing them to continue being productive, as our system tray notifications do not require the user to stop what they are doing to manually shut them off. It’s often difficult to work when in pain, or suffering from “computer vision syndrome” (blurred vision, headaches, dry eye), so prevention of these issues is key to improving productivity. In the long run, users will also financially benefit from StrainLess as they can save money on doctor’s visits and medical items (e.g. braces) by building better work-health habits. 

RISKS + CONTINGENCIES

One of the most significant risks that could jeopardize the success of our project right now are delays in receiving our parts, as many of our next tasks cannot proceed without having the physical components to test. We are managing these risks by attempting to get as much done as we can with the parts that we do have so we are ready to go when the rest arrives. Specifically, we are working on setting up the local server on the Raspberry Pi that we already have so we can get to work on setting up Bluetooth and a server request system for the ESP32 and browser extension, respectively. Another risk we are facing is poor sensor reliability, specifically for the gyroscope modules, when they come in. As a contingency plan, we may have to incorporate multiple different sensor values into our calculation algorithms, as is done in Kalman filtering, for example. Our last potential risk is difficult with setting up the connections for the pressure mat, as the datasheet available online is somewhat sparse. To mitigate this risk, we have requested further documentation from the company and have been successful in receiving responses so far.

PROJECT CHANGES

Two main design changes have occurred since last week. 

  1. We have switched from buying individual pressure sensors and arranging them into an array ourselves, to buying a pre-wired pressure sensor mat, intended for feet. This change was necessary because the sensors we were initially looking at were very expensive (and had fewer sensors) and would require many more pins to connect to on the main microcontroller.
  2. Instead of a band going around the neck of the user to implement neck-angle calculations, we have decided to mount the gyroscopes, microcontroller, and battery onto a cap or visor. This was necessary so we could fit all our components onto something more wearable and comfortable. Also, since most of our components for the neck angle module operate optimally at 25 degrees Celsius, having the band so close to the wearer’s skin – on one of the warmest parts of their body, and potentially insulated by long hair – would have been problematic. This also helps with safety concerns relating to overheating components in contact with the user’s body, and allows us to slightly raise our weight requirement for this module since we can afford to put more items on a hat than a small band. This hasn’t caused us significant extra costs, as we would have had to buy a neck cuff to mount our components on anyway. A short-billed baseball cap or visor is likely to be similarly priced.

SCHEDULE

Although there were design changes, our schedule remains the same as we expect to get some of our parts this week.

Lilly’s Status Report for 2/8/2025

This week I focused on researching components for the neck angle measuring system, mainly the gyroscopes.

While we were initially talking about using a gyroscope for tracking neck angle, I also researched inclinometers as another option since they can be used for angle measurement too, especially in steadier conditions. It seems that inclinometers on the market are mainly intended for industrial applications and are too clunky (I’m looking for something relatively flat to avoid disturbing the user) and expensive relative to our budget. So, for something wearable I continued to focus on gyroscope sensors.

As I researched, I looked into the potential of biaxial angle tracking, as forward neck posture is not the only way a user can experience neck strain after extended work periods. Most gyros have this capability anyway. I focused on options that allowed for angle tracking along at least 2 axes (sagittal and coronal) and researched the circuitry each sensor would need to work, with the aim of selecting a sensor with minimal circuitry and accuracy within our requirements, ideally much tighter as our initial goal of +/- 5 degree measurement accuracy is quite wide. Drift in the gyros also came up as a problem, which could be mitigated by doubling up the sensors – and would allow the band to be more symmetric in terms of weight on the user. I also researched/tested the range of angular velocities that our sensor would need to handle – a maximum speed of 200 deg/sec is what I looked for. Further, while an analog gyroscope would be nice so we can control the sampling rate/resolution better, I found that digital gyroscopes will be easier to find and use. A potential option is the L3GD20 gyro, which is small, has low input voltage requirements and a good-enough range.

I am on schedule for now. Further research on wearable batteries and gyroscope part selections will be completed tomorrow before our team meeting on Monday.

Deliverables for the next week:

  • Make purchases for neckband components after cross-checking with the team (Monday).
  • Research wireless connection between ESP32 + RPI.
  • Finalize design for how the neckband will be worn by the user.
  • Start drafting code for angle calculation with gyroscope data for the ESP32.