Skip to content

Python driver to work with the Sensirion's SFC6xxx mass flow controller or SFM6xxx sensor via UART

License

Notifications You must be signed in to change notification settings

Sensirion/python-uart-sfx6xxx

Repository files navigation

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.

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 evaluation kit cable 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.

RS485 interface pinout

Pin Cable Color Name Description Comments
1 brown VDD Supply Voltage +24V
2 white D+ RS485
3 black D- RS485
4 blue GND Ground

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.