Look into DDC controllers. DDC is slightly different from a PLC yet does many of the same things. I am a software engineer using DDC controls for whole building automation systems (AutomatedLogic). I control boilers, chillers, pumps, lighting, etc. Using all available IO types (AI/AO/DI/DO, PID control etc.) While PLC/DDC are not cheap (!) by any means, I find the software much easier to use than say Apex. When I look at Apex programmiing, it takes me back to the 1980's and I just can't do it. Maybe it's becuase I love my software and find it very easy to configure. PLC software, to me, is not real easy (ladder logic) but there are some newer versions hitting the market now that are more object oriented vs ladder. There are many DDC controllers available that are not out of reach to the average consumer (allerton comes to mind) - but again, I hate their software. Really comes down to what you find programmable for YOU. There are people that find Apex programming easy, and given the community of backers, I am sure a lot of things I'd call 'bugs' or 'buggy' have been worked out. For me, I use Automated Logic controllers for mostly monitoring - very little control. Most of these hobby devices do not allow direct AO control anyways, so I see no point in beating that horse to death. BUT - for temps, heat control, amp/voltage/wattage monitoring, etc., no apex controller has this beat.