Pinguino es un conjunto de herramientas de código abierto. El objetivo de este proyecto es construir una placa de desarrollo USB real. Dadas las múltiples aplicaciones diseñadas con Arduino (www.arduino.cc) y basadas en un microcontrolador ATMEL, la idea es construir una placa y lenguaje compatibles con un controlador USB real, el PIC 18F2550.
Puesto que Arduino está construido con un chip FTDI, el puerto de serie está compartido entre el bootloader y la aplicación UART. Pinguino está basado en Python y SDCC. Antes de compilar, un preprocesador traduce instrucciones específicas del lenguaje de Arduino a las instrucciones nativas en C. Por ejemplo, digitalWrite(0,HIGH) se traduce en PORTBbits.RBO=1. Por lo tanto, la velocidad de ejecución es mejor.
Puesto que el 18F2550 tiene un módulo nativo USB, el UART no está compartido con el USB y el bootloader queda muy separado de la aplicación.
Ver demo en youtube:
http://www.youtube.com/watch?v=hNhW_gA8XVk