Arduino ist eine praktische, flexible und benutzerfreundliche Open-Source-Plattform für elektronisches Prototyping. Sie umfasst Hardware (verschiedene Arduino-Boards) und Software (ArduinoIDE). Sie wurde im Winter 2005 von einem europäischen Entwicklerteam entwickelt. Zu den Mitgliedern gehören Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis und Nicholas Zambetti. Sie basiert auf einer einfachen Open-Source-I/O-Schnittstelle und verfügt über eine Processing/Wiring-Entwicklungsumgebung mit ähnlichen Sprachen wie Java und C. Sie besteht im Wesentlichen aus zwei Teilen: Der Hardwareteil ist die Arduino-Platine, die für die Schaltungsverbindung verwendet wird; der andere ist die Arduino IDE, die Programmierumgebung auf Ihrem Computer. Sie schreiben lediglich den Programmcode in der IDE, laden das Programm auf die Arduino-Platine, und das Programm gibt der Arduino-Platine Anweisungen. Arduino kann die Umgebung über verschiedene Sensoren erfassen und Feedback geben und durch die Steuerung von Lichtern, Motoren und anderen Geräten beeinflussen. Der Mikrocontroller auf der Platine kann mit der Arduino-Programmiersprache programmiert, in eine Binärdatei kompiliert und in den Mikrocontroller eingebrannt werden. Die Arduino-Programmierung erfolgt mit der Arduino-Programmiersprache (basierend auf Wiring) und der Arduino-Entwicklungsumgebung (basierend auf Processing). Arduino-basierte Projekte können nur Arduino oder Arduino und andere auf einem PC laufende Software umfassen, die miteinander kommuniziert (z. B. Flash, Processing, MaxMSP).