OpenPLC is a microcontroller based small scale PLC, where atmega16 is the controller. It is programmed using free open source software LDmicro.