Arduino® mikrokontroler omiljen je među hobistima, umjetnicima i graditeljima robota koji nisu nužno inženjeri elektrotehnike. Programsko okruženje Arduino® temelji se na Processingu, jeziku visoke razine koji je općenito lakši za naučiti nego C++ i Java. Ljudima koji uče programiranje Arduino® ili su programirali neko vrijeme općenito će biti mnogo lakše stvoriti funkcionalni kod prolaskom besplatnih tutorijala za Arduino®, pozivajući se na jezičnu referencu, ostajući organizirani i zapisujući funkcije programa na papir prije pisanje bilo kojeg koda. Svaki program također treba testirati prije nego što se učita na Arduino® mikrokontroler.
Službena Arduino® web stranica sadrži veliku biblioteku vodiča za programiranje za početnike i programere srednje razine. Ovi tutoriali podučavaju stvari kao što su kako upaliti diodu koja emitira svjetlo (LED) ili pokrenuti motor. Početnici bi trebali planirati proći kroz svaki vodič redoslijedom kojim su predstavljeni. Sastavljanje koda i dodavanje komentara koji opisuju što svaki redak znači uvelike će povećati početničko razumijevanje Arduino® programiranja i poboljšati njegovo ili njezino pamćenje važnih koncepta programiranja.
Na službenoj Arduino® web stranici nalaze se poveznice na objašnjenja različitih funkcija koje koristi Arduino® programski jezik. Također pruža veze na kod generiran u zajednici i dodatne biblioteke koje mogu proširiti funkcionalnost Arduino® koda i mikrokontrolera. Kada programer naiđe na zbunjujući kod, zaboravi sintaksu programiranja Arduino® ili mora pronaći naziv funkcije, web stranica obično ima odgovore.
Organizacija može biti razlika između funkcionalnog, jasnog koda i neispravnog ili nerazumljivog koda. Da bi Arduino® projekt funkcionirao, hardver i softver moraju se međusobno nadopunjavati. Ako je pin pogrešno postavljen kao izlaz umjesto ulaza u kodu, povezani uređaj može biti oštećen. Kako biste izbjegli ove pogreške, napravite popis svih povezanih ulaza i izlaza na Arduino® mikrokontroleru. Zapišite nazive spojenih uređaja, njihove brojeve pinova, jesu li ulazni ili izlazni uređaji i njihove radne napone. Mnogo je lakše uputiti se na popis nego opetovano gledati veze na Arduino®.
Ostati organiziran također znači da se kod treba dobro čitati. Definirajte globalne varijable koje se koriste u cijelom programu prije postavljanja i dajte svim varijablama prepoznatljiva imena. Varijabla koja pohranjuje dolazne vrijednosti od ultrazvučnog senzora, na primjer, može se nazvati “ultrazvučno čitanje”.
Unutar te funkcije treba definirati varijable koje koristi samo jedna funkcija. To olakšava otklanjanje pogrešaka koda ako varijabla pohranjuje neočekivanu vrijednost. Dobar kod je također dobro komentiran. Koristite komentare da opišete što kod radi. To znatno olakšava uočavanje problema, modificiranje koda za buduće aplikacije i dijeljenje koda s drugim programerima.
Mali programi mogu se kodirati na licu mjesta u Arduino® aplikaciji za programiranje, ali veliki programi općenito ne mogu. Veliki programi mogu sadržavati mnogo redaka koda, sadržavati više funkcija ili komunicirati s više uređaja. Općenito je lakše napisati veliki ili složeni program zapisivanjem njegovih funkcija redoslijedom kojim se pojavljuju na papiru. Dijagrami toka korisni su alati za ilustriranje funkcionalnosti velikih programa i rasporeda njihovih funkcija.
Kako biste izbjegli učitavanje lošeg koda na čip mikrokontrolera, prvo testirajte sav kod u programskom okruženju Arduino®. Aplikacija za programiranje sadrži gumb “Verify/Compile” koji izgleda kao tipičan gumb za reprodukciju. Nakon što se pritisne gumb, svaki redak koda provjerava se na pogreške, uključujući sintaktičke pogreške. Ako se pronađe pogreška, rezultat se prikazuje na dnu prozora za programiranje.