Skip to content
Samay Shamdasani edited this page Sep 10, 2017 · 3 revisions

Inspiration

Our inspiration for this project came from a paper published on an accurate method of detecting blinks, but it used complicated and obscure materials that were expensive and hard to find. Therefore, we decided to make our own accurate, low cost blink detector that would allow patients who aren't able to communicate to be able to through blinking. In addition, we saw that current technologies cost thousands of dollars and still relied on less accurate cameras.

What it does

Blink acts as a communication device for patients who cannot otherwise communicate, while being much more affordable and accurate than current technologies on the market. Currently, als.org recommends a $10,000 solution as the high tech way to communicate, which is out of the price league for many people.

Using a modified version of Morse code, you can blink out letters and special characters into full words. In addition to transcribing what an otherwise non-communicative person would say, it integrates with various services that people would normally use, such as weather, news, and of course GIFs! Simply blink in Morse code, and it translates in real time that into characters on a web app. No complicated EEG pads or camera - a simple unobtrusive sensor can be placed to read blinks!

How we built it

The backend consists of the sensor detection and real time decoding. We used capacitive touch on a custom 3D printed mounting arm to position the sensor. The sensor interfaces with an Arduino, which sends the data to a Python/Flask backend. This backend translates blinks through a process of matching the intervals and lengths of the blinks into human readable characters.

The frontend is written in React and is server-side rendered using Next.js. It retrieves data from the backend via GET requests, constantly showing your status in an easy viewing window that can be viewed on multiple devices. In addition, it displays weather, news, and GIFs, all accessible through a simple blink sequence.

You can view the deployed frontend over at https://blink.now.sh

Challenges we ran into

One of the biggest technical implications when building Blink would definitely be detecting short/long blinks in morse code sequences, and decoding it into characters. Without any libraries, we managed to create our own real-time decoding process of morse code from scratch.

Another implication was actually mounting the sensor in a way that would be stable and easy to place. We settled on using a hat as well as designing and printing a 3D mounting arm that would hold the sensor securely. We had to go through several iterations of the arm as well as decide on the best way to connect the wires to the foil so they wouldn't fall out.

Accomplishments that we're proud of

We are proud of the fact that we could solve a real world problem that we think would be applicable to a lot of people who aren't able to communicate. We think that the main point of PennApps is to build a better future and we're proud that we found a real, affecting problem and could solve it effectively.

What we learned

Through rapid prototyping, we learned to think in new ways to tackle difficult problems. We learned how to efficiently work in a group where there is a backend and frontend component to the point where we got a working prototype fairly quickly and could work together to simultaneously to perfect the design!

What's next for Blink!

In the future, we want to simplify the installation method and allow multiple users and login. Instead of using an Arduino and breadboard, we want to create some sort of glasses that would act as a less obtrusive mounting method. In essence, we want to perfect the design so that it could be easily used everywhere.

Thank you!

Clone this wiki locally