An Arduino PLC is the right choice when the job is deterministic I/O control with standard industrial protocols: read sensors, drive valves and motors, talk Modbus, and do it the same way every cycle. It is not the right choice when the controller must run Linux, a database or heavy data processing on board.
What is an Arduino PLC?
An Arduino PLC is an industrial controller built around an Arduino board and packaged for the cabinet: DIN rail, 12 to 24 Vdc supply, protected inputs and outputs, and industrial communications. You program it with the Arduino IDE, in C++, with the libraries you already know.
Industrial Shields has three Arduino PLC families:
- M-Duino Arduino PLC, based on the Arduino Mega, with Ethernet built in. Models go from the M-Duino 19R to the M-Duino 58.
- Ardbox Arduino PLC, based on the Arduino Leonardo, a compact PLC for a single station. It has no Ethernet: it talks Modbus RTU over RS-485.
- Ardbox Q Arduino PLC, based on the Arduino UNO Q. It combines an STM32 microcontroller for real-time control with Linux for data and AI, in the same PLC.
An Arduino PLC is a cabinet device, not a development board
The doubt is fair, and it usually comes from the board, not from the PLC. An Arduino board on a desk is a development tool. An Arduino PLC is a cabinet device: the board sits inside a DIN rail enclosure with protected inputs and outputs, a 12 to 24 Vdc supply and the CE mark.
For North America, three M-Duino Arduino PLC models go one step further. The M-Duino Ethernet PLC Arduino 21, the M-Duino Ethernet PLC Arduino 42 and the M-Duino Ethernet PLC Arduino 58 hold ETL certification from Intertek to UL 61010 (UL Std. 61010-1 and 61010-2-201, and CSA C22.2 No. 61010-1). Each product page has its certificates and declarations of conformity for download.
The story and the scope of the certificate are in ETL certification for an open source based industrial PLC. If you build panels for the EU, see CE marking for control panels.
Five industrial jobs where an Arduino PLC fits
These are not theory. Each one runs today in a real installation.
| Job | What the Arduino PLC does | Real installation |
|---|---|---|
| Modbus plants with drives, chillers and meters | Modbus TCP slave to the plant system and Modbus RTU master to the RS-485 devices, with one register map | Temperature network, conveyor speed control |
| Sorting by weight or destination | Weighs or reads each piece, tracks it on the belt, pushes it to its exit, handles rejects and full lanes | Meat sorting line, automated warehouse |
| Assembly stations and end-of-line testing | Runs the steps and keeps one OK or KO record per serial number | End-of-line testing, robotic welding cell |
| Climate and process control | Reads probes, drives valves, pumps and fans, raises alarms and logs data | SIRA wine fermentation, pharmaceutical culture rooms, air handling units |
| Compact control of one station | One Ardbox Arduino PLC runs the local logic, for example three quality checks | Manufacturing line quality checks, hotel rooms |
Modbus is where the Arduino PLC is strongest
Most plants already speak Modbus. Drives, chillers and flow meters speak Modbus RTU on RS-485. The SCADA or the MES wants Modbus TCP over Ethernet.
An M-Duino Arduino PLC can do both at the same time: Modbus RTU master on RS-485 and Modbus TCP slave on Ethernet. One controller collects the field devices and gives the plant one clean register map.
Start with the Modbus TCP master guide with tested code and the Modbus TCP to RTU gateway recipe.
When an ESP32 PLC or a Raspberry PLC fits better
An Arduino PLC runs one program in a loop, with no operating system. That is its strength for control, and its limit for data.
- The controller needs Wi-Fi, Bluetooth LE or a 4G link on site. An ESP32 PLC has Wi-Fi and Bluetooth LE built in and takes an optional LoRa or 4G board.
- The controller must run Linux, a database, Node-RED or Python. A Raspberry PLC runs Linux next to its industrial I/O. If you want Arduino real-time control and Linux in the same PLC, look at the Ardbox Q Arduino PLC.
- You only need one station with a few signals. An Ardbox Arduino PLC is enough, and a large M-Duino Arduino PLC would be too much.
If you are not sure, the controller comparison puts all families side by side with their I/O.
Start an Arduino PLC project from a simulator
- Run the closest process in your browser: weight sorting, assembly station, Modbus network or fermentation cellar.
- Take a recipe with tested code from the PLC Solution Library.
- See what others built in Arduino PLC projects, or compare models in the Arduino PLC range.