1) I am an international student, and I visit home only once in almost a year. This is one of the biggest challenges for about 5 million students like me, all over the world. This makes phone conversations very important for us because that is the only primary way we connect with our family (video chats are not practical on a daily basis). So I thought it would be really amazing and useful to be able to determine the emotions/feelings while talking to my family(both way exchange). This would not only make our phone conversations more meaningful but would also help us connect better.

Drawing an analogy here, can you imagine your texts(social) without emoticons:/ Yeah, emoticons/emotions can really help people connect better!

As is apparent, this idea of exchanging emotions while talking can be extended to any phone conversation (if you want to:)

2) From here, we extended the idea of analyzing emotional states as in the following cases:

--people who can not speak

--people who suffer from Alzheimer's diseases

These groups of people can't really express their feelings clearly or as well as an average person can. It is very important for their mentors/caretakers to understand their emotional states and mentor them accordingly, so that they do not further undergo life depressing conditions in an already unfortunate plight.

3) Also, this idea of being aware of emotional state can affect our thoughts and feelings, and can have a very positive impact on our lives:

4) Since NeuroSky Mindwave, the hardware that we use, can also detect the attention level of a person, we also determine and send attention alerts of the attention level of


--kids so that their parents can mentor/monitor them better and help them become more productive.(attention alerts sent to parents' pebble watches)

Realizing/Getting alerted of our own attention levels can help us become more productive, reduce distractions and increase our focus level.


How it Works:

We use NeuroSky Brainwave Transmitter to read the raw data on our first Android app. Since this data is in volts, we use FFTBase Java Library to convert it to Hz. We determine the type of the wave based on different hertz values we obtain from the function call. Using these emotional states Based on a combination of the values of waves we are figuring out, the emotional state as closely as possible. (keeping it within certain thresh holds)--. Following links helped us in mapping emotional/psychological states to the frequency of the wave:

1) Next, we send the data to a server that talks to our second android app which intercepts the outgoing call, talks to a pebble watch and sends the frequency and data like simple messages(happy, sad etc) to the pebble watch of the call receiver. This can be implemented both ways by intercepting the incoming call, however, we can demonstrate it only for one way (we have only one hardware set).

2)For the second part, we simply send the emotional states of the one who wears the headband to the person who wears the pebble watch using the above mentioned method.

3)The person who wears the pebble watch and the head band can also be the same person, as is obvious.

4)For the fourth part, we send alert signals using the same path as described above, to send attention alerts from the one who wears the headband to the one who wears the pebble, which can again be the same person or two different people.



Setting up the hardware to get raw data was the toughest part. Tried setting up MatLAB to convert fft signals to hertz, which did not work out. Ended up using a library for the conversion. Since the interface continuously (512 signals per sec) sends signals it was hard to reduce its time span.

Configuring pebble with the android app and have it listen to the server at the same time was also challenging.


Learned a lot about how raw data is processed, and how different frequencies can be used to determine a lot about different neural states.

The Learning Part:

Running into so many challenges, helped in understanding the depth of the entire problem.

What's next for NeuroPebble:

Hoping to get the MatLAB working and set up to have a better way to convert FTT signals to Hertz and map it more closely to the different psychological states. Also, hope to make use of all the signals that Mindwave sends(such as Blink and meditation levels). Figured out a way to get the data, however, this way is not as reliable as the MatLAB FTT conversions.

CODE: --Made use of open source code to build the project on top of it.

Share this project: