Research prototype · webcam Morse text entry

Blink in Morse.
The webcam types it.

MorsEye turns deliberate eye closures into dots and dashes, and learns to ignore the 15–20 blinks a minute you don't mean. A few seconds of personal calibration replace a one-size-fits-all threshold.

Runs in your browser. Camera frames never leave your device.

An eye drawn from 30 landmark points, blinking “HI” in Morse code The upper lid closes four times briefly for the letter H, pauses, then closes twice for the letter I. Each closure is inked onto a paper tape below the eye, and each letter appears under its marks when the decoder commits it.
Eye aspect ratio (EAR) of the drawing Calibrated threshold Eye counted as closed

Each closure in this animation lasts 400 ms, inside the dot band (200–600 ms). A letter is committed after 1200 ms with the eyes open. These are the app’s current settings.

Study A in progress · results expected November 2026

What the study measures

“It works on my face” is not a result. MorsEye is being evaluated in a preregistered study with adult volunteers; the three headline numbers will appear here, with confidence intervals across participants, once the data are labelled and analysed.

Telling deliberate blinks apart

Pending

Event-level F1 for deliberate closures, with the fixed EAR threshold of 0.21 versus a threshold calibrated from a few of the user’s own closures.

False triggers while reading

Pending

Natural blinks typed as symbols, per minute of reading, before and after adding a minimum-duration reject window.

Typing speed and accuracy

Pending

Characters per minute and error rate for novices after three short practice blocks of standard phrases.

Study design and interactive results

How it works

From camera frame to letter

  1. 1

    Camera

    About 30 frames a second from an ordinary laptop webcam.

  2. 2

    Face landmarks

    MediaPipe finds 478 points on the face, on your device.

  3. 3

    Eye signal

    Eye aspect ratio from six points per eye, or blink scores.

  4. 4

    Detector

    A threshold fitted to you, with hysteresis, finds each closure.

  5. 5

    Segmenter

    The closure’s duration decides: ignore, dot, dash or delete.

  6. 6

    Decoder

    Pauses end letters and words; the text can be spoken aloud.

Closure duration decides the symbol

Spontaneous blinks are short, so anything shorter than the reject window is ignored. These are the starting values; the final ones will be chosen from the Study A duration data.

See the pipeline step by step

Closure duration bands and pause rules
Eyes closed for Means
under 200 ms Ignored (probably a natural blink)
200–600 ms Dot
600–1400 ms Dash
1400–2000 ms Nothing; two of these within 4 s pause or resume input
2000 ms or more Delete the last character
Eyes open for Means
1200 ms End of letter
3000 ms Space (once)

Honest status

What it is, and what it is not

  • A research prototype. It is being evaluated with able-bodied adult volunteers. It has not been tested with people with motor impairments, and no clinical claim is made.
  • Small study. Around ten participants, mostly a convenience sample, with one or two camera models. The power to detect small differences is low.
  • Cued closures. Deliberate blinks in the study are made in response to cues, not from a user’s own intent to write.
  • Webcam timing. At 30 frames a second each frame is 33 ms long, which limits how precisely a closure can be timed.
  • Private by design. No server, accounts or analytics. Study recordings stay on the experimenter’s laptop; only features, never faces, are published.

All threats to validity