Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use Arduino OPTA PLC: Examples, Pinouts, and Specs

Image of Arduino OPTA PLCDesign with Arduino OPTA PLC in Cirkit Designer

Introduction

The Arduino OPTA PLC is a compact and versatile programmable logic controller (PLC) designed for industrial automation applications. Manufactured by Arduino, the OPTA PLC combines the simplicity of Arduino programming with the robustness required for industrial environments. It features built-in connectivity options, including Ethernet, Wi-Fi, and Bluetooth, making it ideal for IoT (Internet of Things) applications. The OPTA PLC is suitable for both beginners and experienced developers, offering a user-friendly platform for creating automation solutions.

Explore Projects Built with Arduino OPTA PLC

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of PLC-Controlled Power Window System with Infrared Sensing and Relay Module: A project utilizing Arduino OPTA PLC in a practical application
PLC-Controlled Power Window System with Infrared Sensing and Relay Module

This circuit is designed to control a motorized window system using a PLC (Programmable Logic Controller) and an array of sensors and switches. It includes power supplies for 12V and 24V DC, an MCB (Miniature Circuit Breaker) for protection, and a relay module interfaced with an Arduino for additional control logic. The PLC manages inputs from pushbuttons, a 3-position switch, infrared proximity sensors, and an emergency stop, and it controls outputs such as the motor speed controller, lamps, and solenoid valves.

Open Project in Cirkit Designer
Image of Arduino UNO Based Automated Plant Watering System with Environmental Monitoring: A project utilizing Arduino OPTA PLC in a practical application
Arduino UNO Based Automated Plant Watering System with Environmental Monitoring

This circuit is designed to monitor environmental conditions and control peripheral devices. It features light and temperature/humidity sensing, visual output on an OLED display, and actuation of a fan, water pumps, and a stepper motor. Power management and distribution are facilitated by splicing connectors, and the system is controlled by an Arduino UNO, which currently has placeholder code for customization.

Open Project in Cirkit Designer
Image of Teensy 4.1 Controlled Precision Stepper Motor System with OLED Display and Logic Level Conversion: A project utilizing Arduino OPTA PLC in a practical application
Teensy 4.1 Controlled Precision Stepper Motor System with OLED Display and Logic Level Conversion

This circuit features a Teensy 4.1 microcontroller interfaced with a keypad for user input, an OLED display for visual feedback, and an optical rotary encoder for position sensing. It controls a closed-loop stepper motor via a Stepperonline CL57T driver, with a bi-directional logic level converter to ensure compatible voltage levels between the microcontroller and the stepper driver. The circuit is likely designed for precise motion control applications, such as CNC machines or robotic systems, where user input is used to adjust parameters like pitch or position.

Open Project in Cirkit Designer

Common Applications and Use Cases

Technical Specifications

Key Technical Details

Parameter Specification
Manufacturer Arduino
Part ID OPTA
Processor STM32H747XI dual-core microcontroller (Cortex-M7 @ 480 MHz and Cortex-M4 @ 240 MHz)
Memory 1 MB RAM, 8 MB Flash
Connectivity Ethernet, Wi-Fi, Bluetooth, RS485
Digital Inputs 8 opto-isolated inputs (24V DC)
Digital Outputs 8 relay outputs (250V AC / 30V DC, 5A max per channel)
Analog Inputs 4 analog inputs (0-10V, 12-bit resolution)
Power Supply 12-24V DC
Operating Temperature -20°C to 60°C
Dimensions 122 x 90 x 56 mm
Programming Environment Arduino IDE, PLC IDE (IEC 61131-3 compliant)

Pin Configuration and Descriptions

Digital Inputs

Pin Description Voltage Range Notes
DI1 Digital Input 1 24V DC Opto-isolated
DI2 Digital Input 2 24V DC Opto-isolated
DI3 Digital Input 3 24V DC Opto-isolated
DI4 Digital Input 4 24V DC Opto-isolated
DI5 Digital Input 5 24V DC Opto-isolated
DI6 Digital Input 6 24V DC Opto-isolated
DI7 Digital Input 7 24V DC Opto-isolated
DI8 Digital Input 8 24V DC Opto-isolated

