Repository for the PSLab Android App for performing experiments with the Pocket Science Lab open-hardware platform.
This repository holds the Android App for performing experiments with PSLab. PSLab is a tiny pocket science lab that provides an array of equipment for doing science and engineering experiments. It can function like an oscilloscope, waveform generator, frequency counter, programmable voltage and current source and also as a data logger. Our website is at https://pslab.io
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Feature | Description | Status |
---|---|---|
Home Screen | Show status and version of PSLab device | ✔️ |
Instruments | Exposes PSLab instruments like Oscilloscope, etc | ✔️ |
Oscilloscope | Shows variation of analog signals | ✔️ |
Multimeter | Measures voltage, current, resistance and capacitance | ✔️ |
Logical Analyzer | Captures and displays signals from digital system | ✔️ |
Wave Generator | Generates arbitrary analog and digital waveforms | ✔️ |
Power Source | Generates programmable voltage and currents | ✔️ |
Luxmeter | Measures the ambient light intensity | ✔️ |
Barometer | Measures the Pressure | ✔️ |
Accelerometer | Measures the acceleration of the device | ✔️ |
Gyrometer | Measures the rate of rotation | ✔️ |
Compass | Measures the absolute rotation relative to earth magnetic poles | ✔️ |
Thermometer | Measures the ambient temperature | ✔️ |
Gas Sensor | Detects gases, including NH3, NOx, alcohol, benzene, smoke and CO2 | ✔️ |
Robotic Arm Controller | Allows to control 4 servo motors of the robotic arm independently | ✔️ |
There are 2 flavors (build variants) of PSLab Android application.
Before you begin, you should already have the Android Studio SDK downloaded and set up correctly. You can find a guide on how to do this here: Setting up Android Studio
For setting up the PSLab Android project you may follow any of the two methods listed below, that is, you may download the repository zip file or you may directly clone the repository to Android Studio.
Download the pslab-android project source. You can do this either by forking and cloning the repository (recommended if you plan on pushing changes) or by downloading it as a ZIP file and extracting it.
Open Android Studio, you will see a Welcome to Android window. Under Quick Start, select _Import Project (Eclipse ADT, Gradle, etc.)To debug over Wi-Fi follow the steps given in this Blog.
If you want build apk only, go to Build>Build apk and apk would be build and directory where apk is generated would be prompted by Android Studio.
You can't debug the usual way as PSLab device is connected to micro-USB port through OTG cable. So Android Device is not connected to PC through USB cable.
To debug over Wi-Fi follow the steps given in this Blog.
To use PSLab device with Android, you simply need an OTG cable, an Android Device with USB Host feature enabled ( most modern phones have OTG support ) and PSLab Android App. Connect PSLab device to Android Phone via OTG cable. Rest is handled by App itself.
Please help us follow the best practice to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.
Fixes #<issue number> <commit message>
git squash
?As a tip for new developers those who struggle with squashing commits into one, multiple commits may appear in your pull request mostly due to following reasons.
git add
ing.Despite any reason, follow the steps given below to squash all commits into one adhering to our best practices.
$ git remote add upstream https://github.com/fossasia/pslab-android.git
$ git checkout <branch-name>
$ git reset --soft upstream/development
$ git add <file paths or "." to add everything>
$ git commit -m "tag: commit message"
$ git push -f origin <branch-name>
We have the following branches
Please try to follow the mentioned guidelines while writing and submitting your code as it makes easier for the reviewer and other developers to understand.
activity_oscilloscope.xml
, fragment_control_main.xml
.spinner_channel_select_la1
, button_activity_oscilloscope1
.ChannelsParameterFragment.java
corresponding to the layout file fragment_channels_parameter.xml
.spinnerChannelSelect1
corresponding to spinner_channel_select1
.The project is maintained by
This project is currently licensed under the Apache License 2.0. A copy of LICENSE is to be present along with the source code. To obtain the software under a different license, please contact FOSSASIA.