I also designed a headband, that will be known as a halograph FM, with a motion detector that is sensitive enough to pick up the heartbeat and can thus easily detect rapid eye movements. And I wrote a program, Lucid Scribe, that plays audio tracks when it detects that I am dreaming. I can sometimes hear the songs in my dreams and act on that knowledge – by flying, for example.
Here is a video of the first few characters that I can type just by blinking. Relevant XKCD in 3, 2, 1."