Shoulder Function Dashboard

One combined Function Score (0–100) from range of motion, active movement, and tremor.

2-minute assessment: the score updates live and locks in a confirmed result after 120 s.

Enter patient + IP

Enter the patient's name to open their case file, then the ESP WiFi name (e.g. ESP32-192.168.1.120) — or type camera to assess with the webcam.

Last update: —

Shoulder Function Score

Waiting for device
--
/ 100
2-minute assessment not started
Assessment
Waiting for movement…
One combined score from range of motion, active movement, and tremor. Locked in after 2 minutes.
--
Angle (°)
--
Range reached (°)
--
Tremor hits / s
Peak range: --° Device score: -- WiFi: -- Device IP: --

Butterfly — one-arm abduction

Arm open to — close and open smoothly like a butterfly wing

Range Trend (last 60 samples)

Streaming range of motion; rescales automatically.

Webcam angle (MediaPipe) — markerless

Camera off

Detects shoulder-abduction angle from the webcam. Raise and lower one arm — no wearable sensor needed. Feeds the same Function Score and 2-minute assessment.

--
Shoulder angle (°)
--
Movement
--
Peak (°)
State: —
Press Start to load the model and enable the camera.

Condition Ranges (abduction limits)

Condition Range (deg) Notes

Ranges mirror the Arduino classification so the web view matches on-device logic.

What each state means

  • Deltoid Paralysis: 0–15° · arm barely lifts.
  • Post-Stroke weakness/spasticity: 20–70° · poor control.
  • Rotator Cuff Tear (Supraspinatus): 30–60° active lift capped.
  • Frozen Shoulder: 40–80° stiff; above 90° painful.

More ranges

  • Shoulder Impingement: 60–120° painful arc; rarely past 100°.
  • Cervical Radiculopathy: 45–90° nerve weakness with neck pain.
  • Severe Osteoarthritis: 30–90° mechanical pain limits lift.
  • Above 120°: likely functional; below 30–40° investigate severe limits.

How this page works

Doctor Panel

Not logged in

Login/register to see device history, improvement, and add physio exercises for each device IP.

Login

Register