PLC programming 路 Free

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi

A real PLC for the price of a microcontroller: OpenPLC Editor and Runtime, ladder from contacts to arithmetic, timers and counters, two dozen worked programs, Arduino, ESP32 and Raspberry Pi hardware, Modbus, MQTT, Python, ScadaBR and Fuxa HMIs, Factory I/O projects, and the FOSSEE OpenPLC from IIT Bombay.

13 modules 21h 13m of video English 路 self-paced

Inside the course

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi: Syllabus at a glanceOpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi: What you will be able to doOpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi: Tools and credits

From the lessons

  • Introduction to Open PLC - Download OpenPLC Software

    What OpenPLC Is: Editor, Runtime and the Scan

    Instrumentation Tools

  • Open PLC Tutorials - Memory bit & Push Button Concepts in PLC

    Memory Bits, Set/Reset, Edges and First Programs

    Instrumentation Tools

  • Learn How to Use Open PLC Up-Counter CTU: Step-by-Step Guide

    Counters and Comparison

    Instrumentation Tools

  • Car Parking Lot Automation PLC Tutorial in OpenPLC Software

    Worked Examples I

    Instrumentation Tools

  • Basics 03: Programming an Arduino Board with OpenPLC

    Hardware: Arduino, ESP32, ESP8266, Raspberry Pi

    Eric Romine

  • How to connect Open PLC with Factory I/O

    Factory I/O Projects and SFC

    seafox c

Lesson frames belong to the creators named in the Credits below and are shown from YouTube.

What you will learn

Install OpenPLC Editor and Runtime, write IEC 61131-3 ladder with contacts, coils, memory bits, set/reset, edges, timers, counters, comparison and arithmetic, solve two dozen worked problems, run programs on Arduino, ESP32 and Raspberry Pi, communicate over Modbus, MQTT and Python, build ScadaBR and Fuxa HMIs, drive Factory I/O scenes with SFC, and program the FOSSEE OpenPLC with LDmicro.

  • Install the Editor and Runtime and simulate programs
  • Write ladder with contacts, coils, memory bits, SR/RS and edge triggers
  • Use TON, TOF, TP, CTU, CTD, CTUD, comparison and arithmetic blocks
  • Solve two dozen worked automation problems
  • Run OpenPLC on Arduino, ESP32, ESP8266 and Raspberry Pi with slave devices
  • Communicate over Modbus, MQTT and Python; build ScadaBR and Fuxa HMIs
  • Drive Factory I/O scenes and use SFC
  • Program the FOSSEE OpenPLC from IIT Bombay with LDmicro

For you

Taking OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi from the United States

The course project 路 about 18 hours

Conveyor sorting trainer on OpenPLC: Arduino Mega machine control, Raspberry Pi supervisor over Modbus TCP, Fuxa HMI

Design, program, test and document a bench conveyor trainer for a polytechnic automation lab in Nairobi: an Arduino Mega running an OpenPLC ladder program that starts and stops the belt, sets its speed, detects metal and over-height parts, fires a reject gate at the right moment, counts good parts and stops on a jam; and a Raspberry Pi running OpenPLC Runtime that polls the Mega over Modbus TCP, holds the batch target and totals, drives a stack light, and hosts the Fuxa HMI the students use. You deliver both programs, your own I/O list, narrative and FAT record. The sample pack shows that a rig costing 31,000 deserves the same documents as a line costing 3.1 million.

Sample document pack, 6 documents, filled in for the scenario

  • Control narrativeSequence of Operations: Conveyor Sorting Trainer CT-1
  • I/O listI/O List: Rig CT-1, Arduino Mega and Raspberry Pi
  • BOMBill of Materials: Rig CT-1 and Panel CT1-CP1
  • IP planIP Address Plan and Device List: Rig CT-1 Network
  • FATAcceptance Test Record: Rig CT-1
  • O&M manualOperation and Maintenance Manual: Rig CT-1, with the Student Exercise Sheet

Read inside the course and download as a workbook. The project is optional practice, marked when you submit it; the certificate needs only the modules and the final assessment.

Course content

13 modules 路 114 lessons 路 21h 13m

In order, at whatever pace suits you. Each module ends with a practice task that builds on the last.

  1. 01What OpenPLC Is: Editor, Runtime and the Scan34m
  2. 02Hands-on Install; Contacts, Coils and Logic Gates1h 43m
  3. 03Memory Bits, Set/Reset, Edges and First Programs1h 26m
  4. 04Timers60m
  5. 05Counters and Comparison1h 42m
  6. 06Arithmetic59m
  7. 07Worked Examples I1h 25m
  8. 08Worked Examples II2h 49m

Requirements

Who it is for
Beginner. No PLC or electronics experience needed.
Software
OpenPLC Editor and Runtime (open source), optional Factory I/O trial, ScadaBR or Fuxa What to download, and how
Hardware
Optional Arduino, ESP32 or Raspberry Pi; everything runs in simulation without them.

Software you need

What to download, where from, what it costs and how to install it. Every link goes to the maker's own site, never a mirror.

Required

  1. 01

    OpenPLC Editor and OpenPLC Runtime

    Autonomy Logic (OpenPLC project)

    Free
    Runs on
    Editor: Windows 10 or 11 (x64), macOS (Apple silicon or Intel), Linux x64. Runtime: Linux or Docker
    Account
    None needed

    OpenPLC is free and open source. The Runtime v4 is MIT licensed and the Editor source is on GitHub under GPL-3.0.

    Official download pageautonomylogic.com

Optional

