Home

Awesome

Python I2C Driver for Sensirion SCD30

This repository contains the Python driver to communicate with the Sensirion SCD30 sensor over I2C.

<center><img src="images/sensor_scd30_image.jpg" width="300px"></center>

Click here to learn more about the Sensirion SCD30 sensor.

The default I²C address of SCD30 is 0x61.

Usage

See user manual at https://sensirion.github.io.

Detaild sensor pinout

<img src="images/scd30_pinout.jpg" width="300px">
PinCable ColorNameDescriptionComments
1redVDDSupply Voltage3.3 to 5.5V
2blackGNDGround
3yellowSCLI2C: Serial clock input
4greenSDAI2C: Serial data input / output
5RDYHigh when data is availabledo not connect
6PWMdo not connect
7blueSELInterface selectPull to ground or floating for I2c

Development

We develop and test this driver using our company internal tools (version control, continuous integration, code review etc.) and automatically synchronize the master branch with GitHub. But this doesn't mean that we don't respond to issues or don't accept pull requests on GitHub. In fact, you're very welcome to open issues or create pull requests :)

Check coding style

The coding style can be checked with flake8:

pip install -e .[test]  # Install requirements
flake8                  # Run style check

In addition, we check the formatting of files with editorconfig-checker:

pip install editorconfig-checker==2.0.3   # Install requirements
editorconfig-checker                      # Run check

Run tests

Unit tests can be run with pytest:

pip install -e .[test]                       # Install requirements
pytest -m "not needs_device"                 # Run tests without hardware
pytest                                       # Run all tests
pytest -m "needs_device"  # Run all tests for SPS6x

The tests with the marker needs_device have following requirements:

Build documentation

The documentation can be built with Sphinx:

python setup.py install                        # Install package
pip install -r docs/requirements.txt           # Install requirements
sphinx-versioning build docs docs/_build/html  # Build documentation

License

See LICENSE.