CANADUINO PLC 300-24 DIY Arduino MEGA 2560 PLC (Programmable Logic Controller)

CAD 69.90

Need more than we have? Order now, we will ship when back in stock. Lead time about 2-3 weeks.
See our backorder policy.
Availability: In stock (can be backordered) SKU: 26995
Quantity 3 - 9 CAD 62.91
Quantity 10 - 24 CAD 61.16
Quantity 25 + CAD 59.42


The CANADUINO PLC 300-24 is an Arduino MEGA 2560 PLC designed for DIY enthusiasts interested in building their own programmable logic controller.

The kit includes all the necessary components, such as printed circuit boards (PCBs), microcontroller, electronic components, connectors, and other hardware required to assemble the PLC. The kit also provides documentation and instructions to guide users through the assembly process.

Once assembled, the CANADUINO Arduino MEGA 2560 PLC can be programmed to control various automation and control applications. It offers digital inputs and outputs, analog inputs, and communication interfaces such as I2C and UART. With its open-source nature, users have the flexibility to customize and expand the functionality of the PLC according to their specific requirements.

The DIY nature of the kit makes it suitable for individuals interested in learning about programmable logic controllers, automation, and control systems by building and programming their own devices.

This Arduino-compatible Industrial DIY PLC Kit offers a very affordable opportunity to add a programmable logic controller to many kinds of projects and machines like lighting, HVAC, greenhouses, water treatment or smokehouses. It can help you control your Halloween decoration or your manufacturing equipment.

CANADUINO MEGA2560 300-24 PLC uses an Arduino MEGA2560 or compatible module as the main processor and can be programmed using Arduino IDE. We highly recommend Mitovs Visuino visual programming tool.

CANADUINO MEGA2560 300-24 PLC fits a very small budget but delivers power and versatility equal to 10x more expensive professional process control devices.

Arduino Industrial DIY PLC 300-24 basic features:

– 8 analog 0-10V inputs (10-bit res.)
– 8 analog inputs or GPIO (TTL level)
– 8 analog 0-10V outputs (8-bit res.)
– 2 interrupt inputs
– 16 digital 5-24V inputs (2V-24V with modification)*
– 14 digital 250V/5A relay outputs
– 1 x I2C Bus, 1 x SPI, 2 x RS232 **
– Operating voltage 12-24V DC

Available options are a DIN rail mounting tray kit and a Real-Time-Clock and SD-Card module.

Arduino MEGA2560 is not included but compatible modules are available here in the store.

MAXIM MAX233CPP is not included (required for 2 x RS232 port if needed)

MEGA2560 300-24 PLC is a Do-It-Yourself kit comprising only through-hole parts with a pin pitch of typically 2.5mm or more and is easy to build using basic electronic tools.

There are 16 opto-isolated digital inputs, typically recognizing any voltage 5V to 24V DC as HIGH level, due to the included optocouplers with a CTR of about 80-200.

* If you require higher sensitivity, you can just replace one or more of the optocouplers with Darlington types like the LTV-845. Then the inputs will read HIGH already at voltages of about 2 Volts.

The 14 digital outputs are fast-acting relays OMRON G5NB-1A-E with about 10ms operation and release time and high-capacity contacts. The maximum load can be 5A @ 250VAC or 30VDC.

Analog inputs and outputs on screw terminals are designed for 0-10V operation, typically used for light dimmers or motor drivers, for example.

Several 10V output terminals are available to deliver 10V levels for example to a potentiometer, to generate the analog input signal. The 10V level is adjustable in a range of about 9-11V and is also used to drive the output relays. The 10V supply outputs in the analog input section are over-current protected (trip point 200mA) by a self-resetting fuse.

I2C bus and SPI are exposed for an easy connection to auxiliary devices, for example, the optionally available RTC and micro-SD module. There are no pull-up resistors for the I2C bus on board; please make sure your external device has these resistors assembled. I2C and SPI data lines are direct connections to the MEGA2560 and do not have additional protection.

** The 2 x RS232 ports require an optional MAX233CPP DIP-20 chip, which is available from all the big distributors (Mouser, Digikey, Arrow etc.) 

With the RS232 option, the PLC is easily connected to machines, frequency motor drives, computers or HMI devices. Both ports are available on the same 9-pin male D-Sub port. Port COM2 is available on pins 2 and 3, while COM3 is available on pins 7 and 8. The 1st serial port is used for programming and monitoring (RX/TX through USB).


Substitute parts:
If we can’t source the value of the part as shown in the schematics, we will ship the kit with a substitute part close enough to guarantee proper function. Please always install the exact matching parts first, and install the substitutes at last. This way, you will not mistakenly install the wrong parts.

We also offer a smaller Arduino-compatible PLC DIY kit MEGA328 PLC 100, including an Arduino NANO compatible controller board. The smaller version is suitable for beginners.

A DIN rail mount (tray) with outer dimensions of 212 x 128mm is available as an option and snaps on standard 35mm DIN rails.

Ordering options:
DIN rail kit: EAN 4260474033997
RTC.SD module (currently unavailable): EAN 4260474034413

Download Overview and Assembling Instructions

CANADUINO MEGA2560 DIY PLC 300-24 Schematic

CANADUINO MEGA2560 DIY PLC 300-24 Parts List


