PLC programming

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

Program a real PLC with OpenPLC on an Arduino, ESP32 or Raspberry Pi, from ladder basics to Modbus, MQTT and HMIs.

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi is a free, self-paced online course from EDWartens for engineering students, apprentices, technicians and working engineers in automation, electrical and instrumentation. It has 13 modules and takes about 28.6 hours, with written notes, a practice task per module, a practical project and a final assessment of 15 questions (pass mark 60%). Learning costs nothing and needs only a free account. The optional EDWartens Certificate of Completion, verifiable by code, is a one-off US$23.99 for you; it is not a vendor credential. Updated 1 November 2026.

  • Free
  • Beginner
  • 28.6 hours
  • Self-paced
  • Certificate optional
  • Lab practice in your browser

No card, no trial. The course is free for good. Certificate US$23.99, optional.

Who it is for
Engineering students, apprentices, technicians and working engineers in automation, electrical and instrumentation
Jobs
Roles that use this skill: PLC programmer, controls engineer, automation technician and commissioning engineer. No course guarantees a job.
Tools
OpenPLC Editor v4 and Runtime (open source; many videos show v3), optional Factory I/O 30-day trial, ScadaBR or FUXA. Hardware: optional Arduino, ESP32 or Raspberry Pi; everything runs in simulation without them.
Updated
OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course cover
OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course cover

After this course you can

By the end you will be able to:

  • Install OpenPLC Editor and Runtime
  • Write IEC 61131-3 ladder with timers, counters and arithmetic
  • Run programs on Arduino, ESP32 and Raspberry Pi
  • Communicate over Modbus, MQTT and Python
  • Build ScadaBR and Fuxa HMIs

Who it is for, and what you need first

Who it is for

Engineering students, apprentices, technicians and working engineers in automation, electrical and instrumentation.

Level: Beginner. Beginner. No PLC or electronics experience needed.

What you need

Software: OpenPLC Editor v4 and Runtime (open source; many videos show v3), optional Factory I/O 30-day trial, ScadaBR or FUXA.

Hardware: Optional Arduino, ESP32 or Raspberry Pi; everything runs in simulation without them.. What to download, and how.

How this course works

  1. Watch the lessons

    Short video lessons, one module at a time, at your own pace.

  2. Read the notes

    Open the Reading tab for the written notes and diagrams of the module.

  3. Practise in the 3D labOptional

    Try the module in the free 3D lab, in your browser.

  4. Check yourself

    Answer the questions to see what stuck before you move on.

  5. Final assessment

    Pass the final once you have been through the modules.

  6. Certificate, if you want oneOptional

    Optional, with a page anyone can use to verify it.

What you learn

13 modules in order, at your own pace. 28.6 hours of video lessons, with written notes and a practice task in each module.

  1. 1What OpenPLC Is: Editor, Runtime and the Scan51m
  2. 2Hands-on Install; Contacts, Coils and Logic Gates1h 43m
  3. 3Memory Bits, Set/Reset, Edges and First Programs, with lab practice: 1h 26m
  4. 4Timers, with lab practice: 1h 0m
  5. 5Counters and Comparison, with lab practice: 1h 42m
  6. 6Arithmetic, with lab practice: 59m
  7. 7Worked Examples I, with lab practice: 1h 25m
  8. 8Worked Examples II, with lab practice: 2h 49m
Show the other 5 modules
  1. 9Hardware: Arduino, ESP32, ESP8266, Raspberry Pi2h 28m
  2. 10Communication and HMI: Modbus, Python, MQTT, ScadaBR, Fuxa, with lab practice: 1h 33m
  3. 11Factory I/O Projects and SFC, with lab practice: 1h 31m
  4. 12FOSSEE OpenPLC Board with LDmicro (IIT Bombay)3h 59m
  5. 13Final Assessment

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.

Show what to download (3 tools)

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.

Practise in the 3D lab

Practise the same IEC 61131-3 logic you write in the OpenPLC Editor on working machines in the PLC lab: latching, timers, counters, sequences and interlocks.

Build a ladder rungWatch

Optional. Skip it whenever you like: it never blocks your progress or your certificate.

Course project, about 12 hours

Parcel sorting conveyor on OpenPLC: from the I/O list to a tested program, a Modbus tag list and a test record

Design, program and test a bench conveyor that sorts parcels. A pusher removes tall parcels, good parcels are counted, and a jam stops the belt and raises an alarm. You deliver your own sequence of operations, I/O list, OpenPLC program, Modbus tag list and test record.

This project at a glance
  1. 4documents in the pack
  2. 8steps to follow
  3. Laboptional: in the 3D lab
  4. 5things to hand in
  5. 12 hof work, at your pace
  • Control narrativeSequence of Operations: Parcel Sorting Conveyor PS-1
  • I/O listI/O List: Parcel Sorting Conveyor PS-1
  • Tag listModbus Tag List: Parcel Sorting Conveyor PS-1
  • FATTest Record: Parcel Sorting Conveyor PS-1

