fossasia / pslab-python

Python Library for PSLab Desktop: https://pslab.io
GNU General Public License v3.0
1.63k stars 225 forks source link

PSLab Python Library

The Python library for the Pocket Science Lab from FOSSASIA.

Build Status Gitter Codacy Badge Mailing List Twitter Follow

This repository hosts the Python library for communicating with the Pocket Science Lab open hardware platform (PSLab). Using this library you can communicate with the PSLab using simple Python code. The Python library is also used by the PSLab GUI as a backend component.

The goal of PSLab is to create an Open Source hardware device (open on all layers) and software applications that can be used for experiments by teachers, students and scientists. Our tiny pocket lab provides an array of instruments for doing science and engineering experiments. It provides functions of numerous measurement tools including an oscilloscope, a waveform generator, a logic analyzer, a programmable voltage and current source, and even a component to control robots with up to four servos.

For more information see https://pslab.io.

Buy

Installation

pslab-python can be installed from PyPI:

$ pip install pslab

Note: Linux users must either install a udev rule by running 'pslab install' as root, or be part of the 'dialout' group in order for pslab-python to be able to communicate with the PSLab device.

Note: Windows users who use the PSLab v6 device must download and install the CP210x Windows Drivers from the Silicon Labs website in order for pslab-python to be able to communicate with the PSLab device.

Note: If you are only interested in using PSLab as an acquisition device without a display/GUI, only pslab-python needs to be installed. If you would like a GUI, install the pslab-desktop app and follow the instructions of the Readme in that repo.

Validate installation

  1. Plug in the PSLab device and check that both the LEDs light up.
  2. The following piece of code should run without errors:
    from pslab import ScienceLab
    psl = ScienceLab()
    capacitance = psl.multimeter.measure_capacitance()
    print(capacitance)

Communication

Wherever we interact, we strive to follow the FOSSASIA Code of Conduct.

Contributing

See CONTRIBUTING.md to get started.

License

Copyright (C) 2014-2021 FOSSASIA

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.