Try a PLC free — no signup

OpenPLC Supported Hardware

OpenPLC Runtime ships for a wide range of hardware — from $5 ESP32 modules through industrial-grade DIN-rail PLCs. Same OpenPLC Editor project compiles for any target. Here is the complete list as of OpenPLC v3.x and v4.x.

Microcontroller boards (Arduino-style)

BoardDI / DO / AINetworkNotes
Arduino Uno12 / 6 / 6Ethernet shield (W5500)Limited memory; small programs only
Arduino Mega 256024 / 16 / 16Ethernet shieldMost popular Arduino target — good DI/DO count
Arduino Nano8 / 4 / 6Serial onlyCompact form factor; serial Modbus
ESP32 / ESP32-S38 / 4 / 6Wi-Fi + Bluetooth nativeCheapest Wi-Fi PLC option ($5-15)
Arduino Opta8 / 4 / -Ethernet + Wi-Fi + RS-485Industrial-grade, DIN-rail. Best industrial Arduino target
Pixtend V2 / RevPi Core16 / 8 / 4Ethernet + Wi-FiIndustrial Pi-based PLC; fully isolated I/O

Single-board computers

  • Raspberry Pi 4 / 5 — most common deployment. 26 GPIO usable as PLC I/O. Use a relay HAT for 24V industrial signals. See setup tutorial.
  • Raspberry Pi 3 / Zero 2 — supported but slower. OK for small projects.
  • Beaglebone Black — supported via Linux runtime. Useful PRU coprocessor for sub-millisecond timing.
  • UniPi Neuron / Patron — industrial Pi-based PLC with isolated I/O and OpenPLC pre-installed.

Industrial and PC runtimes

  • Linux x86_64 / ARM — runs OpenPLC Runtime on any Linux PC. Useful for development and testing.
  • Windows 10 / 11 — Windows runtime exists; less common for production but excellent for testing.
  • Industrial Shields M-Duino / Ardbox — Arduino-compatible DIN-rail PLCs with isolated I/O. Direct drop-in industrial Arduino.
  • Productivity 1000 / 2000 (AutomationDirect) — community-supported, not officially endorsed. Possible with custom hardware layer.

Hardware Layer concept

OpenPLC Runtime separates the IEC 61131-3 program from the hardware-specific I/O code via a "Hardware Layer." Out of the box, OpenPLC ships layers for the targets above. Adding new hardware means writing a hardware layer (~300 lines of C++) — a documented procedure on the OpenPLC GitHub.

Related guides

Free PLC simulator

Practise the logic before you set up OpenPLC

Run motor, timer and counter logic in your browser with nothing to install, then rebuild it in OpenPLC. Free to try — no signup.

Try it in your browser — no signup →

Opens plcsimulationsoftware.com — same team