Inspiration

Our high school has a biomedical pathway, and we realized how much hands-on training matters for future medical professionals. The problem is that advanced medical training systems are extremely expensive, and many rural communities and the schools that serve them can't afford them, or have no access at all. That leaves students without a way to practice and measure skills like hand steadiness and precision. We built SurgiTrack as a low-cost alternative that gives students objective feedback on their hand control, helping schools save significant money and making this kind of training available to more people, especially aspiring surgeons.

What it does

SurgiTrack is a wristband and web platform that trains hand stability. The wristband's accelerometer and gyroscope track hand movement while the user traces a target path on screen. If they shake too much or drift off the path, vibration motors give instant haptic feedback.

Every session is scored on: -Accuracy (path deviation) -Tremor (high-frequency motion, compared to the user's own calibrated baseline) -Smoothness (how controlled versus jerky the movement is) -Completion time and consistency

The website saves each session to a profile, shows progress graphs (accuracy, tremor, average deviation, smoothness, overall score, etc.), keeps a scoreboard, and unlocks harder levels as the user improves.

How we built it

We built SurgiTrack’s wearable system using an Arduino UNO R4 WiFi, a BMI270 accelerometer and gyroscope, and a DRV2605L haptic driver connected to a vibration motor. The firmware filters acceleration measurements to isolate shaking in the 4–12 Hz range. When the calculated tremor exceeds a configurable threshold, the motor buzzes, while the Arduino’s LED matrix displays a live tremor bar.

For visual tracking, we implemented MediaPipe hand tracking in Python to locate the user’s index fingertip in camera images. This provides the software foundation for measuring how closely a user follows a practice path, complementing the wristband’s motion measurements. We also developed a Next.js and React web application with practice exercises, session history, and progress charts, alongside Python tools for sensor recording and model evaluation.

Challenges we ran into

One challenge was preventing the vibration motor from affecting the tremor measurement. Our firmware briefly pauses updates to the tremor estimate after each buzz and enforces a cooldown between alerts.

Another challenge was connecting the standalone firmware to our Python collector. The Arduino’s default mode sends a calculated tremor score, while Python expects raw accelerometer and gyroscope readings. We identified mismatches in the output format, serial settings, and timestamp units.

Camera tracking also introduced a measurement challenge: MediaPipe returns fingertip positions in image coordinates, while our practice paths use physical distances. We implemented coordinate mapping, but its accuracy still needs testing with the live camera setup.

Accomplishments that we're proud of

We learned that hand stability and path accuracy require different measurements. The wristband measures motion at the hand, while MediaPipe locates the fingertip relative to a practice path. Combining these measurements can provide more useful feedback than either alone.

We also learned that reliable results depend on details such as filtering, camera scale, timestamp units, and data formats. Each component needs testing before its output can support meaningful performance comparisons.

What's next for SurgiTrack

We want to test live MediaPipe tracking and complete the connection between the wearable, Python tracker, and web application. We plan to collect real recordings and evaluate whether machine-learning classifiers improve on a threshold baseline using participants excluded from training.

We also want medical educators to help develop useful practice exercises. For rural communities, our goal is a portable kit that supports local practice and remote instructor review. A pilot with a rural healthcare training program would help us assess its usefulness and identify improvements.

Built With

Share this project:

Updates

Submission history