On this page you find our ideas for the next step in our roadmap. Please use these ideas to define a project for collaborating with us in the PSLab Internship program or in Google Summer of Code (if accepted).

You can apply for internships here.

Should PSLab be accepted into GSoC you can sign up here.

PSLab Firmware

The firmware of the PSLab device is already in a very stable state. It has features that can be used as a data logger and support the attachment of a screen. These features haven’t been tested widely and it should be able to control components through small buttons on the device. Controlling data logger functionalities through externally through the Android app, desktop or iOS via USB, WiFi or Bluetooth also should be possible as well as scheduling data logging and interval measurements.

Required Features to be Developed:

  • Implement use device as “data logger”
  • Add support for MiniSD card
  • Implement support for “record and play data”
  • Implement support for time and date
  • Implement record at certain times and interval
  • Implement “send data to device or net address using WiFi or Bluetooth”

Repository and Issue Tracker: https://github.com/fossasia/pslab-firmware

Prerequisite Knowledge: Technology C

Possible Mentors: Lorenz Gerber,M Padmal, Wei Tat Chung, Haggen So

PSLab Android

Many instruments have been improved and new ones implemented. A number of additional instruments are still high on the wishlist of many users including ph meter, magnetometer and a distance measurement tool. Users also want to build experiments using different instruments at the same time and we need a section to be implemented for this new functionality. The Android app has seen big improvements and exciting features have been implemented over the last year, including recording, export and mapping features. These features have not been implemented in all instruments yet and there is work left here. Some areas also need improvements in regards to speed which are related to slower provision of map APIs of OSM for example. Furthermore we need more professional features like the ability to schedule experiments and to run them in intervals. Also exporting in other formats like JSON and Matlab, syncing and backup features are important. Finally the configuration of PSLab and the setup of the PSLab device via WiFi or Bluetooth as a data logger while unconnected needs to be developed.

Required Features to be Developed:

  • Implement connect to device via Bluetooth or WiFi
  • Implement setup device with ESP and provide all info on required steps in detail
  • Implement export, settings, maps in all instruments
  • Offer choice of Google Maps or OpenStreetMap in App settings
  • Provide API to login and connect to external service and sync data
  • Implement backup to Google Drive
  • Add section “build experiments with several instruments”
  • Add instruments: PH Meter, Magnetometer, Distance Measurements
  • Implement Interval Recording, e.g. record every 10 minutes for 10 seconds
  • Sensors: Provide a way to collect and store data
  • Add section “build experiments with several instruments” following existing approach
  • Implement configuration of device as independent data logger, e.g. device runs independently and records data in intervals, for a specific time etc.

Repository and Issue Tracker: https://github.com/fossasia/pslab-android
Google Play: https://play.google.com/store/apps/details?id=io.pslab
Fdroid: https://f-droid.org/packages/io.pslab/

Prerequisite Technology: Java and Kotlin

Possible Mentors: Wong Wan Leung, Lorenz Gerber,M Padmal, Wei Tat Chung

PSLab Desktop App

The goal of the next steps in the development of the desktop app is to follow the design approach of the Android app, implement export capabilities, the ability to connect it with the web app and reach feature parity with Android. Furthermore the goal is to enable building experiments with several instruments and accessing functionalities through the terminal. The desktop was developed firstly for Linux systems. It is rather complex to setup and using outdated versions of Python and libraries resulting on unexpected crashes. A main objective is therefore also to enhance stability and to automatically build packages for Linux, Windows and MacOS.

Required Features to be Developed:

  • Adjust and implement architecture to enable the build of cross desktop desktop application for: Linux, Windows, MacOS
  • Automatically build deb and other Linux packages on each merged PR
  • Automatically build Windows exe or msi file on each merged PR
  • Automatically build a Mac dmg file on each merged PR
  • Design app according to instruments similar to Android app
  • Add section “build experiments with several instruments” following existing approach
  • Provide an external repository to add to Linux systems
  • Provide documentation to make experiments with the application
  • Add export capabilities, e.g. Matlab, CSV, JSON etc.
  • Add terminal access (terminal in graphical UI)

Repository and Issue Tracker:

Prerequisite Knowledge: Python, APIs

Possible Mentors: M Padmal, Wong Wan Leung

PSLab Web App

The goal of the web app project is to enable different people to store their data independently of the device they use, to enable them to collect data from external devices (connected to a network via WiFi/Bluetooth) in the field and to collect and share data of groups. Sharing of data should be done through tables and spreadsheets and visualized on maps and charts/diagrams.

