Industrial Shields Esp32 PLC Family

Hello, I am building a control system for a greenhouse and I am using Industrial shields (brand) Esp32 Plc family. I am trying to make it work with blynk but I think the libraries can’t work with this board. Can I try anything?

This below link said that it is same as esp32, but need check another sites before buying- it is expensive module.

That’s the thing I already buy it. I have to use this PLC because it’s for industrial greenhouse and I need the certifications of the unit. I can use the esp32 library of the arduino and it works fine but the PLC has it’s own package board for the arduino IDE , company recommend to use their library because it implements some features and failsafes, Thank you by the way for your fast reply I appreciate it.

Seeing the Blynk sketch that you’ve tried (unsuccessfully) would probably be a good starting point, along with details of what you see in the serial monitor when you do try it.


1 Like

Hello Pete , it’s my first time i open a thread so i apologize if i am going to make it hard for you guys.
So i am using a simple led blink project because it does not make any difference. IF i use board option Esp32-WROOM my code works fine and i can do anything with the PLC but when i use the PLCs board recommended by the company i get this error…

#define BLYNK_DEVICE_NAME "BioProcess Control"
#define BLYNK_AUTH_TOKEN "xxx"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "xxxx";
char pass[] = "xxxx";
WidgetLED led1(V1);
BlynkTimer timer;
void blinkLedWidget()
  if (led1.getValue()) {;
    Serial.println("LED on V1: off");
  } else {
    Serial.println("LED on V1: on");
void setup()
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(1000L, blinkLedWidget);
void loop()

First of all, your compiler error message is pretty-much unreadable. You should copy the Output text below and paste it between triple backticks.

Secondly, you appear to be getting confused between libraries and board definition files.
You’ve said that…

That’s a perfectly sensible statement, but the OTA example I’ve seen on the industrialshields website actually says…

The example uses the original Arduino ESP32 libraries:

#include <WiFi.h>
#include <ESPmDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

which seems to indicate that the standard libraries work okay.

Maybe if you shared the EXACT information that you’ve received from industrialshields about this we may be able to make some sense of exactly what the problem is that you think needs to be addressed.


1 Like

That is the compiler error Pete, i tried to contact the company but they haven’t got back to me yet.Yes Pete you are right i confused the libraries with the boards, so i download and use the company’s Board files.Well as i am reading the error it came up to me that the PLC has a different way to use Pins, maybe that’s the problem?
Example from PLC’s datasheet:
Digital Outputs: QX_X
Analog Outputs: AX_X
Relay Output: RX_X
Inputs (regardless if it’s analog or digital): IX_X

void loop() 
  // Toggle pins once a second
  digitalWrite(Q0_0, HIGH);
  digitalWrite(Q0_1, HIGH);

  analogWrite(A0_0, 255);
  analogWrite(A0_1, 528);

  digitalWrite(R0_0, HIGH);
  digitalWrite(R0_1, HIGH);


  digitalWrite(Q0_0, LOW);
  digitalWrite(Q0_1, LOW);
  analoglWrite(A0_0, 100);
  digitalWrite(A0_1, 0);

  digitalWrite(R0_0, LOW);
  digitalWrite(R0_1, LOW);

compiler error

In file included from C:\Users\Markou\AppData\Local\Arduino15\packages\industrialshields\hardware\esp32\2.1.2\cores\industrialshields/esp32-hal-gpio.h:29,
                 from C:\Users\Markou\AppData\Local\Arduino15\packages\industrialshields\hardware\esp32\2.1.2\cores\industrialshields/esp32-hal.h:79,
                 from C:\Users\Markou\AppData\Local\Arduino15\packages\industrialshields\hardware\esp32\2.1.2\cores\industrialshields/Arduino.h:36,
                 from C:\Users\Markou\AppData\Local\Temp\arduino-sketch-391A1BE8C9867C25880E4CD6824AF21C\sketch\sketch_sep16a.ino.cpp:1:
c:\Users\Markou\Documents\Arduino\libraries\Blynk\src/BlynkApiArduino.h: In member function 'void BlynkApi<Proto>::processCmd(const void*, size_t)':
C:\Users\Markou\AppData\Local\Arduino15\packages\industrialshields\hardware\esp32\2.1.2\variants\esp32plc/pins_arduino.h:15:48: error: 'esp32_adc2gpio' was not declared in this scope
 #define analogInputToDigitalPin(p)  (((p)<20)?(esp32_adc2gpio[(p)]):-1)
c:\Users\Markou\Documents\Arduino\libraries\Blynk\src/BlynkApiArduino.h:69:62: note: in expansion of macro 'analogInputToDigitalPin'
     #define BLYNK_DECODE_PIN(it) (((it).asStr()[0] == 'A') ? analogInputToDigitalPin(atoi((it).asStr()+1)) : (it).asInt())
c:\Users\Markou\Documents\Arduino\libraries\Blynk\src/BlynkApiArduino.h:92:25: note: in expansion of macro 'BLYNK_DECODE_PIN'
     const uint8_t pin = BLYNK_DECODE_PIN(it);

exit status 1

Compilation error: exit status 1