Как раз для этого варианта PIC32MM подходит еще лучше, чем тинька - 2UART :) http://caxapa.ru/721108.html DC-DC - тут все понятно.
1 UART - на работу с модемом.
2 UART - на опторазвязку и работу со "вторичной частью", которая симистором и управляет.
Можно попробовать "хитро" коммутировать один UART тиньки на 2 задачи, но экономии программное памяти это не способствует.
В варианте PIC32MM потеряем в цене $0.5, зато получим сильно больше тактов (на единицу работы) и памяти (ОЗУ так в особенности).