El Arduino® es un microcontrolador aumentado de código abierto que se programa utilizando un lenguaje basado en Wiring. Sin embargo, su entorno de desarrollo se basa en Processing, un lenguaje de programación descargable y gratuito que se usa comúnmente para generar gráficos por computadora y visualizaciones de datos complejas. Los bocetos, que también se denominan programas, integrados en Processing y el lenguaje Arduino® utilizan la extensión de archivo Processing Development Environment (PDE). Además, los bocetos de Processing y Arduino® pueden comunicarse entre sí, proporcionando control bidireccional sobre los bocetos de Processing y el hardware Arduino®.
La comunicación puede ser unidireccional o bidireccional entre los entornos de procesamiento y Arduino®. Los datos de un boceto de procesamiento, por ejemplo, se pueden usar para controlar el hardware conectado al microcontrolador Arduino®, o los datos del microcontrolador se pueden usar para controlar la funcionalidad de un boceto de procesamiento. Alternativamente, ambos entornos pueden afectarse entre sí simultáneamente. Algunos ejemplos de proyectos de Processing y Arduino® incluyen el uso de potenciómetros para controlar el color de un objeto mostrado por un boceto de Processing y el uso de eventos de clic del mouse desde un boceto de Processing para controlar una serie de diodos emisores de luz (LED).
Los lenguajes Processing y Arduino® se comunican entre sí a través del código y el puerto de bus serie universal (USB), que emula y se muestra como el puerto serie de la computadora. Para configurar la comunicación bidireccional entre el microcontrolador y Processing, o para controlar el Processing con Arduino®, los usuarios escriben bocetos en ambos idiomas. El boceto de procesamiento busca el puerto serie conectado al Arduino®, mientras que el código del microcontrolador recibe y transmite datos de las entradas y salidas del Arduino®. Esto proporciona a los aficionados un control total sobre sus proyectos.
La biblioteca Arduino® gratuita disponible para Processing permite a los usuarios controlar un Arduino® con datos de Processing sin escribir ningún código para el microcontrolador. En su lugar, se carga un programa estándar en el tablero y el usuario escribe el código en el boceto de procesamiento. El código escrito normalmente realiza las siguientes funciones: encuentra y abre el puerto serie conectado al Arduino®, almacena datos del microcontrolador en variables y usa los datos para controlar diferentes parámetros, como el tamaño o el color de un objeto, en el Bosquejo de procesamiento.
Las personas que están aprendiendo a trabajar con Arduino® y Processing pueden encontrar bocetos de ejemplo en el entorno de programación Arduino®. Estos bocetos vienen con cada descarga de la aplicación y, por lo general, los usuarios pueden ejecutarlos sin escribir ningún código adicional. Los creadores de Arduino® también proporcionan procesamiento y código Arduino® completamente comentados en línea.