El "software" de Arduino consiste de dos elementos: un entorno de desarrollo (IDE) (basado en el entorno de "processing" y en la estructura del lenguaje de programación Wiring), y en el cargador de arranque ("bootloader," por su traducción al inglés) que es ejecutado de forma automática dentro del microcontrolador en cuanto este se enciende.