## Inspiration

As a team, we've all witnessed the devastation of muscular-degenerative diseases, such as Parkinson's, on the family members of the afflicted. Because we didn't have enough money or resources or time to research and develop a new drug or other treatment for the disease, we wanted to make the medicine already available as effective as possible. So, we decided to focus on detection; the early the victim can recognize the disease and report it to his/her physician, the more effective the treatments we have become.

## What it does

HandyTrack uses three tests: a Flex Test, which tests the ability of the user to bend their fingers into a fist, a Release Test, which tests the user's speed in releasing the fist, and a Tremor Test, which measures the user's hand stability. All three of these tests are stored and used to, over time, look for trends that may indicate symptoms of Parkinson's: a decrease in muscle strength and endurance (ability to make a fist), an increase in time spent releasing the fist (muscle stiffness), and an increase in hand tremors.

## How we built it

For the software, we built the entirety of the application in the Arduino IDE using C++. As for the hardware, we used 4 continuous rotation servo motors, an Arduino Uno, an accelerometer, a microSD card, a flex sensor, and an absolute abundance of wires. We also used a 3D printer to make some rings for the users to put their individual fingers in.
The 4 continuous rotation servos were used to provide resistance against the user's hands. The flex sensor, which is attached to the user's palm, is used to control the servos; the more bent the sensor is, the faster the servo rotation. The flex sensor is also used to measure the time it takes for the user to release the fist, a.k.a the time it takes for the sensor to return to the original position. The accelerometer is used to detect the changes in the user's hand's position, and changes in that position represent the user's hand tremors. All of this data is sent to the SD cards, which in turn allow us to review trends over time.

## Challenges we ran into

Calibration was a real pain in the butt. Every time we changed the circuit, the flex sensor values would change. Also, developing accurate algorithms for the functions we wanted to write was kind of difficult. Time was a challenge as well; we had to stay up all night to put out a finished product. Also, because the hack is so hardware intensive, we only had one person working on the code for most of the time, which really limited our options for front-end development. If we had an extra team member, we probably could have made a much more user-friendly application that looks quite a bit cleaner.

## Accomplishments that we're proud of

Honestly, we're happy that we got all of our functions running. It's kind of difficult only having one person code for most of the time. Also, we think our hardware is on-point. We mostly used cheap products and Arduino parts, yet we were able to make a device that can help users detect symptoms of muscular-degenerative diseases.

## What we learned

We learned that we should always have a person dedicated to front-end development, because no matter how functional a program is, it also needs to be easily navigable.

## What's next for HandyTrack

Well, we obviously need to make a much more user-friendly app. We would also want to create a database to store the values of multiple users, so that we can not only track individual users, but also to store data of our own and use the trends of different users to compare to the individuals, in order to create more accurate diagnostics.
## \*\* Internet of Things 4 Diabetic Patient Care \*\*

## The Story Behind Our Device

One team member, from his foot doctor, heard of a story of a diabetic patient who almost lost his foot due to an untreated foot infection after stepping on a foreign object. Another team member came across a competitive shooter who had his lower leg amputated after an untreated foot ulcer resulted in gangrene.

A symptom in diabetic patients is diabetic nephropathy which results in loss of sensation in the extremities. This means a cut or a blister on a foot often goes unnoticed and untreated.
Occasionally, these small cuts or blisters don't heal properly due to poor blood circulation, which exacerbates the problem and leads to further complications. These further complications can result in serious infection and possibly amputation.

We decided to make a device that helped combat this problem. We invented IoT4DPC, a device that detects abnormal muscle activity caused by either stepping on potentially dangerous objects or caused by inflammation due to swelling.

## The technology behind it

A muscle sensor attaches to the Nucleo-L496ZG board that feeds data to a Azure IoT Hub. The IoT Hub, through Trillo, can notify the patient (or a physician, depending on the situation) via SMS that a problem has occurred, and the patient needs to get their feet checked or come in to see the doctor.

## Challenges

While the team was successful in prototyping data aquisition with an Arduino, we were unable to build a working prototype with the Nucleo board. We also came across serious hurdles with uploading any sensible data to the Azure IoTHub.

## What we did accomplish

We were able to set up an Azure IoT Hub and connect the Nucleo board to send JSON packages. We were also able to aquire test data in an excel file via the Arduino
## Inspiration

After a brutal Achilles tear and weeks in bed, one of our teammate’s moms re-tore her Achilles after a fall from a mobility scooter, similar to our walker. Luckily, she was at home when the re-injury occurred and could get help from family. Not everyone is so lucky, and this incident got us thinking about accessibility tools such as scooters, wheelchairs, and walkers and how they could be improved to assist when no one else is around.

When someone who is physically impaired falls, they are often unable or severely restricted in their ability to get back to their physical aid. Surely, it would be helpful if their walker came back for them?

## What it does

This walker is equipped with a camera, a large motor for power, and two smaller motors to pull the brakes. Using a computer vision algorithm that we trained using YOLOv8, the walker detects when someone has fallen and raised their hand, requesting assistance. The walker then motors toward the fallen user to help them.

## How we built it

This project combined complex **hardware**, **mechanical design**, and **software components**,

* On the hardware side, a **Raspberry Pi** handles our hand-detection algorithm and communicates with an ESC controlling the motors.
* The main motor spins a wheel for power, while two smaller motors apply pressure as brakes, enabling the walker to stop and turn in the direction of its user.
* On the mechanical design side, key mounts, brakes, and housing for the servo motors were all custom-designed and **3D printed** over the weekend!
* For software, we trained a **YOLOv8** computer vision model using hand-annotated pictures of raised hands. The model was hosted on a web server, and the **Raspberry Pi** communicated via **UART** with the ESC. The Pi also communicated with the servos via IO.

## Challenges we ran into

1. After training our model, we found that it wasn't running as we wanted on the Raspberry Pi due to power limitations. We had to quickly pivot and upload the model to a web server, developing our own API for the Raspberry Pi to upload images and receive the necessary information.
2. **UART** was really finicky to work with, after writing code that worked literally hours before, our team was disappointed to find that it not longer worked and that we had to fix it.
3. None of our team had worked with a Raspberry Pi before, making setup and configuration quite challenging.
4. We didn’t get all the crucial hardware we requested, but our team adapted and altered the project accordingly.

## Accomplishments that we're proud of

* Training the model in such a short time frame was a huge win, especially with the help of **roboflow**.
* Writing the **UART** was difficult but extremely satisfying once completed.
* Our team maintained a resourceful and positive attitude, overcoming every obstacle.

## What we learned

We learned a lot of new **technical skills**: new Python libraries, Linux commands, CAD designs, 3D printing settings, and hardware techniques. Working with a **Raspberry Pi** was an eye-opening experience, especially with UART communication.

Additionally, we gained valuable **teamwork** lessons, including how much sleep deprivation can affect problem-solving, but also the extent to which persistence can lead to solutions!

## What's next for Moonwalk?

Who knows? We may continue working on this after the weekend. It’s too early to say on this very sleep-deprived Sunday morning...