Required Features to be Developed:

  • Implement Backend (API centric) and Frontend
  • Convert Frontend to ReactJS
  • Enhance account features, signup, login, passwords, store personal info, connect to social media accounts
  • Implement “add device to your account”
  • Implement API to store app settings (Android)
  • Implement API to store and sync instrument data
  • Implement Export to Google Docs
  • Implement backup to Google Drive
  • Implement group features: Group Admin, show data of all groups
  • Implement show data on maps, take inspiration at http://aqicn.org
  • Implement visualization of data on charts and diagrams
  • Implement labeling of data, e.g. PH data etc.
  • Implement storing data according to instruments of Android app
  • Add export capabilities, e.g. Matlab, CSV, JSON etc.
  • Implement Interval Recording, e.g. record every 10 minutes for 10 seconds
  • Implement configuration of device as independent data logger, e.g. device runs independently and records data in intervals, for a specific time etc.
  • Implement “Admin section” to store system configurations and system data, e.g. users, experiments (including deleted experiments), media storage, email service etc. (compare to open event admin)
  • Implement private area where users can store data that is not public

Repository and Issue Tracker: https://github.com/fossasia/pslab-webapp

Prerequisite Knowledge/Technology: Python, Flask, ReactJS

Possible Mentors: Lorenz Gerber, M Padmal, Wei Tat Chung

PSLab iOS

The goal of the iOS app development is to reach feature parity with the Android app.

Repository and Issue Tracker: https://github.com/fossasia/pslab-iOS

Prerequisite Knowledge/Technology: Swift

Possible Mentors: Jogendra, Lorenz Gerber, M Padmal, Wei Tat Chung

PSLab Hardware

PSLab V1

  • Define: What enhancements can be done with the current layout?
  • Implement play, stop/record buttons
  • Add MiniSD card slot
  • Implement support for USB-C and increase measurement range
    • What can USB-C provide additionally
    • Define what ranges / features will be improved
  • Include additional sensor/components, e.g.
    • Temperature
    • Motion Sensor (what technology)
    • Infrared Sensor to measure distance
    • Magnetometer
    • Light sensor
    • LED module
    • Humidity sensor
  • Implement support for digital sensors: What is specifically missing in the UART implementation? E.g. why can’t we use digital humidity sensor using the serial port.
  • Add RTC – use phone to synchronize
  • Add GPS module for timing – synchronous timing

PSLab V2

  • Develop the next version of PSLab using an ARM chip, possibly: LPC43S70FET256: 32-bit ARM Cortex-M4 + 2 x M0 MCU; 282 kB SRAM; Ethernet; two HS USBs; 80 Msps 12-bit ADC; configurable peripherals, AES engine (Issue)
  • Define: What can we achieve additionally?

Repository and Issue Tracker: https://github.com/fossasia/pslab-hardware

Prerequisite Knowledge: C, Firmware Development

Possible Mentors: Mitch Altman, Lorenz Gerber, M Padmal, Wei Tat Chung

Neurolab

The goal of the Neurolab project is to develop an easy to use open hardware measurement headset device for brain waves that can be plugged into an Android smartphone and a software application and enables us to understand our brains better.

Our brains communicate through neurotransmitters and their activity emits electricity. The neuroheadset measures that electricity on the skin of the forehead and the software processes the signal so that it can translated into a visual or auditory representation. The data that can be collected can be analysed to identify mental health, stress, relaxation and even diseases like Alzheimer.

Current devices in the medical industry are usually not accessible by doctors due to their high pricing. They are also complicated to use. The idea of the device is to integrate it into a headband and focus on signals that can be obtained through the frontal lobe.

A difference to existing projects like OpenBCI is that it will not be necessary to 3D print large headsets. Instead we are focusing on creating a device that collects as much data as possible through the forehead. To achieve this goal we are using high-grade sensors and flexible electronics.

Required Features to be Developed:

  • Implement a firmware for alternative ICs to AD7173 and OPA2111
  • Implement Neurolab visual feedback in Android app
  • Implement Neurolab audio feedback in Android app
  • Update Neurolab desktop app to using latest libraries and Java version
  • Provide Neurolab desktop packages for Linux, Windows and Mac
  • Automatically build desktop packages on each merged PR for all major platforms

Repositories and Issue Tracker:

Neurolab Android https://github.com/fossasia/neurolab-android
Neurolab Desktop https://github.com/fossasia/neurolab-desktop
Neurolab Firmware https://github.com/fossasia/neurolab-firmware
Neurolab Hardware https://github.com/fossasia/neurolab-hardware

Prerequisite Knowledge: Java, Kotlin, Desktop technologies, C

Possible Mentors: Mitch Altman, Lorenz Gerber, M Padmal, Wei Tat Chung

Close Menu