The Espressif ESP-Modbus Library (esp-modbus) supports Modbus communication in the networks based on RS485, Wi-Fi, Ethernet interfaces.

Options Of Usage

There are two options for using the ESP-Modbus library in your projects:

  1. Using the freemodbus component included in the current release of ESP-IDF.

    The ESP-IDF component freemodbus included in this release reflects the esp-modbus component of version v1.0.7. This release of the component is used by default in the existing examples mentioned below on this page.

    The downside of this option is that the freemodbus component may not contain the latest fixes from esp-modbus repository. Because of this, it is recommended to use the original esp-modbus component for new projects (the option 2).

  2. Using the esp-modbus component via the component manager instead of freemodbus.

    Additional information for the ESP-Modbus component can be found in the separate repository:

    In order to use esp-modbus component, your application must include the statement below in its CMakeLists.txt file to exclude the freemodbus component from the build. The excluding of the freemodbus component is required to avoid compilation issues when esp-modbus is used in conjunction with the component manager.

    set(EXCLUDE_COMPONENTS freemodbus)

    If your project uses the make build system, the statement below needs to be added into project Makefile:

    EXCLUDE_COMPONENTS := freemodbus

    The main component folder of the new application shall include the component manager manifest file idf_component.yml as below:

       idf: ">=4.1"
          version: "^1.0"

    This option allows to use the latest esp-modbus component updates in any projects based on ESP-IDF versions from v4.1 up to v5.0. Refer to component manager documentation for more information on how to set up the component manager. The esp-modbus component can be found in component manager registry.

Managed Documentation

The component documentation can be found on the link below:

Application Example

The examples below demonstrate the ESP-Modbus library of serial, TCP ports for slave and master implementations accordingly.

Please refer to the specific example for details.