Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Jaideep Prasad | @jddeep

Google summer of Code banner

Google Summer of Code 2019 - Work product summary

Student Name:

Jaideep Prasad (@jddeep)

Organization:

FOSSASIA

Project:

NeuroLab Android

Mentors:

Lorenz Gerber, Alessandro Volpato, Daniel J Blueman, Madhushanka Padmal, Avjeet Singh, Mishari Muqbil, Mario Behling

Overview

NeuroLab is an open sourced hardware measurement headset device for brain waves that can be plugged into an Android smartphone or a desktop platform for understanding our brain better by processing the brain activity data. This summer I worked with FOSSASIA on the Android application for NeuroLab. There was already a desktop application developed in java implemented with various features. My project proposal was about porting and implementing the major features along with audio and visual feedback into the Android application which I had to develop from scratch. It was a great experience for me working on this project with guidance from my helpful mentors. My skillset got widened and I learned a lot while working on the project. Overall an amazing summer of code spent with FOSSASIA.

Project contributions and Goals achieved

Community Bonding:

My work towards the NeuroLab Android project had started much prior to GSoC official period. I got familiar with the codebase and tried to understand the app flow which we would like to achieve in the end. I started off with porting necessary classes from the desktop app which would serve as a base for the Android app features. In the bonding period, I started developing the skeleton of the app user interface with basic functionalities and finished off with porting necessary classes and interfaces.

Goals achieved during this period:

  • Program modes and features decided
  • Launcher screen user interface with utility navigation drawer
  • Showcasing initial game rocket animation in focus mode
  • Adding Splash screen and Feedback settings in app
  • Finishing off with porting classes and interfaces from the desktop repository

Screenshots:


Phase 1:

GSoC officially begins. Coding period 1. It took me a bit of reasearch time initially to understand more clearly the motive of some parts and features of the app. But once that was done, I started moving forward with pace implementing the visioned features in the app and setting things up for next stages.

Goals achieved during this period:

  • Researching on more such projects and android apps in the market
  • Developing individual program modes
  • Implementing the relax animation game skeleton
  • Created the idea of Memory Graph mode combining VJ and Serial modes into account
  • Android-Arduino code for UART testing and serial communication
  • Fixing and updating code so far with improvements

Screenshots:


Phase 2:

GSoC coding period 2. Now after having made the vision for the project more clear, I started working towards using actual EEG datasets in the program modes. Then, I started working with the Memory graph program mode, making it functional, usable, giving it a UX/UI.

Goals achieved during this period:

  • Adding EEG datasets for testing and developing features
  • Implemented Memory Graph program mode with Statistics and Density spectrum
  • Created custom data processors for brain wave data plotting
  • Implemented functionalities like play, stop in the Memory Graph program mode
  • Implemented device connection and usb classes for communication
  • Revamping the Launcher screen of NeuroLab
  • Implemented the recording feature and Data Logger

Screenshots:


Phase 3:

GSoC coding period 3. During this period, I worked on some major features like the Focus mode game animation, updated the data processing code, revamped the Memory Graph mode and some other activity screens. This being officially the final coding period for GSoC 2019, I also had to take care of all the code from Phase 1 and 2, improve wherever necessary and document the project overview at the end.

Goals achieved during this period:

  • Developed the Focus program mode with game animation
  • Worked on Data processing using FFT for getting frequencies
  • Revamped Data Logger with specific program playback feature and more
  • Developing the structure/skeleton of Meditation program mode
  • Improved Memory Graph program mode
  • Fixing bugs, adding UI features and updates like the Developer mode, focus game updates, Pin layout screens, etc.
  • Updated project documentation, brushing up the code and fine tuning the app

Screenshots:


Code Contributions:


Outreach Events:


Screencasts

Presentation

Additional Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment