Struktur
Pada platform Arduino, setiap sketch (berkas .ino) minimal memiliki dua fungsi utama: setup(), dan loop(). Fungsi utama setup() dijalankan sekali saat board menyala atau di-reset. Sedangkan fungsi loop() dijalankan secara berulang-ulang selama board aktif. Sebenarnya ada fungsi main() (disediakan oleh core Arduino), yang memanggil setup() satu kali lalu terus memanggil loop(). Namun, pembuat kode program cukup fokus pada fungsi utama setup() dan loop().

1. setup()
Fungsi ini hanya dipanggil sekali saat program pertama kali dijalankan. Di bagian ini menempatkan inisialisasi awal sebelum program utama berjalan terus-menerus di loop(). Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang dijalankan.

2. loop()
Setelah setup() selesai dieksekusi satu kali, runtime Arduino memanggil loop() dan menjalankan instruksi di dalamnya berulang-ulang tanpa henti selama board menyala (hingga dimatikan atau di-reset). Artinya, urutan perintah di loop() akan terus diulang dengan pola yang sama. Namun perlu diingat bahwa pemakaian delay() atau kode yang memblokir akan memperlambat putaran loop() (pada ESP32 sebaiknya hindari blocking panjang agar tugas lain seperti Wi-Fi tetap responsif).

3. Curly braces { }
Tanda kurung kurawal { dan } dipakai untuk menandai awal dan akhir sebuah blok kode program, misalnya isi fungsi (termasuk setup() dan loop()), percabangan if/else, perulangan for/while, atau switch, serta menentukan batas cakupan variabel (scope), sehingga variabel yang dideklarasikan di dalamnya hanya berlaku di blok tersebut. Apabila kurung kurawal penutup tidak dituliskan, kompilasi akan gagal karena compiler tidak menemukan akhir blok yang benar. Secara praktik, gunakan {} untuk mengelompokkan beberapa pernyataan agar struktur program jelas, dan bahkan pada kasus satu baris pun disarankan tetap memakai {} untuk mencegah bug logika yang sulit dilacak.
4. Semicolon (;)
Titik koma (;) berfungsi sebagai penutup pernyataan dalam pemrograman berbasis C/C++ (termasuk Arduino); tanda ini ditempatkan di akhir deklarasi variabel, penugasan, pemanggilan fungsi, dan return. Tanpa tanda ini, umumnya dapat menimbulkan kesalahan saat kompilasi. Titik koma tidak digunakan setelah kurung kurawal penutup } maupun pada judul struktur kendali (if, while, for), kecuali pada header for yang memang memuat dua titik koma sebagai pemisah bagian (inisialisasi; kondisi; peningkatan). Perlu dihindari penempatan titik koma tepat setelah if/while karena menghasilkan pernyataan kosong yang menyebabkan blok berikutnya dieksekusi tidak sesuai yang diharapkan.
5. Blok Komentar /*…*/
Blok komentar /* … */ adalah penanda komentar multi-baris pada C/C++ (termasuk Arduino) yang digunakan untuk memberi penjelasan panjang atau menonaktifkan potongan kode lebih dari satu baris. Sintaksnya diawali /* dan diakhiri */; semua teks diantara keduanya diabaikan oleh compiler. Aturan penting: (1) Tidak bisa dinest—/* … /* … */ … */ akan menimbulkan error atau kesalahan; (2) jika */ terlupa, komentar “bocor” hingga akhir berkas dan menyebabkan kompilasi gagal; (3) komentar berbeda dari string—"/*" di dalam string tidak menutup/membuka komentar. Untuk komentar singkat satu baris, gunakan //.