Useful, not needed to finish the course.

  1. 02

    Factory I/O

    Real Games

    Free trial: 30 days
    Runs on
    Windows 7 SP1 or newer, with a graphics card from 2006 (NVIDIA, AMD) or 2012 (Intel) onwards
    Account
    Your name and email on the Factory I/O trial form

    The 30-day trial includes the full Ultimate Edition. After that you need a paid edition; the Siemens, Allen-Bradley, Modbus and OPC, MHJ, Automgen and Starter editions each support different PLCs.

  2. 03

    FUXA

    Frangoteam (open-source project)

    Free
    Runs on
    Windows, macOS, Linux, Raspberry Pi or Docker (needs Node.js 18 LTS if installed with npm)
    Account
    None needed

    FUXA is open-source web SCADA and HMI software under the MIT licence, free for any use.

Checked against each maker's own page on 27 September 2026. Trial lengths and editions change; the maker's page is the final word.

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi at a glance

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi is a free, self-paced online course from EDWartens for engineering students, ITI and diploma holders, and working engineers in automation, electrical and instrumentation. It has 13 modules and 21h 13m of video lessons by Instrumentation Tools, Eric Romine, Igor Art and others, with written notes and worked problems, a practical project with a document pack and a 15-question final assessment (pass mark 60%). Learning is free with an account; an optional certificate with a public verification code is issued when you pass. Last updated 27 September 2026.

All course facts
Price
Free, for good. No trial, no card. The only paid item is the optional certificate, a small one-off fee.
Who it is for
Engineering students, ITI and diploma holders, and working engineers in automation, electrical and instrumentation
Format
13 self-paced modules, 21h 13m of video, written notes, a practice task per module and one final assessment.
Level
Beginner. Beginner. No PLC or electronics experience needed.
Brand
Vendor-neutral
Software
OpenPLC Editor and Runtime (open source), optional Factory I/O trial, ScadaBR or Fuxa
Hardware
Optional Arduino, ESP32 or Raspberry Pi; everything runs in simulation without them.
Certificate
Optional EDWartens Certificate of Completion, verifiable by code. Not a vendor credential.
Video lessons by
Instrumentation Tools, Eric Romine, Igor Art, OnosTech, seafox c, Spoken-Tutorial, IIT Bombay (independent creators, credited below)
Language
English
Last updated
27 September 2026

A shareable EDWartens certificate

Finish every module and pass the final assessment, and the optional EDWartens certificate is yours. It carries a unique verification code on a public page anyone can check, so it stands up when a recruiter looks it up. See it below.

The course itself stays free whether or not you ever buy one.

Stuck? Ask a practising engineer

A free course usually means a comment section and hope. This one does not. Every module has an Ask-your-trainer panel that reaches the same engineers who teach our paid programme: people who commission panels for a living, not moderators.

Pairs well with

More free courses: Free PLC programming courses

Learner reviews

No reviews yet

Reviews here are written only by learners who have finished every module of OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi, and they are published exactly as written. Finish the course and yours will be the first.

Common questions

Is OpenPLC a real PLC?

It is a real IEC 61131-3 runtime used in research, education and small projects. It is not a certified industrial controller; the skills transfer directly to Siemens, Rockwell and CODESYS.

Do I need an Arduino?

No. Simulation covers the programming modules; an Arduino Uno or ESP32 is inexpensive and makes the hardware modules real.

What is the FOSSEE OpenPLC?

An open-hardware PLC from IIT Bombay's FOSSEE project, programmed with LDmicro. It is a different product from the OpenPLC Editor/Runtime and is covered in its own module.

Is the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course really free?

Yes. Every module, practice task and assessment. You create an account so your progress is saved and the assessments can be marked. The certificate is the only paid item, and only if you want it.

What certificate does the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course give?

An EDWartens Certificate of Completion, issued when you pass the final assessment, with a verification code anyone can check. It is not an OpenPLC project or IIT Bombay credential and is never described as one.

Who made the video lessons in the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course?

The creators named in the Credits block at the foot of this page, on their own YouTube channels. EDWartens did not make the videos and the creators are not affiliated with EDWartens. What EDWartens wrote is the study plan, the notes, the practice tasks and the assessments.

How long does the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course take?

Plan on about 29 hours in all, including the video lessons, notes and practice tasks. It is self-paced, so you work through the thirteen modules at your own speed.

What you walk away with

Your certificate for OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi

Finish the course, pass the final, and this is the document with your name on it.

Sample EDWartens Certificate of Completion for OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi
Sample. The issued certificate carries your name, admission number, a unique certificate number and its own QR code.
  • Verifiable by anyone

  • Adds to LinkedIn in one click

  • QR code on the certificate

  • Names what you can do

  • A permanent link

  • Earned, not attended

Learning is free. The certificate is optional.

Add it now and pay only when you have finished the course, or come back for it later. One-off, US$23.99, with a receipt.

Issued by EDWartens, the training division of Wartens, as a Certificate of Completion for this self-paced course. Sold by Wartens Ltd (England and Wales). It is not a vendor certification, a university award or a CPD-accredited activity, and it does not certify competence on live equipment. Delivered electronically; see the refund policy.

Credits

Who made the video lessons

The video lessons in this course were created by the people below, not by EDWartens. Every lesson streams from its creator's own YouTube channel; EDWartens neither hosts nor sells that footage, and the creators are not affiliated with EDWartens and do not endorse this course. What EDWartens wrote is the study plan, the notes, the practice tasks and the assessments.

If you are one of these creators and would like a lesson removed or credited differently, write to info@wartens.com.