Digital Outputs

Pin Description Voltage Range Current Rating
DO1 Digital Output 1 (Relay) 250V AC / 30V DC 5A max
DO2 Digital Output 2 (Relay) 250V AC / 30V DC 5A max
DO3 Digital Output 3 (Relay) 250V AC / 30V DC 5A max
DO4 Digital Output 4 (Relay) 250V AC / 30V DC 5A max
DO5 Digital Output 5 (Relay) 250V AC / 30V DC 5A max
DO6 Digital Output 6 (Relay) 250V AC / 30V DC 5A max
DO7 Digital Output 7 (Relay) 250V AC / 30V DC 5A max
DO8 Digital Output 8 (Relay) 250V AC / 30V DC 5A max

Analog Inputs

Pin Description Voltage Range Resolution
AI1 Analog Input 1 0-10V 12-bit
AI2 Analog Input 2 0-10V 12-bit
AI3 Analog Input 3 0-10V 12-bit
AI4 Analog Input 4 0-10V 12-bit

Usage Instructions

How to Use the Arduino OPTA PLC in a Circuit

  1. Power Supply: Connect a 12-24V DC power supply to the power input terminals of the OPTA PLC.
  2. Digital Inputs: Connect sensors or switches to the digital input terminals (DI1-DI8). Ensure the input voltage is within the 24V DC range.
  3. Digital Outputs: Connect actuators, relays, or other devices to the digital output terminals (DO1-DO8). Ensure the load does not exceed the maximum current rating of 5A per channel.
  4. Analog Inputs: Connect analog sensors (e.g., temperature or pressure sensors) to the analog input terminals (AI1-AI4). Ensure the input voltage is within the 0-10V range.
  5. Programming: Use the Arduino IDE or PLC IDE to write and upload your program to the OPTA PLC via USB or Ethernet.

Important Considerations and Best Practices

Example Code for Arduino IDE

Below is an example code snippet to toggle a relay connected to DO1 based on a digital input (DI1):

// Define pin numbers for digital input and output
const int digitalInputPin = 2;  // DI1 connected to pin 2
const int digitalOutputPin = 3; // DO1 connected to pin 3

void setup() {
  pinMode(digitalInputPin, INPUT);  // Set DI1 as input
  pinMode(digitalOutputPin, OUTPUT); // Set DO1 as output
}

void loop() {
  int inputState = digitalRead(digitalInputPin); // Read the state of DI1

  if (inputState == HIGH) {
    digitalWrite(digitalOutputPin, HIGH); // Turn on relay (DO1)
  } else {
    digitalWrite(digitalOutputPin, LOW);  // Turn off relay (DO1)
  }
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. PLC Not Powering On

    • Cause: Incorrect power supply voltage or loose connections.
    • Solution: Verify that the power supply is within the 12-24V DC range and check all connections.
  2. Digital Inputs Not Responding

    • Cause: Incorrect wiring or incompatible input voltage.
    • Solution: Ensure the input voltage is 24V DC and check the wiring for loose connections.
  3. Digital Outputs Not Activating

    • Cause: Exceeding the current or voltage rating of the output.
    • Solution: Verify that the connected load does not exceed 5A or 250V AC / 30V DC.
  4. Program Not Uploading

    • Cause: USB connection issue or incorrect board selection in the Arduino IDE.
    • Solution: Check the USB cable and port, and ensure the correct board (Arduino OPTA) is selected in the IDE.
  5. Wi-Fi or Ethernet Connectivity Issues

    • Cause: Incorrect network configuration or weak signal.
    • Solution: Verify the network settings in your program and ensure a strong Wi-Fi signal or proper Ethernet connection.

FAQs