Stufin
Home Quick Cart Profile

M5 Stack PLC Proto Industrial Board Module

Buy Now on Stufin

Operating temperature range

-20C to 70C

Isolation voltage

1500Vrms (input to output)

Surge protection

up to 2kV

Vibration resistance

up to 5g (10-2000Hz)

  • External Expansion:

Compatible with M5 Stack modules (e.g., Wi-Fi, Ethernet, Grove interfaces)

Supports third-party expansion boards

  • Power Supply:

Supply voltage

12-24V DC

Power consumption

up to 2W

  • Certifications and Compliance:

CE certified

FCC compliant

RoHS compliant

Dimensions and Mechanical Information

Dimensions (L x W x H)54mm x 54mm x 25mm

Weight

approximately 60g

Mounting options

screw holes for DIN rail or panel mounting

Conclusion

The M5 Stack PLC Proto Industrial Board Module is a versatile, industrial-grade PLC designed for IoT applications. Its robust features, programming options, and external expansion capabilities make it an ideal choice for automation, robotics, and industrial control systems.

Pin Configuration

  • M5 Stack PLC Proto Industrial Board Module Pinout Guide
  • The M5 Stack PLC Proto Industrial Board Module is a versatile IoT development board designed for industrial automation and IoT applications. This documentation provides a detailed explanation of each pin on the board, helping developers and enthusiasts understand how to connect and utilize the various features of the module.
  • Pinout Structure:
  • The M5 Stack PLC Proto Industrial Board Module features a 30-pin interface, which can be divided into several sections:
  • Power Pins (5 pins)
  • Digital I/O Pins (16 pins)
  • Analog I/O Pins (4 pins)
  • Communication Interfaces (5 pins)
  • Special Function Pins (5 pins)
  • Power Pins (5 pins):
  • 1. VIN (5V-24V): External power supply input (5V to 24V).
  • 2. 3V3 (3.3V): Regulated 3.3V power output for peripherals and modules.
  • 3. GND (Ground): System ground pin.
  • 4. VBAT (Battery): Battery power input for external battery or power backup.
  • 5. EN (Enable): Enables or disables the on-board voltage regulator.
  • Digital I/O Pins (16 pins):
  • 1. GPIO0 (D0): General-purpose digital I/O pin.
  • 2. GPIO1 (D1): General-purpose digital I/O pin.
  • 3. GPIO2 (D2): General-purpose digital I/O pin.
  • 4. GPIO3 (D3): General-purpose digital I/O pin.
  • 5. GPIO4 (D4): General-purpose digital I/O pin.
  • 6. GPIO5 (D5): General-purpose digital I/O pin.
  • 7. GPIO6 (D6): General-purpose digital I/O pin.
  • 8. GPIO7 (D7): General-purpose digital I/O pin.
  • 9. GPIO8 (D8): General-purpose digital I/O pin.
  • 10. GPIO9 (D9): General-purpose digital I/O pin.
  • 11. GPIO10 (D10): General-purpose digital I/O pin.
  • 12. GPIO11 (D11): General-purpose digital I/O pin.
  • 13. GPIO12 (D12): General-purpose digital I/O pin.
  • 14. GPIO13 (D13): General-purpose digital I/O pin.
  • 15. GPIO14 (D14): General-purpose digital I/O pin.
  • 16. GPIO15 (D15): General-purpose digital I/O pin.
  • Analog I/O Pins (4 pins):
  • 1. A0 (ADC0): Analog-to-digital conversion input pin 0.
  • 2. A1 (ADC1): Analog-to-digital conversion input pin 1.
  • 3. A2 (ADC2): Analog-to-digital conversion input pin 2.
  • 4. A3 (ADC3): Analog-to-digital conversion input pin 3.
  • Communication Interfaces (5 pins):
  • 1. RX (UART_RX): UART receive pin for serial communication.
  • 2. TX (UART_TX): UART transmit pin for serial communication.
  • 3. SCL (I2C_SCK): I2C clock pin for I2C communication.
  • 4. SDA (I2C_SDA): I2C data pin for I2C communication.
  • 5. EN_ETH (ETH_EN): Enables or disables the on-board Ethernet interface.
  • Special Function Pins (5 pins):
  • 1. WIRES (WIFI_EN): Enables or disables the on-board Wi-Fi module.
  • 2. BT (BT_EN): Enables or disables the on-board Bluetooth module.
  • 3. RF (RF_EN): Enables or disables the on-board RF module.
  • 4. LED (LED_PIN): On-board LED indicator pin.
  • 5. RST (Reset): Active-low reset pin for the system.
  • When connecting the pins, make sure to follow the recommended wiring and voltage levels to avoid damage to the module or other components. Always refer to the datasheet and technical documentation for specific usage guidelines and precautions.

