M-Duino 58: Arduino PLC with 58 I/O and Ethernet
The M-Duino 58 is an industrial PLC from Industrial Shields built around an original Arduino Mega 2560. It has 36 inputs (16 analog 0-10 V) and 22 outputs (8 analog/PWM), Ethernet, RS-485, RS-232, I2C, SPI, a real-time clock and a microSD slot, and mounts on a DIN rail. It is programmed with the Arduino IDE, with no licence fees, and suits large or distributed installations that need high digital and analog I/O capacity.
Not sure this is the right model? Our engineers help you choose the controller and the options for your project.
Talk to an engineerTechnical specifications
| Microcontroller | Arduino Mega 2560 (ATmega2560, 16 MHz, 256 KB flash, 8 KB SRAM) |
|---|---|
| Inputs | 36: 16 analog/digital (0-10 V, 10-bit) and 20 digital optoisolated, 5 to 24 Vdc, 6 with interrupt |
| Outputs | 22: 8 analog/digital/PWM (0-10 V, 8-bit), 14 digital optoisolated, 5 to 24 Vdc |
| Ethernet | W5500, 10/100 Mbit, RJ45 |
| Serial and buses | RS-485, RS-232, TTL serial, I2C, SPI |
| Built in | Real-time clock, microSD slot, USB 2.0 Type-B |
| Programming | Arduino IDE with the Industrial Shields boards package |
| Power supply | 12 to 24 Vdc, fuse (2.5 A) and polarity protection |
| Environment | 0 to 60 °C operating, 10 to 90 % humidity without condensation |
| Mounting and protection | DIN rail TS35, IP20, inside a cabinet |
| Communication versions | Wi-Fi & BLE, GPRS/GSM, LoRa and DALI versions are described in the family datasheets |
Projects built with Arduino-based PLCs
Field-tested examples with code, built on M-Duino PLCs with the same Arduino IDE environment.
- Modbus TCP register map for a plantSee the example
- Modbus TCP to RTU gatewaySee the example
- Modbus flow meter 32-bit counter and remote resetSee the example
- Modbus RTU drive speed controlSee the example
Before you choose the M-Duino 58
How do I program the M-Duino 58?
With the Arduino IDE (1.8.0 or later). Install the Industrial Shields boards package from the Boards Manager and select the M-Duino 58. Upload through USB; the Ethernet port also lets you maintain it remotely.
Does it have relay outputs?
No. Its outputs are optoisolated digital and analog/PWM outputs. If you need relays, look at the M-Duino models with relay outputs, such as the 19R, 38R or 57R.
Can it talk Modbus?
Yes. Use Modbus RTU over RS-485 and Modbus TCP over Ethernet with the Industrial Shields Arduino libraries. It can act as master or slave.
Can the analog inputs read 4-20 mA sensors?
The analog inputs measure 0-10 V with 10-bit resolution. To read a 4-20 mA loop, add a precision shunt resistor (500 Ω turns 20 mA into 10 V) and scale the reading in your program.
Does it keep the time and log data?
Yes. It has a real-time clock and a microSD slot, so it can timestamp events and log data locally.