Place: Medialab-Prado. Plaza de las Letras, C/ Alameda, 15 · Madrid
Paper by Jean-Pierre Mandon presented within the context of the workshop-seminar Interactivos?'09: Ciencia de garaje, celebrated in Medialab-Prado from January 28 through February 14, 2009.
Pinguino is an open source set of tools. The goal of this project is to build a real USB development board. Due to the many applications designed with Arduino (www.arduino.cc) and based on an ATMEL microcontroller, the idea was to build a compatible board and language with a real USB microcontroller, the PIC 18F2550.
Because Arduino is built with an FTDI chip, the serial port is shared between the bootloader and the UART application. Another problem is the IDE, written in JAVA, it is based on C libraries and generate 4 kbytes of code for an empty main loop. Pinguino is based on Python and SDCC. Before the compilation, a preprocessor translates specific instructions of the Arduino language to native C instructions. For example, digitalWrite(0,HIGH) is translated to PORTBbits.RBO=1. Thus the execution speed is better.
Because the 18F2550 has a native USB module, the UART is not shared with the USB and the bootloader is really separated from the application.
Link demo on Youtube: