Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. 

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque que es ejecutado en la placa. 

La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programación de alto nivel Processing. Sin embargo, es posible utilizar otros lenguajes de programación y aplicaciones populares en Arduino,21 debido a que Arduino usa la transmisión serial de datos soportada por la mayoría de los lenguajes mencionados. Para los que no soportan el formato serie de forma nativa, es posible utilizar software intermediario que traduzca los mensajes enviados por ambas partes para permitir una comunicación fluida. Algunos ejemplos son: 

 
  • 3DVIA Virtools: aplicaciones interactivas y de tiempo real.
  • Adobe Director
  • BlitzMax (con acceso restringido)
  • C
  • C++ (mediante libSerial o en Windows)
  • C#
  • Cocoa/Objective-C (para Mac OS X)
  • Flash (mediante ActionScript)
  • Gambas
  • Isadora (Interactividad audiovisual en tiempo real)
  • Instant Reality (X3D)
  • Java
  • Liberlab (software de medición y experimentación)
  • Mathematica
  • Matlab
  • MaxMSP: Entorno gráfico de programación para aplicaciones musicales, de audio y multimedia
  • Minibloq: Entorno gráfico de programación, corre también en las computadoras OLPC
  • Perl
  • Php
  • Physical Etoys: Entorno gráfico de programación usado para proyectos de robótica educativa
  • Processing
  • Pure Data
  • Python
  • Ruby
  • Scratch for Arduino (S4A): Entorno gráfico de programación, modificación del entorno para niños Scratch, del MIT)
  • Squeak: Implementación libre de Smalltalk
  • SuperCollider: Síntesis de audio en tiempo real
  • VBScript
  • Visual Basic .NET
  • VVVV: Síntesis de vídeo en tiempo real