Introduction: Update ESP8266 Industrial Modbus TCP IP V2.0

Picture of Update ESP8266  Industrial Modbus TCP IP   V2.0

There have been numerous applications in the ESP8266, I have taken as a goal to integrate this module into one of the industrial protocols most commonly used Modbus TCP IP, it would be good to have a node or sensor that sends data or a driver, OPC, PAC, PLC, HMI or SCADA.

More information on this project :

Blog PDAControl English

Blog PDAControl Español

Step 1: Background

Picture of Background

A long time ago I found a group of people in forums.adafruit already had an advance and example have been implemented and improvements suggested by ibbba for the contribution.

The programming code for ESP8266 in this case was implemented in Arduino IDE versions 1.6.4 above. These 2 tutorials indicate connection and basic programming ESP8266 01 and 03 modules.


With the new modifications it has been omitted disconnection allowing a constant flow of communication if stop the connection between the ESP8266 and modbus tcp master mandatory.


He has implemented Ticker library created and documented by igrr, it is an object to call a given function with a certain period. Each Ticker calls a function. You can have as many as you like tickers, the only memory limitation.

Important note: When creating tickers consider not create any delay would affect both modbus communication protocol, such as the execution of that function.

Step 2: Testing Complete : ESP8266 Industrial Slave Modbus TCP IP V2.0

Testing complete : ESP8266 Industrial Slave Modbus TCP IP v2.0

Components and materials required for testing

1- ESP8266 01

1- ESP8266 03

1- Converter TTL -USB


Step 3: Complete Project

Picture of Complete Project

More information and Downloads code on this project :

Blog PDAControl English

Blog PDAControl Español

Youtube Channel PDAControl


MhAero (author)2017-09-22

so good...

how can i send sensor data with esp8266 and how much can it fast for this purpose? (for instance, maximum data size for transferring is 19 byte)

Jhon_Control (author)MhAero2017-09-24

Hello, you can send whole 16-bit registers and you can send boolenaos as integers, I have made tests and improvements on 2 PDAControl and Trialcommand websites.

I have made connections with

Node-RED and OPC-UA, I will soon relizare tests with wifimanager. you can see them in these 2 channels of youtube, and if you want to subscribe.


MhAero (author)Jhon_Control2017-09-24

thank you again ;)

and i have a trouble with esp8266 arduino library, for instance "esp8266wifi.h" and some of other lib. how can i download true library for this module?

MhAero (author)Jhon_Control2017-09-24

perfect, thank you.

About This Instructable



Bio: Share - Learn - Makers. Projects, Articles, #automation, #PLC, #Arduino, #IoT and More PDAControl
More by Jhon_Control:View Dashboards Emoncms & ESP8266 + Arduino #IoTWifiManager + Emoncms (OEM) With ESP8266 (Temperature) #1Introduction Library WifiManager for Esp8266
Add instructable to: