Struktur dasar bahasa pemrogramman Arduino sangat sederhana dan berjalanan setidaknya dalam dua bagian. Dua bagian yang dibutuhkan ini, atau disebut juga fungsi, berupa blok statement tertutup seperti berikut :
void setup(){
statements;
}
void loop()
{
statements;
}
Dimana setup() adalah persiapan, dan loop() adalah eksekusinya. Kedua fungsi ini diperlukan oleh program untuk dapat bekerja.
Fungsi setup mestilah diikuti oleh deklarasi variabel-variabel pada bagian awal program. Ini adalah fungsi pertama yang berjalan di program, dan dia hanya berjalan satu kali, dan digunakan untuk mengeset pinMode atau menginisialisasi serial communication
Fungsi loop mengikuti setelahnya dan berisi kode yang dieksekusi secara berulang-ulang – seperti membaca input, mentriger output dll. Fungsi ini adalah inti dari seluruh program Arduino dan melakukan sekumpulan tugasnya.