Open source programmable logic controller