6 reviews for CANADUINO PLC 300-24 DIY Arduino MEGA 2560 PLC (Programmable Logic Controller)

  1. 5 out of 5

    Richard Blais (verified owner)

    I really liked putting together this kit. Everything is well indicated in the assembly instructions and the electronic parts are of good quality. The printed circuit board is also verry well created.

  2. 5 out of 5

    Alejandro Patino (verified owner)

    Excellent kit, very detailed instructions, it looks very nice once assembled, I programmed it with openplc (you have to modify a file to map the inputs and outputs) and most importantly… it works!, my only ineptitude… I don’t know how to use rtc in openplc. besides that…i’m more than happy with the PLC, thanks guys, great job.

  3. 5 out of 5

    Ian Shelly

    Purchased for a robotics project and everything is working well. Kit was easy to assemble, but maybe a bit much for a first time kit builder. The only improvement I would suggest is adding some high speed digital outputs (non relay) for driving things like stepper motors. Or at least screw terminals for the aux connector.

  4. 5 out of 5

    J P F

    I discovered this kit as delivered has an issue detecting 3.3 V inputs. This is IMneverHO an EVIL type of error because they yellow LED illuminates with 3.3VDC (as if) but the Arduino can not actually detect anything. Too bad so sad, the game is not just illuminating the LEDs. My notes below listing substitutions indicate a 3.2kOhm Rpak was provided for R15 and R17.I have experimented and found a value of 2.5kOhm will make it work. If you add a 10kOhm resistor across a single resistor in the existing Rpak you can fix a single channel if desired. I did not research and calculate if the targets of this(IC6, IC7, IC9, and IC10) can tolerate the modification when supplied with a 24VDC input. You have been warned ;-)—NO STARS SUBTRACTED—(yet) I’m treating it as an added adventure tangent because I am very familiar with and enjoy hardware troubleshooting. It’s the nature of the beast in DIY! My unedited claim below to have actually calculated what should work is a bit of a stretch, please forgive my base indulgance. 😉
    I like building kits that do fun stuff and this PLC kit has huge potential. It’s not a ‘beginner’ kit IMneverHO but it _is_ easy intermediate. It tolerated my rusty soldering skills while I dialed in tip temp. My kit included some undocumented part substitutions but it is/was possible to calculate that what is provided should probably work (IE: may not be an error). I just blundered on and so far so good. Substituton details:R2, R5 instructions call for B561 (560 Ohm) my kit had B331 (330 Ohm)R14, R21 instructions call for A272 (2.7 kOhm) my kit had B222 (2.2 kOhm) R15, R17 instructions call for A392 (3.9 kOhm) my kit had A322 (3.2 kOhm) Resistors is kinda like hand grenades, close often works just as well. Mine looks great, it powered right up with no suprises and appears fully functional. I attribute that to the kit and the instructions not necessarily my superb skills. For me it is/was a great choice. Great price! I already banked a lot of fun value out of it. I plan to use OpenPLC on it. I will probably enjoy navigating ‘that’ portion of this DIY adventure also! YMMV:-)

  5. 3 out of 5

    wlambert (verified owner)

    Wow, these guys never built a Heath Kit. Printing on the resistors and capacitors is microscopic and faint, or not there at all. You will need plenty of good light, a magnifying glass, and a multimeter. A little luck will be a great help. The pictures on the web site are a big help, but my parts bag has blue ceramic capacitors with no markings. The board in the picture has yellow capacitors. Don’t get me wrong, the quality of the board itself is fantastic, and when you are done and it is working, you will be glad that you built it. But it is not a kit for beginners and the instructions are sketchy at best. Only two other reviews. I’ll bet you get a lot of reviews like this and never publish them. Well, you don’t get many reviews from someone who has built a Heath Kit. Most of us are dead!!!!

  6. volkerforster

    Do you really believe WE print on resistors and capacitors? The Heath Kit era ended 30 years ago. I remember even resistors from the 1950s, one inch long, with a value printed in clear text on them. Sorry but this is not happening anymore in 2024. If one can’t read the color code an a resistor: take your Ohmmeter.
    The blue capacitors in the bag have indeed their value printed on them: 225 (=2.2µF). As a seasoned electronics enthusiast, you know that the color of a capacitor doesn’t say anything about its capacity.
    And NO, we don’t get a lot of reviews that we don’t publish.
    I am happy you still had fun building it.

  7. 5 out of 5

    Dustyn McMaken

    I bought this controller for use with a program of mine. It perfect for what I needed, however some of the capacitors and resistor packs are cross referenced part number, so some parts are hard to identify. Along with that I found with my board the IO pinout labels printed on the PCB referencing the Arduino pins were not correct. The correct pinout was labeled on the schematics. There are other reviews that list this problem. Other than that I was satisfied!!!

  8. volkerforster

    “the IO pinout labels printed on the PCB referencing the Arduino pins”… and this where you were wrong. Nobody ever said the I/O ports of the PLC bord would match the GPIO numbers on the Arduino. The pin-mapping is clearly described in the documentation. The reason is, that only 15 of the 54 GPIO are PWM-capable, and 8 of these 15 pins must be mapped to the analog outputs. When you create code, you define your ports at the beginning, and then you use the port numbers per definition. It is definitely no design flaw that the port numbers on the PLC don’t follow the Arduino’s GPIO numbering 1:1.

  9. volkerforster

    The problem is only the optocouplers, not the resistors. We use LTV-847 or K847 for this kit, to keep the cost at a reasonable level. By replacing them with Darlington types, like the LTV-845, the inputs will recognize HIGH levels as low as 1.5-2.0V. Unfortunately are the ones we ship with the kit “somewhere” in a range of 80-200 CTR. At CTR 200, they will safely switch at 3V. But at CTR 80, they need 4V to switch. The Darlington type optocouplers have a CTR between 500 and 2000.

Add a review