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.
Doctor Panel
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
Restart 2-min test
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.
Peak range: --°
Device score: --
WiFi: --
Device IP: --
--
--
--
--
--
Butterfly — one-arm abduction
Arm open to 0° — 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.
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
Press Enter (or Start) after typing the ESP IP or WiFi name, for example ESP32-192.168.1.120 or 192.168.1.120.
The ESP sends samples to this PHP page; the browser reads the latest stored sample from MySQL every second.
The device itself averages every 5 seconds and needs two consecutive matches to confirm; this UI simply displays those fields.
Client-side classification is also run locally to mirror the device ranges; it is shown as “Local check”.
If over-limit (>100°) the badge turns red; otherwise it stays neutral.
Doctor Panel
Not logged in
Login/register to see device history, improvement, and add physio exercises for each device IP.
Device in view
No device
Samples stored: 0
Last abs angle: --
Last tremor hits/s: --
Last function score: --
Improvement: --
Refresh summary
Exercises for this device
Reload
Patient files (case files)
Reload
One file per patient: how many sessions reached confirmation, total reps, and the confirmed condition.
Patient
Sessions
Total reps
Condition (نوع عارضه)
Last score · peak
Updated
No patient files yet.
Assessment results (weakness analysis)
Reload
Time
Patient
Score
Peak (°)
Reps
Weakness
Source
No results yet — finish a 2-minute assessment.
Historical data (last 200)
Reload
Time
Patient
Angle
Range
Tremor/s
Score
Pending
Confirmed
No data yet.