Home

Awesome

Python UART Driver for Sensirion SFX6XXX

This repository contains the Python driver to communicate with a Sensirion mass flow controller of the SFC6XXX family or a gas flow sensor of the SFM6XXX family over UART using the SHDLC protocol.

<center><img src="images/product-image-sfx6xxx.png" width="300px"></center>

Click here to learn more about the Sensirion SFC6XXX mass flow controller family.

Click here to learn more about the Sensirion SFM6XXX gas flow sensor family.

Supported sensor types

The following instructions and examples use a SFC6000.

Connect the sensor

The sensor needs to be connected to a 24V power supply. Plug in the <a href="https://sensirion.com/products/catalog/EK-F5x">evaluation kit cable</a> to power and connect the USB port to your Raspberry Pi.

Please note that due to the delays introduced by the FTDI driver you can reach a maximum sampling frequency of about 20Hz with this setup.

For special setups check out the sensor pinout in the section below.

<details><summary>RS485 interface pinout</summary> <p> <img src="images/product-pinout-sfx6xxx.png" width="300px">
PinCable ColorNameDescriptionComments
1brownVDDSupply Voltage+24V
2whiteD+RS485
3blackD-RS485
4blueGNDGround
</p> </details>

Documentation & Quickstart

See the documentation page for an API description and a quickstart example.

Contributing

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

License

See LICENSE.