FOSSASIA PSLab, GSoC-16 : Mid Term Report

I feel lucky and proud to be one among very few who get this rare opportunity of GSoC intern-ship for the third time. Thanks a billion to my source of inspiration and mentors Mario Behling and Hong Phuc Dang from FOSSASIA.

FOSSASIA has undertaken and is supporting many projects which have a potential of bringing a positive social change. ‘ExpEYES : Open Source Science Lab’ is one such project FOSSASIA is supporting since 2014. As a part of GSoC-14 and GSoC-15 we started actively developing Pocket Science Lab as  FOSSASIA’s  important project in the field of science education. The objective of this development was to make available the  most affordable, open source pocket  lab which can help  millions of students all over the world to  learn science by exploring and experimenting.

After FOSSASIA-2016 at Singapore, my mentor Mario gave  many new ideas/plans for making Fossasia Science Lab project more effective and to reach out to students in Asian region.  We started exploring possibilities of adding new tools/sensors and also  developing a new lab interface with higher capabilities to be added to FOSSASIA Science Lab.

On 23rd April 2016 the student projects were announced. I was extremely happy to see my name in the list. I was also excited to see Lorenz Gerber, with amazing profile in science research and Gi Soong Chi along with Mario Behling as my mentors.

Here is the link to details  my GSoC-16 project …….

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”5768018f684ba”][wmd-toggle-tab title=”Open Source Science Experiments & Data Acquisition System for Physics Education and Research with ExpEYES – Pocket Science Lab”]Pocket Science Lab at FOSSASIA aims to develop open source hardware %26 software technology to improve science education in the developing world. The main component of PSL is ExpEYES%2C an open source hardware and software framework for developing science experiments. %28http%3A%2F%2Fexpeyes.in%29%0D%0A%0D%0AThis proposal aims to develop open science experiments for various branches of Physics. It also aims to continue improvements in the work done during my GSoC-2015 project %E2%80%9CSensor Plug-ins%2C Add-on devices and GUI Improvements for ExpEYES%E2%80%9D %28https%3A%2F%2Fgoo.gl%2F2B2CNO%29. The sensor plug-ins developed during GSoC-2015 project will be used for designing new low-cost experimental set-ups.%0D%0A%0D%0AThe new development that will be undertaken is adding wireless node module for accessing sensors with PSL. This will enable PSL to fetch data from various sensors wirelessly and it will be useful in many experiments involving oscillatory and rotatory motions. Development of low cost modules for characterization in Physics research for example – study of sound and light absorption%2C measurement of thermal conductivity etc%2C is yet another important feature of this project.%0D%0A[/wmd-toggle-tab][/wmd-toggle]

Immediately after the student project announcement I started working on the project and exploring the experiments that can be added to ExpEYES. My goal for this year’s project was to continue the work I had done during previous GSoC and to add new experiments to the ExpEYES library. I also started working on new lab interface.  Here is my work space, my GSoC Lab  🙂

kitchenlab1

Kitchen converted to GSoC-16 Lab 🙂 Linear Air track for mechanics experiments, super-critical dryer which uses PSLab for temperature control and monitoring with other instruments.

In the month of May-16, I spent few days at IUAC – Inter University Accelerator Centre, New Delhi, to work with Dr. Ajith Kumar ( Inventor of Expeyes). The time spent at IUAC was most useful as we got help and inputs from many people at IUAC and also the participant teachers of ExpEYES training programme. We designed some new experiments to be done with ExpEYES. Planned improvements in Mechanics experiments especially the experiments on linear air track. We also started working on the new lab interface . Thanks to Jithin B.P.   for helping us out with the hardware part. With the continuous collective efforts now we have a new lab interface  “PSLab : Pocket Science Lab from FOSSASIA

It was little too hectic time as I had to work for my PhD project and had to present my work before Research Review committee meetings in the last week of May and then got excessively busy with college admissions process. As a result I could not communicate much about the work I have been doing.

Here I am trying to give all the details of the equipment and the development done so far and the things planned for next couple of months…

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”5768026681211″][wmd-toggle-tab title=”PSLab : Pocket Science Lab from Fossasia”]Brand new open source lab interface for science and engineering experiments from FOSSASIA.[/wmd-toggle-tab][/wmd-toggle]