Code Examples

M5 Stack PLC Proto Industrial Board Module Documentation
Overview
The M5 Stack PLC Proto Industrial Board Module is a powerful and versatile IoT development board designed for industrial automation and IoT applications. It features a compact design, rich peripherals, and a robust set of features, making it an ideal choice for developing industrial control systems, IoT devices, and automation solutions.
Hardware Specifications
Microcontroller: ESP32-D0WDQ6 (Dual-Core 32-bit LX6 Microprocessor)
 Wi-Fi: 802.11 b/g/n
 Bluetooth: 4.2 BR/EDR and BLE
 GPIO: 23 programmable pins
 ADC: 2x 12-bit ADC channels
 DAC: 2x 8-bit DAC channels
 UART: 3x UART interfaces
 I2C: 2x I2C interfaces
 I2S: 1x I2S interface
 SPI: 1x SPI interface
 SD Card Slot: 1x microSD card slot
 USB: 1x USB-C port
 Power: 5V input, 3.3V output, and Li-Battery charging circuit
Software Support
The M5 Stack PLC Proto Industrial Board Module is supported by the Arduino IDE and MicroPython.
Code Examples
### Example 1: Wi-Fi Connectivity and Web Server
In this example, we will demonstrate how to connect the M5 Stack PLC Proto Industrial Board Module to a Wi-Fi network and create a simple web server using the Arduino IDE.
```cpp
#include <WiFi.h>
#include <WiFiClient.h>
#include <ESPmDNS.h>
const char ssid = "your_wifi_ssid";
const char password = "your_wifi_password";
WiFiServer server(80);
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  Serial.println("Starting web server...");
  server.begin();
}
void loop() {
  WiFiClient client = server.available();
  if (client) {
    Serial.println("New client connected");
    client.println("HTTP/1.1 200 OK");
    client.println("Content-type:text/html");
    client.println();
    client.println("<h1>Welcome to M5 Stack PLC Proto Industrial Board Module</h1>");
    client.stop();
    Serial.println("Client disconnected");
  }
}
```
### Example 2: Reading Analog Values using ADC
In this example, we will demonstrate how to read analog values using the ADC channels on the M5 Stack PLC Proto Industrial Board Module using MicroPython.
```python
import machine
# Initialize ADC channel 0
adc0 = machine.ADC(0)
while True:
    # Read analog value from ADC channel 0
    adc_value = adc0.read_u16()
    print("ADC Value:", adc_value)
    # Convert ADC value to voltage
    voltage = adc_value  3.3 / 65535
    print("Voltage:", voltage)
    # Delay for 1 second
    machine.sleep(1)
```
### Example 3: I2C Communication with External Devices
In this example, we will demonstrate how to communicate with external I2C devices using the M5 Stack PLC Proto Industrial Board Module.
```cpp
#include <Wire.h>
#define I2C_ADDRESS 0x1F // Address of the external I2C device
void setup() {
  Serial.begin(115200);
  Wire.begin();
}
void loop() {
  Wire.beginTransmission(I2C_ADDRESS);
  Wire.write(0x01); // Write command to the I2C device
  Wire.endTransmission();
  delay(100);
  Wire.requestFrom(I2C_ADDRESS, 1);
  uint8_t data = Wire.read();
  Serial.println("Received data from I2C device:", data);
  delay(1000);
}
```
These examples demonstrate the capabilities of the M5 Stack PLC Proto Industrial Board Module and provide a solid foundation for developing industrial automation and IoT projects.