The problem
Basketball players at every level lack an affordable way to get objective feedback on their shooting mechanics. The two existing products on the market either bury the electronics in a bulky bicep pod that changes how the shot feels (Solid Shot, $499) or skip biomechanical tracking entirely (J‑Sleeve, $175 + subscription). Neither gives real-time feedback.
Our brief: build a wearable that tracks the mechanics that actually predict a make — elbow angle, release angle, wrist velocity, shoulder acceleration — without changing how the shot feels, and at a price point an individual player or a team could justify.
System design
The form factor went through three iterations before we landed on the final one. A traditional shooting sleeve was the starting concept; we scored it against a compression shirt and a modular Velcro-band design in a weighted decision matrix, and the compression shirt won (177 points vs. 147–164 for the alternatives). Early builds stitched conductive thread directly into the fabric to route power and data — durable in testing, but it made the shirt impossible to wash. The final revision moved to wireless, Velcro-mounted electronics pods instead.
Each pod carries an Adafruit Circuit Playground Bluefruit (MCU + BLE), a 9‑DoF BNO055 IMU, and a 350 mAh LiPo battery, with one pod at the shoulder and one at the wrist. A capacitive touch sensor tags each shot as make or miss on the fly — tap the wrist to log a make, hold the elbow for two seconds to log a miss — so the dataset labels itself during a normal practice session.
What we pivoted away from
The original plan paired the wearable with a React Native mobile app streaming to an AWS backend (IoT Core → S3, with Cognito/Amplify handling auth) — a more "productized" architecture on paper. In practice, Bluetooth Low Energy packet loss (a documented issue in wearable sensor literature, on the order of 30% in comparable devices) made the mobile pipeline unreliable enough that we couldn't trust the data reaching the phone. We cut the mobile app and AWS layer and replaced it with a direct BLE-to-desktop Python pipeline — Kalman-filtered sensor fusion feeding a custom Tkinter GUI that logs each shot and surfaces coaching cues from the trend data. Fewer moving parts, and a pipeline we could actually validate end to end.
Engineering validation
Every claim about comfort and safety in the design got checked against a model before we trusted it:
- Thermal FEA (Fusion 360): worst-case enclosure temperature of 48.6°C against a PLA melting point of roughly 160°C — a wide safety margin even with the MCU running continuously against skin.
- Structural FEA: a simulated free-fall drop of the 52 g electronics pod produced about 0.002 mm of displacement — the enclosure isn't at risk from a normal drop.
- Kinematic loading model: quantified the torque the wearable itself adds to the shooting arm at 0.02468 N·m — negligible next to the forces already involved in a shot, so the device doesn't distort the mechanics it's trying to measure.
- Sensor accuracy: validated Euler-angle output from the IMU against a physical protractor; measured angles matched target angles within tolerance.
Business case
We built a full landed-cost model down to the individual component — MCU, IMU, LiPo battery, conductive thread vs. wireless pods, compression shirt material — with an 8.5% overhead rate applied throughout. At the Preliminary Design Review, projected at 2,500 units/year, that penciled out to a 56.2% margin and roughly $180K in annual gross profit. By the Final Design Review, after the wireless-pod redesign added bill-of-materials cost, the same volume model came back to a 10.2% margin and about $76K in annual gross profit.
What I'd do differently
BLE reliability was the dominant failure mode throughout — even after cutting the mobile/AWS layer, packet loss capped our usable test runs to 10–15 shots per session instead of the 40–60 we wanted for a statistically solid dataset. Next iteration, I'd move sensor fusion on-device (rather than post-hoc on the desktop) and add a wired fallback for high-volume data-collection sessions, reserving BLE purely for live coaching feedback where occasional dropped packets matter less.