Espressif offers a MODBUS stack in the form of a component in the ESP-IDF (Espressif IoT Development Framework). This is based on the FreeMODBUS stack, a free implementation of the MODBUS protocol by embedded experts an Austrian company. The FreeMODBUS is specially targeted for embedded systems and therefore fits perfectly for industrial projects using Espressif controllers.
The ESP-Modbus supports RTU/ASCII transmission modes as well as MODBUS TCP.
Development Environment #
With the freemodbus component from Espressif the Modbus protocol can generally be used on all ESP32 variants. Software examples, integrated in the ESP-IDF, help developers to use and implement the protocol in their own projects. These examples are currently available for ESP32 and ESP32-S2 cores.
A detailed description of components and how to include them in your own projects is also available in the ESP-IDF Programming Guide under “API Guides -> Build System”.
Keep in mind that for serial transmission an additional external RS485 line driver is needed.
Further it is important to mention that in the ESP32-S2 series (in comparison to the ESP32) no Ethernet MAC is integrated. Therefore Modbus TCP can only be used via WiFi or an external Ethernet controller.
To get started with Espressif development environment check out also our other docs regarding Espressif.