Hola Valentín:
Como te había comentado, creo que sería bueno que Icaro pudiera trabajar con placas Pinguino genéricas que tengan la última versión 4.14 del bootloader,
que entiendo tendría algunas mejoras (por ejemplo el tamaño baja de 7K a 3K y mejora el manejo del botón de reset) [1].
Con Icaro una placa así falla al momento de cargar el programa. Rastreando el problema encontré que Icaro solo dialoga con bootloaders 2.12 (Vasco), en carga.py ([2] linea 164) y docker.py ([3] linea 64).
Observando la versión actual de Pinguino, hay una carpeta donde maneja todo el tema del "upload" [4]. Allí hay un módulo para autodetectar el bootloader, y en uploader.py linea 158 selecciona cual será el módulo usado para la carga según sea el bootloader. Para la versión 2.x elije el uploaderVSC.py y para la 4.x elije el uploader8.py (la versión 3 parece que nadie la usa).
Comparando, lo que está en Icaro - docker.py - CargaArchivo es lo que está en Pinguino - uploaderVSC.py - writeHex. Según entiendo, lo que se podría hacer es llevar esos dos módulos (uploaderVSC.py y uploader8.py) desde Pinguino a Icaro, y modificar lo que está en carga.py (linea 64) agregando un parámetro en el archivo de configuración para poder elegir entre los dos bootloaders, parámetro que por defecto apuntaría a la forma actual con Vasco (o si no agregar también el módulo de autodetección).
Saludos y desde ya muchas gracias,
Mario Guerra