with fossasia logo stickerpslabopen psl2
Size of PSLab is 62mmx78mmx13mm. The front panel will be slightly different than the one in the picture. It will have little extra portion in the top right corner to accommodative 90 degree connector pins. something like this….
pslab
We will finalize the front panel design in a week and get the panels screen printed. The sample kits will be sent to my mentors for testing and suggestions 🙂

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”57682050c93a0″][wmd-toggle-tab title=” Main Features and GUI\’s developed”/][/wmd-toggle]

PSLab can function like an oscilloscope, data logger, waveform generator, frequency counter, programmable voltage source etc. It can be plugged in to USB port of PC or SBC’s like Raspberry Pi.

It has

  • 2 variable sine waves
  • 4 programmable  square wave generators
  • 3 programmable voltage sources
  • Programmable constant current source
  • 4 channels for fetching data
  • Sensor input
  • Berg Strip sockets

We are also working on to add wireless sensor interface. This will enable PSLab in accessing various sensors using wireless module.

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”57682f2aacbb3″][wmd-toggle-tab title=”PSLab Code repository , Installation and Communicating with PSLab”/][/wmd-toggle]

All the programs are written in Python. PyQt is used for GUI designing and Pyqtgraph is used for plotting library.

I have created two repositories  for PSLab

: This repo hosts the python library for PSLab (Communication Library depends on python, python-serial, python-numpy)

: GUI programs and templates for various experiments. (Depends on python-pyqtgraph (>=0.9.10), python-qt4 (>=4.10), ipython(>=1.2), ipython-qtconsole(>=1.2)

To Install PSLab in Gnu/Linux

Clone both the repositories fossasia-pslab-apps and fossasia-pslab

Now, cd into the directories , and run

sudo make clean
sudo make install

Now you can run Experiments.py from terminal

Without the device connected to the pc you will first get the following flash screen.

SplashNotConnected

After clicking OK you will get the control panel with menus for Experiments, Controls, Advanced Controls and Help… ( Help files are yet to be written)

controlPanelNotConnected

Once the device is connected to the PC and program Experiments.py is run from the terminal…. one will be able to get the following….

SplashScreen

PSLab Splash Screen

#TO Do … Design new splash screen with PSLab Logo/relevant image.

 

controlpanel

From this control panel one can access various experiments through independent GUI’s written for each experiment.

After installing the library, you may test it using simple Python programs. If you have python-matplotlib installed, run the code listed below

# connect sine1 to CH1
 
 from pylab import *
 from PSL import sciencelab
 p = sciencelab.connect(verbose = False)  
 p.set_gain('CH1', 3)           # set input CH1 to +/-4V range
 p.set_sine1(1000)              # generate 1kHz sine wave on output W1
 t,v1 = p.capture1('CH1', 1000, 10)    # digitize CH1 1000 times, with 10 usec interval
 plot(t, v1)
 show()
 

The output of this program is here ......
 sine-plot

sine plot

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”5768419680c0e”][wmd-toggle-tab title=”Various other functions with GUI\’s”/][/wmd-toggle]

Controls available with PSLab…. and various other GUI’s

sinewaveonoscilloscope

Sine wave generated using control Wave 1 and displayed using CH1

pslaboscilloscope

FOSSASIA PSLab Oscilloscope

 

advanced controls

Advanced Controls

 

logicanalyzer

FOSSASIA PSLab Logic Analyser

One of my favourite experiment Lissajous Figures has become so easy with PSLab…. 🙂

lissajous2

Lissa1

 

lissajous1

Lissa2

 

datastreaming

Data streaming

sensordataloger

Data Logger

squarewave

wirelesssensordataloger

GUI for wireless sensors …. TO DO

In addition to the above development work we also conducted  a few demonstration sessions in science and engineering colleges at Belgaum, India. The feedback from teachers and students in improving the kit  is really helpful in modifying the GUI’s for better user experience.

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”57682b0deed55″][wmd-toggle-tab title=”Plan for next two months…….”/][/wmd-toggle]

  • Add new experiments to PSLab
  • Complete Voltammetry module for ExpEYES
  • Complete Unified GUI for all  Mechanics Experiments using ExpEYES
  • Documentation for PSLab

We are  getting about 25 PSLab  kits ready in the first batch by the end of this month. Thanks to funding from GSoC-15 🙂 Need to work on the PSL@Fossasia website.

Next immediate plan is to get about 100kits ready  and update the website with all the information and user manuals before FOSSASIA-17. It will be a good idea to officially launch this tool during next FOSSASIA 🙂

I am also working on a plan to reach-out to  maximum number of science and engineering students who will definitely get benefit from PSLab 🙂