К схемотехнике подошли хорошо. Контроллер лучше пилить на базе FreeRTOS. И я считаю, что если для контроллера нету среды разработки под IEC61131-3, то это уже не контроллер. Ардуино не более, чем баловство.
Я под свой PLC пишу IDE из под Python, в контроллере есть крутые фичи, которые из за общего упадка разума позабыли, хотя в прошлой цивилизации широко использовались. Есть идея вообще захватывать железо контроллерное которое не успели выкинуть и питона запускать на них.
Считаю что эти гальванические развязки они излишни, не обижайтесь, я действительно так думаю, наоборот, создают проблемы. Есть действительно отдельные случаи когда например какой то вход изолировать, или выход, но это исключение.