Building An Industrial Control Unit With An Industrial Control Unit

Back in the 70s, industrial control was done with either relays and ladder logic or new programmable logic controllers. These devices turned switches on and off, moved stuff around a factory, and kept the entire operation running smoothly. In the late 70s, Motorola came out with an Industrial Control Unit stuffed into a tiny chip. The chip – the MC14500 –¬†fascinated [Nicola]. He finally got around to building an ICU out of this chip, and although this was the standard way of doing things 30 years ago, it’s still an interesting build.

[Nicola]’s ICU is extremely simple, just eight relays, eight inputs, the MC14500, a clock, and some ROM. After wiring up the circuit, [Nicola] wrote a compiler, although this chip is so simple manually writing opcodes to a ROM wouldn’t be out of the question.

To demonstrate his ICU, [Nicola] connected up an on/off switch, a start button, and a stop button. The outputs are a yellow, green, and red lamp. It’s a simple task for even a relay-based control scheme, but [Nicola]’s board does everything without a hitch.

If you’re looking for something a little more complex, we saw the MC14500 being used as an almost-CPU last year.

Video below.

28 thoughts on “Building An Industrial Control Unit With An Industrial Control Unit

  1. Pretty sweet. Why has nobody come up with an off the shelf Arduino compatible, industrial grade microcontroller platform? Preferably one that is modular and supports common items such as relay I/O?

    1. I enjoy my Arduino since I find dealing with dozens of control registers on PICs and AVRs too time consuming and tedious. To me, the Arduino concept is nothing more than an IDE that handles the tedious setup for you so you can get right to the fun stuff. I would not hesitate to use an Arduino unit to bypass the software department and get something running in the lab, but that is where I would have to draw the line. The Arduino is a great IDE paired with simple and known hardware, that’s it.

      I don’t mean to be a downer, but you will get laughed at using an Arduino in an industrial machine (probably by the customer). The big players in distributed industrial IO are there for a reason. They are very reliable, low risk, conform to industrial requirements (CE / RoHs / VDE, etc, UL), etc… The advantages an Arduino gives to a hobbyist are unimportant in an industrial application.

      Just my $0.02, not trying to beat anyone down, just want to be realistic.

      1. In most cases, the customer mostly cares if it works and sometimes if it can be upgraded. Not costing $5000, not being proprietary, not having a limited number of upgrades are all bonuses. When we have needed to upgrade industrial PLCs, we usually start by ripping them out, replacing the ladder logic “controller” and actually improving it in nearly all respects. Having open source industrial level Arduino controllers would actually be a bonus compared to the junk we come across sometimes.

        1. How many ms does it take to poll all of the inputs and change state of the outputs? When someone presses the E-stop, or opens a safety gate, or reaches/walks through a light curtain, how many ms does it take before your controller de-energizes the outputs that use those inputs as a safety interlock? What is the worst case response time? Are you prepared to go to court to prove your answers are correct and are based on sound engineering when someone gets *killed? If you can’t answer those questions, you’re not selling an industrial controller.

          *Not implying your controller would be at fault, but these things happen, and everything will be called into question.

          1. Good luck with that. “Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life”, according to their own statement. This probably includes applications in devices that perform critical safety functions.

          2. To be fair, he never said he was touching any part of the safety system. But yeah, definitely don’t do anything safety related with non-approved devices or else you are liable. The cost of an approved safety PLC (or hardwired circuit) should not be a factor in any budget decision, it has to be done right.

          3. Sometimes separate safety PLCs are used, sometimes just safety relays. When the safety PLC is intergrated to the main PLC, the PLC probably does things you can’t do with an arduino PLC, but yes, you can’t use arduinos or any other non approved equipment for safety parts of the machine.

        2. If you are doing small installs or upgrades on the fly the Arduino might have an advantage if you are familiar with it, but have you tried using the Omron PLCs? You have to buy a software license, but to me it is worth it. The software uses graphical logic blocks, which to me is much easier than writing code, and allows for simulation as well. My brain likes looking at logic blocks versus text. I have worked with the G9SP because it handles our EMO functionality (it has safety approvals) but can also be used for generic digital IO.

          If a $5000 control system is too pricey for your customers then that is probably why you come across so much junk, unfortunately. You get what you pay for. When I think Industrial, I am thinking food processing, electronics, assembly lines, etc. Places where down-time due to control system malfunction would be a huge problem and outweigh the cost (to a point, of course). I am used to semiconductor fab equipment where $5000 is peanuts. If you scrap a wafer or cause down-time you are talking BIG bucks in lost product and/or productivity. Some wafers are worth over $100k (depends what devices are on them, or course) and a lot of fab tools will do over 500 per day. There are just so many things that can go wrong…

    2. What I’m looking for is not so much Arduino compatible industrial hardware. (Not that hard to design a good solid case for an arduino) What I would like to see is a fully IEC 61131-3 compatible IDE, with support for Function Block Diagram, Sequential Function Chart and Structured Text. A lot of what most users of Arduino do with it is much easier to implement using those methods than Wiring code. (A bit like the MATLAB Arduino support, but without the need for a constant serial link)

    1. It’s like a lot of comp sci things, they have an air of superiority about them and basically think it’s your own fault for not understanding something as complicated as language design and parsers etc.

      1. You are right, it really is just an assembler, the idea at first was to make a cool UI to draw ladder diagrams and compile them to binary code. Most of the fun was wiring up the board, I don’t think I will be putting that much effort any time soon on this project anyway. LDMicro ( does a quite good job in terms of ladder diagrams so maybe expanding that would be a better idea. This is just a toy for me, I might use it to blink my xmas lights next year perhaps.

  2. If you can’t find an actual MC14500B, there’s always the VHDL implementation.

    There’s a ton of good stuff out the net about this part. Back when it first came out, a friend and I built up a complete system with 16 bits of input, 16 bits of out, a hex keypad for programming, 1K of memory (2114A SRAMs), run or single step, etc.

    Somewhere, I still have two of the original red books. There’s also PDF copies of them on the web. Fun stuff.

  3. It would be great to have an open source board which could interface with those industrial components like Siemens S200. Those components are very solid and cheap on ebay. This way we wouldn’t have to reinvent the already available parts. Just reinvent the controller with modern features and without proprietary (software/protocol) standards.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.