El lenguaje de Arduino es hermano bastardo del lenguaje Processing (
http://www.processing) que sí que incluye manejo de gráficos y multimedia (de hecho, es utilizado en instalaciones artísticas). Existen librerías que permiten utilizar Processing con Arduino en vez de (o además de) el propio lenguaje Arduino.
Una simple búsqueda por Google muestra:
http://www.arduino.cc/playground/Interfacing/Processinghttp://webzone.k3.mah.se/projects/arduino-workshop/projects/arduino_meets_processing/instructions/Por otro lado, en las FAQ de Arduino comentan:
Can I program the Arduino board in C?
In fact, you already are; the Arduino language is merely a set of C/C++ functions that can be called from your code. Your sketch undergoes minor changes (e.g. automatic generation of function prototypes) and then is passed directly to a C/C++ compiler (avr-g++). All standard C and C++ constructs supported by avr-g++ should work in Arduino. For more details, see the page on the Arduino build process.
Can I use a different IDE to program the Arduino board?
It is possible to compile programs for the Arduino using other build tools (e.g. Makefiles and/or AVR Studio). You'll need to configure these to link against the appropriate files in the Arduino core libraries. See the description of the Arduino build process.
Can I use an Arduino board without the Arduino software?
Sure. It's just an AVR development board, you can use straight AVR C or C++ (with avr-gcc and avrdude or AVR Studio) to program it.
Can I use the Arduino software with other AVR boards?
Yes, although it may require some modifications to the Arduino core libraries. See the porting page in the Arduino Google Code project for details.
Donde cuando habla de "Arduino build process" se refiere a
http://arduino.cc/en/Hacking/BuildProcessVenga, hasta luego