Do it in the lab: 5 steps.

The project is optional practice. The certificate needs only the modules and the final assessment.

After the course, your next step

Show what you can do, then keep going in the same field.

Sample EDWartens Certificate of Completion for OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi

Sample. The issued certificate carries your name, your final score, a certificate ID and a QR code that opens its verification page.

Optional

A certificate you can verify

Finish the modules and pass the final assessment (15 questions, pass mark 60%) and you can add a certificate with a public verification page. One-off, US$23.99 for you. It is not a vendor credential.

Want a free certificate? Do the matching Free internship: 4 weeks, nothing to buy, with a free certificate of completion.

An engineer in a hard hat checking neat, labelled wiring on I/O racks inside an open control cabinet.
Free · 4 weeks · free certificate

PLC Programming

Eight short weeks of PLC ladder logic on free simulators: notes, diagrams, a few videos and auto-tested tasks. Finish weeks 1 to 4 and the final, then claim a free Internship Completion Certificate with your real dates and study hours, and a QR code anyone can scan to verify it. Training, not employment.

See the internship

More free courses

Roles that use this skill

  • PLC programmer
  • Controls engineer
  • Automation technician
  • Commissioning engineer

These are the kinds of roles where the skill is used. We make no promise of a job or an interview.

Plain notes

  • Free: the whole course, the notes, the practice tasks, the final assessment and support from practising engineers.
  • Paid, and optional: the course certificate, and the Engineer-verified internship (the Free internship costs nothing).
  • No job promise: the course teaches a skill. It does not place you in a job.
  • Lessons by: Instrumentation Tools, OpenPLC, Yaser Ali Husen, Engineering made Easy (Ing ME), OnosTech, seafox c, Spoken-Tutorial, IIT Bombay. Independent creators; the lessons stream from their own channels. EDWartens wrote the study plan, notes, practice tasks and assessments.

Instrumentation Tools · Eric Romine · Igor Art · OnosTech · seafox c · Spoken-Tutorial, IIT Bombay. If you are one of these creators and want a lesson removed or credited differently, write to info@edwartens.com.

Practise what you learn in the free 3D lab

Technical work is judged on what you can do: wiring, commissioning, finding a fault. Doing a task yourself teaches more than watching it a second time, and a lab lets you try it safely before you meet real equipment. It does not replace working on real hardware.

  • Practise safely, so a mistake costs nothing.
  • The lab checks your work like a site test, so you know when it is right.
  • Free, in your browser, with nothing to install.

Why learn with EDWartens

What you get with this course, and what comes after it.

  • Free from the first lesson to the final assessment.
  • Practice in a free 3D lab in your browser, with nothing to install.
  • Video lessons with written notes and a project.
  • An optional certificate that anyone can verify online.
  • Free internships to keep practising afterwards.

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 28 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.

Do I have to use the lab?

No. The lab is optional practice. You can skip it whenever you like, and it never blocks your progress, the final assessment or your certificate.

Is the lab free?

Yes. Every lab level for this course opens in your browser, free, with nothing to install.

What topics does the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course cover, module by module?

The OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course has 13 modules. It opens with "What OpenPLC Is: Editor, Runtime and the Scan", goes through "Hands-on Install; Contacts, Coils and Logic Gates", "Counters and Comparison", "Hardware: Arduino, ESP32, ESP8266, Raspberry Pi" and "FOSSEE OpenPLC Board with LDmicro (IIT Bombay)" and ends with "Final Assessment". The full list with minutes is under "What you learn" on this page.

What can I do after the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course?

After the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course: 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. These are the practical outcomes the course is written around, and the final assessment of 15 questions checks them.

What software and hardware do I need for the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course, and does it cost anything?

For the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course, software: OpenPLC Editor v4 and Runtime (open source; many videos show v3), optional Factory I/O 30-day trial, ScadaBR or FUXA. Hardware: optional Arduino, ESP32 or Raspberry Pi; everything runs in simulation without them. The course itself is free.

Is the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course suitable for me, and what level is it?

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi is rated beginner. Beginner. No PLC or electronics experience needed. It is written for engineering students, apprentices, technicians and working engineers in automation, electrical and instrumentation, and takes about 28.6 hours at your own pace.

Which jobs use the skills from the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course?

Skills from the OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi course (for example: install the Editor and Runtime and simulate programs) are used in roles such as PLC programmer, controls engineer, automation technician and commissioning engineer, and in automation engineer work. The course gives you practical evidence of the skill; it does not promise a job, and employers decide on experience and interview.

Start free today

OpenPLC: IEC 61131-3 on Arduino, ESP32 and Raspberry Pi, at your own pace. Add the certificate only if you want one.