Недавно купил на АлиЭкспресс плату для принтера, за 2700руб, с
STM32F4xx. FYSETC S6 v2.1. Если на неё установить драйвер, типа
TMC2209, то предусмотрены цепи для сигнала Diag драйвера, который
генерируется аппаратно при превышении программируемого порога тока.
Плата с драйвером, вставляемая в колодку платы управления, стоит
менее 1000руб. Цепь UART для программирования и получения статуса драйвера уже предусмотрена. Исходные коды для управления TMC2209 есть в проекте Marlin Firmware.
Остаётся добавить платку Modbus RTU и в Марлин - протокол Modbus.
Можно ещё проще - на аналоговый вход (для термодатчика) завести аналоговый сигнал 0..10В и вуаля, несколько строк кода, и задача решена.