Skip to content
PSLab Desktop Application
Branch: v2
Clone or download

PSLab Desktop ♊️

Electron desktop application for an awesome open-hardware platform. Made with love 💜

Build Status Gitter Codacy Badge Mailing List Twitter Follow pslab

This project is a reimplementation of the PSLab Desktop orginally developed using the python stack. As of now, we are working on replicating features of the android app one by one.

The goal of PSLab is to create an Open Source hardware device (open on all layers) that can be used for experiments by teachers, students and citizen scientists. Our tiny pocket lab provides an array of sensors for doing science and engineering experiments. It provides functions of numerous measurement devices including an oscilloscope, a waveform generator, a frequency counter, a programmable voltage, current source and as a data logger.

We are developing the experiments starting on the hardware to libraries and user interfaces for desktop PCs and Android apps for smartphones. The PSLab project is inspired by the work of the Open Science Hardware community and the ExpEYES project. Our website is at:


Please join us on the following channels:

How to contribute

In order to contribute, we would recommend you to first read the community guidelines as stated by FOSSASIA.

Setup 🤘

  1. Fork the project to get a copy of the repository in your github profile.
  2. Clone the copied project from your profile ( Not the original repository from FOSSASIA ).
  3. cd into your project folder.
  4. git remote add upstream This command will set up the upsteam link.

Installation ❄️

While in your project folder

npm install

This command will install all the necessary dependencies required by the electron app to run.

As this app uses the PSL library under the hood for device communication, you'll have to install it as well. The instructions to install it are provided here. After installation of PSL make sure you can property import it in Python3. Run the following command in your bash shell.

>>> from PSL import sciencelab

If this command runs without throwing an error, then we are good to go.

Starting the app ⚡️

Everything command to start and debug the app are writen in package.json. To simply get it running run the following command while in your project repository.

npm start

And wait for the electron shell to open. Happy coding! 🔥

Deploying for production

Currently the build pipeline spits a debian and a snap file that can be installed on any debian based distro

Build Step for Linux ( Debian bases OS ) 🔰

While in the project root

npm run build

This command will produce a build and a dist directory inside the project folder. The build folder contains the optimized react files, while the dist folder contains the final electron installer.

To pulish the app on snap store, follow the steps mentioned in the link


Based on your preference, you can either install the app directly from the debian file produced in the previous step or from online servers.

Install from file ( Linux ) 🐧

The debian file thus produced can be installed from the command line using

sudo dpkg -i <deb-file-name>

Installation from snap store ( Linux ) 🐧

The stable builds are published by our maintainers and can be installed from the command line using

sudo snap install pslab --edge

If you prefer installing it from GUI, you can click the button below

Get it from the Snap Store

For testing purpose, you can install the snap package generated by the above command using:

sudo snap install --dangerous --classic <snap-package-name>
You can’t perform that action at this time.