Project home: Original repository at:

Michael Buesch 78f06da789 Use setuptools instead of distutils 1 month ago
debian 016cacb613 debian: Fix control file parsing 6 months ago
doc f2f3d98611 doc: Fix yosys links 3 months ago
examples 8760b66b70 linuxcnc-hal: Provide information about connection status 7 months ago
maintenance 2609ba723c Fix generating documentation 3 months ago
micropython 2d93987064 micropython: Fixes for moved examples 7 months ago
misc 1ed8a3484a Remove Python2/Cython2 support 2 years ago
phy_fpga c478b7cdf9 Update crcgen 6 months ago
pyprofibus 2e2255e526 dpm: Add methods to get connection state 7 months ago
stublibs 18ead5c7c2 stub/configparser: Minor fixes and improvements of error texts 1 year ago
tests bc1490e908 tests: Add testcase for connection status 7 months ago
.gitignore 67495644a2 doc: Convert to RST 1 year ago
.gitmodules d0ef8d44fe fpga: Update makefiles 1 year ago
COPYING 076c799f00 Initial commit 6 years ago 381499d8ca Move LinuxCNC demo to examples directory 7 months ago
README.rst baea2df6e3 Change links to also work in checkout 4 months ago
gsdparser f0bf510eaf gsdparser: Add option to set output file 1 year ago
profisniff 692377512c phy_serial: Some simple speed optimizations 1 year ago
pyprofibus-linuxcnc-hal 899cb8b7f1 linuxcnc-hal: Avoid dead time between connecting and connected state 7 months ago 78f06da789 Use setuptools instead of distutils 1 month ago


pyprofibus - PROFIBUS-DP stack

` `_

pyprofibus is an Open Source `PROFIBUS-DP `_ stack written in Python.


pyprofibus is able to run on any machine that supports Python. It also runs on embedded machines such as the `Raspberry Pi `_ or even tiny microcontrollers such as the `ESP32 `_ (Micropython).

Please read the hardware documentation for more information:

`pyprofibus hardware documentation `_

Speed / Baud rate

The achievable Profibus-DP speed depends on the hardware that it runs on and what kind of serial transceiver is used. There is no software side artificial limit.

Please see the `pyprofibus hardware documentation `_


pyprofibus comes with a couple of examples that can teach you how to use pyprofibus in your project.

* Example that runs pyprofibus without any hardware. This example can be used to play around with pyprofibus.
* examples/
* examples/example_dummy_oneslave.conf
* examples/
* examples/example_dummy_twoslaves.conf
* examples/
* examples/example_dummy_inputonly.conf

* Example that runs pyprofibus as master connected to an ET200S as slave.
* examples/
* examples/example_et200s.conf

* Example that runs pyprofibus as master connected to an S7-315-2DP as *slave*.
* examples/
* examples/example_s7-315-2dp.conf


* `Python `_ 3.5 or later.
* Or alternatively `Micropython `_. Please see the `pyprofibus Micropython help `_ for more information.


Copyright (c) 2013-2022 Michael Buesch

Licensed under the terms of the GNU General Public License version 2, or (at your option) any later version.