Need help with pslab-iOS?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

651 Stars 4 Forks Apache License 2.0 6 Commits 2 Opened issues



Services available


Need anything else?

Contributors list


Repository for the PSLab iOS App for performing experiments with the Pocket Science Lab open-hardware platform.

Build Status Gitter Codacy Badge Mailing List Twitter Follow

This repository holds the iOS 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




  • [x] First we need to get communication between Android App and PSLab working.
  • [ ] Implement Applications and expose PSLab Hardware functionality to the user.
  • [ ] Implement Functionality to Perform Experiment using PSLab Hardware Device.


| Feature | Description | Status | |------------------|-----------------------------------------------------------|------------------------------------------| | Home Screen | Show status and version of PSLab device | :negativesquaredcrossmark: | | Instruments | Exposes PSLab instruments like Oscilloscope, etc | :negativesquaredcrossmark: | | Oscilloscope | Shows variation of analog signals | :negativesquaredcrossmark: | | Multimeter | Measures voltage, current, resistance and capacitance | :negativesquaredcrossmark: | | Logical Analyzer | Captures and displays signals from digital system | :negativesquaredcrossmark: | | Wave Generator | Generates arbitrary analog and digital waveforms | :negativesquaredcrossmark: | | Power Source | Generates programmable voltage and currents | :negativesquaredcrossmark: | | Lux Meter | Measures the ambient light intensity | :negativesquaredcrossmark: |

How to set up the iOS app in your development environment


  • iOS 12.0+
  • Xcode 10.0+

Development Setup

Before you begin, you should already have the Xcode downloaded and set up correctly. You can find a guide on how to do this here: Setting up Xcode

       Steps to install Cocoapods (one time installation)
  • Run

    sudo gem install cocoapods
    to install the latest version of cocoapods. To install cocoapods from HomeBrew,
    brew install cocoapods
  • Next, run

    pod setup
    for setting up cocoapods master repo. You may include
    for more descriptive logs. NOTE: This might take a while to setup depending on your network speed.

Setting up the iOS Project

  1. Download the pslab-iOS 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. OR

    $ git clone
  2. Navigate to the unzipped folder and run

    pod install
  3. Open

    from the folder.
  4. Build the project (⌘+B) and check for any errors.

  5. Run the app (⌘+R).and test it.

Setup to use PSLab with iOS App

To use PSLab device with iOS, you need to have the Apple Lightning connector. Connect PSLab device to iOS Phone via Lightning connector. Rest is handled by App itself.

Contributions Best Practices

Code practices

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.

  • Single commit per pull request
  • Reference the issue numbers in the commit message. Follow the pattern
    Fixes # 
  • Follow uniform design practices. The design language must be consistent throughout the app.
  • The pull request will not get merged until and unless the commits are squashed. In case there are multiple commits on the PR, the commit author needs to squash them and not the maintainers cherrypicking and merging squashes.
  • If the PR is related to any front end change, please attach relevant screenshots in the pull request description.

How to
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.

  • Intentionally adding multiple commit messages after each change without just
    git add
  • Updating the current branch with the remote so a merge commit takes place.

Despite any reason, follow the steps given below to squash all commits into one adhering to our best practices.

  • Setup remote to upstream branch if not set before;

$ git remote add upstream
  • Check into the branch related to the pull request

$ git checkout 
  • Perform a soft reset to retain the changes while removing all the commit details

$ git reset --soft upstream/development
  • Add files to the staging area

$ git add 
  • Create a new commit with a proper message following commit message guidelines

$ git commit -m "tag: commit message"
  • If you have already made a pull request,

$ git push -f origin 

Branch Policy

We have the following branches * development All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to development. Make sure it passes a build check on Travis.

  • master This contains the stable code. After significant features/bugfixes are accumulated on development, we move it to master.

Code style


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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.