You maybe heard about PLC (Programmable Logic Controllers). They are usually common in industry where automation of processes is needed. PLCs are expensive and probably hardly affordable to hobby level enthusiasts. They normally come with software packages where you can build control processes using building blocks like Lego. Want one? Well nobody told told that you cannot build one.
Take a look at open source PLC project that tries to make these things accessible for everyone. It is based on AT91SAM7S256 microcontroller with 256kB of Flash, 64kB of SRAM and 8kB of EEPROM. PLCs are usually pretty same microcontroller boards with “hardened” I/Os. First of all PLC is designed to be powered from 24V DC (optionally can be configured from 12V). it has 10 digital inputs with LED indicators. 8 outputs are paired with NPN transistors in open-collector configuration capable of sinking 200mA each. And four 10-bit analog inputs rated at 10V. The PLC controller is split in to several boards for better assembly and maintenance. There is a separate CPU board that carries MCU, communication interfaces like RS232, RS485, also RTC and EEPROM. Another is I/O board where you can find optically isolated inputs and outputs, power supply, USB and JTAG. And last one is status board with LEDs that is visible to user. The only difference from industrial PLCs that it doesn’t come with fancy GUI based builder, but rather with open source GCC tools. The PLC we reviewed is relatively small. If you are looking for bigger, there is another almost twice bigger PCL which is build using same idea.