E para um projeto como esse, não seria viável utilizar outra coisa que não um ESP32. O protocolo de comunicação poderia ter sido implementado por bluetooth, mas como bluetooth consome recursos demasiados, preferi fazê-lo por WiFi, mas é uma opção. O ESP32 possui 2 núcleos que podem trabalhar a até 240MHz, além de ter um monte de memória, coisa que flexibiliza a programação. Não usei o sistema de arquivos do ESP32, mas o código não chega a ser genérico, pois estou utilizando tasks para o processamento assíncrono. Por fim, um recurso importante adicionado à programação foi o controle de acesso a algumas variáveis globais, que não devem ser acessadas simultaneamente, por isso implementei uma trava com mutex. No artigo da CLP i4.0 da VDC exemplifiquei o uso, acredito que seja importante dar uma olhada para posteriormente entender o código do misturador de cores CMYK.