Arduino è una piattaforma hardware composta da una serie di schede elettroniche dotate di un microcontrollore. È stata ideata e sviluppata da alcuni membridell'Interaction Design Institute di Ivrea come strumento per la prototipazione rapida e per scopi hobbistici, didattici e professionali.Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, autolavaggi, temperatura e umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi. È abbinato ad un semplice ambiente di sviluppo integrato per la programmazione del microcontrollore. Tutto il software a corredo è libero, e gli schemi circuitali sono distribuiticome hardware libero.
Fino a oggi, sono state commercializzate 16 versioni dell'hardware Arduino:
1-Serial Arduino, programmata con una porta seriale DB9. Fa uso del microcontroller ATmega8;
2-Arduino Extreme, con interfaccia di programmazione USB, facente uso del chip ATmega8;
3-Arduino Mini, una versione in miniatura facente uso di un ATmega168 a montaggio superficiale;
4-Arduino Nano, una versione ancor più piccola della Mini, utilizzante lo stesso controller ATmega168 SMD e alimentata tramite USB;
5-LilyPad Arduino, un progetto minimalista (scheda circolare dal diametro di 50 mm, per circa 0.8 mm di spessore), per applicazione su indumenti, con lo stesso ATmega168 in versione SMD;
6-Arduino NG, con un'interfaccia USB per programmare e usare un ATmega8;
7-Arduino NG plus, con interfaccia di programmazione USB, con un ATmega168;
8-Arduino BT, con interfaccia di programmazione Bluetooth e con un ATmega168;
9-Arduino Diecimila, con interfaccia di programmazione USB e con un ATmega168 in un package DIL28;
10-Arduino Duemilanove, facente uso del chip Atmega168 (o Atmega328 nelle versioni più recenti) e alimentata in corrente continua tramite USB, con commutazione automatica tra le sorgenti di alimentazione;
11-Arduino Mega, che fa uso di un ATmega1280 a montaggio superficiale per I/O e memoria addizionale;
12-Arduino Uno, evoluzione della Duemilanove con un differente chip, programmabile e più economico, dedicato alla conversione USB-seriale;
13-Arduino Mega2560, che fa uso di un ATmega2560 (anch'esso a montaggio superficiale) ed è un'evoluzione dell'Arduino Mega;
14-Arduino Due, che fa uso di un Atmel SAM3X8E ARM Cortex-M3 CPU;
15-Arduino Zero Pro, dotata di un microcontrollore Atmel SAMD21 basato su core ARM Cortex M0+ a 32 bit.
16-Arduino Yún, che fa uso di un ATmega32u4 e del processore Atheros AR9331, quest'ultimo compatibile con una distribuzione Linux basata su OpenWrt e chiamata LininoOS.