How to Make Arduino PLC DIY – TRONICSpro


Are you looking for a way to make your own Arduino-based Programmable Logic Controller (PLC)? Look no further than the Arduino Nano! This small yet powerful microcontroller can be used to create a Arduino based DIY PLC that can be customized to fit your specific needs. In this article, we will walk through the steps to how to make your own Arduino PLC DIY and provide an introduction to the essential components that are necessary to complete this project.

Our PLC has 5 optically isolated digital inputs active high pins, 8 relay outputs, 2 open collector PWM outputs, and 4 analog inputs. 0-10V can be applied to analog inputs. LEDs are used to indicate the status of input and output.

Explanation of Arduino PLC DIY

Arduino Nano

The Arduino Nano is a compact and versatile microcontroller board that is based on the ATmega328P chip. It features a small form factor that makes it perfect for projects with limited space, such as robotics applications or automation systems. With 14 digital input/output pins and 6 analog inputs, the Nano can be used for a wide range of projects, including building your own PLC.


The ULN2003A IC, also known as a Darlington transistor array, is an essential component for building a PLC. This chip is designed to control high-voltage and high-current loads, making it ideal for driving relays, lamps, and stepper motors. The ULN2003A has seven Darlington transistors, which are arranged in a common open- collector configuration. This allows the chip to be used in a variety of configurations, including as an inverting buffer amplifier or as a driver for solenoids and motors.

PC817 Optocoupler

The PC817 optocoupler is another crucial component for building a PLC. This device is designed to isolate low-voltage circuits from high-voltage circuits, which is essential for controlling high-voltage loads safely. The PC817 uses a light-emitting diode (LED) to transmit signals across an isolation barrier to a phototransistor, which then switches on or off a load. This optocoupler is commonly used for applications such as interfacing microcontrollers to relays or driving high-voltage loads.

MC34063 IC

The MC34063 is a step-up, step-down, and inverting switching regulator. It is an essential component for building a DIY PLC as it can be used to regulate the voltage and current levels of the power supply. The MC34063 takes in a DC voltage and produces a regulated output voltage, which is necessary for powering the Arduino and other components used in the project. This chip is designed for high-efficiency operation and can be used to drive high-power LEDs or motors.

330mH Inductor

A 330mH inductor is an electrical component that has an inductance value of 330 millihenries. It is typically used in circuits that require the storage of electrical energy in a magnetic field. Inductors are passive components that resist changes in current flow and store energy in the form of a magnetic field. The 330mH inductor has a high inductance value, which means it can store a large amount of energy in its magnetic field. It is commonly used in power supplies, audio equipment, and radio frequency circuits. It can also be used in filter circuits to remove unwanted signals or noise from a circuit. The physical size of the inductor may vary depending on the design and application, but it typically has a coil of wire wrapped around a magnetic core to increase the inductance value.

How to Make Arduino PLC DIY
How to Make Arduino PLC DIY

Circuit Diagram of Arduino PLC DIY

This project can be designed using a few basic components. The circuit diagram of this project is shown below.

How to Make Arduino PLC DIY Block Diagram
Arduino PLC Block Diagram
How to Make Arduino PLC DIY Arduino Input-Output Pin Configuration
Arduino Input-Output Pin Configuration

How to Make Arduino PLC DIY Analog Input Circuit Diagram
Arduino PLC Analog Input Circuit Diagram
How to Make Arduino PLC DIY Digital Input Unit Circuit Diagram
Arduino PLC Digital Input Circuit Diagram

How to Make Arduino PLC DIY Digital Output Circuit Diagram
Arduino PLC Digital Output Circuit Diagram
How to Make Arduino PLC DIY PWM Output Circuit Diagram
Arduino PLC PWM Output Circuit Diagram

More Circuit Layouts

Components List of Arduino PLC DIY

Following is the list of all components used in this project:

  • 1 X Arduino Nano
  • 1 X ULN2003A IC
  • 7 X PC817 Opocoupler
  • 1 X MC34063 IC
  • 14 X LEDS
  • 1 X 1N5809 Diodes
  • 1 X 330mH Inductor
  • 1 X 1n Capacitor
  • 1 X 470u Capacitor
  • 1 X 1R Resistor
  • 14 X 1k Resistors
  • 1 X 3k3 Resistor
  • 10 X 10k Resistors
  • 2x 12V Relays
  • 14 X 2 Pin Terminal Block

Project Code & PCB Files

Project Zip File:

Gerber File:

Building Your Arduino PLC

To build your own Arduino based PLC DIY, you will need to gather the all the components, complete list of which is provided above for your ready reference.

Once you have gathered the necessary components, follow these steps to build your Arduino-based PLC:

  1. Connect the VIN and GND pins of the Arduino Nano to the positive and negative rails of the breadboard, respectively if you have not yet printed a PCB for which the download link of Gerber Files is already provided above.
  2. Connect the positive and negative rails of the breadboard to the VIN and GND pins of the MC34063 IC, respectively.
  3. Connect all capacitors and resisters as indicated in the circuit diagram provided above.
  4. Connect the ULN2003A IC’s inputs to the digital output pins of the Arduino Nano as indicated in the circuit diagram.
  5. Connect the relay module’s inputs to the outputs of the ULN2003A IC as per the circuit.
  6. Connect the PC817 optocoupler’s input to a digital output pin of the Arduino Nano.
  7. Connect the PC817 optocoupler’s output to the coil of the relay module.
  8. Connect the power supply to the breadboard’s VIN and GND rails.

Once you have connected all parts on the breadboard or vero board, then recheck all connections with the circuit diagrams provided above to avoid any short circuits. The download link of the Gerber files is provided above which will help you to arrange the PCB. You can easily insert and solder all parts on it which will save your time.

Conclusion of How to Make Arduino PLC DIY

By following these steps, you can build your own Arduino-based PLC. With the ability to customize your PLC to meet your specific needs, you can create a device that meets the exact requirements of your project. The Arduino Nano, ULN2003A IC, PC817 optocoupler, and MC34063 IC are just a few of the many components that are essential to building a DIY Arduino-based PLC. With a little creativity and a few essential components, you can take your projects to the next level.

More projects, You may like:

For more project and circuit diagrams, you can go through the Schematics in the main menu where you can watch many interesting projects and circuit diagrams like audio amplifier circuits, voltage booster circuit, battery charger circuit and timer circuits etc., which are all beginner circuit projects. Feel free to check them out!

Thanks for visiting the article and watching the video.

(Visited 1,270 times, 1 visits today)

Leave a Reply

Your email address will not be published.