Arduino® on avoimen lähdekoodin lisätty mikro-ohjain, joka on ohjelmoitu johdotukseen perustuvalla kielellä. Sen kehitysympäristö perustuu kuitenkin prosessointiin – ilmaiseen, ladattavaan ohjelmointikieleen, jota käytetään yleisesti tietokonegrafiikan ja monimutkaisten visualisointien luomiseen. Luonnoksissa, joita kutsutaan myös ohjelmiksi, sisäänrakennettu Processing ja Arduino® -kieli käyttävät PDE (Processing Development Environment) -tiedostotunnistetta. Lisäksi Processing- ja Arduino®-luonnokset voivat kommunikoida keskenään tarjoamalla kaksisuuntaisen hallinnan luonnosten käsittelyyn ja Arduino®-laitteistoon.
Viestintä voi olla yksisuuntaista tai kaksisuuntaista Processing- ja Arduino®-ympäristöjen välillä. Esimerkiksi prosessiluonnoksen tietoja voidaan käyttää Arduino®-mikro-ohjaimeen kytkettyjen laitteiden ohjaamiseen tai mikro-ohjaimen tietoja voidaan käyttää prosessiluonnoksen toimivuuden ohjaamiseen. Vaihtoehtoisesti molemmat ympäristöt voivat vaikuttaa toisiinsa samanaikaisesti. Joitakin esimerkkejä Processing- ja Arduino®-projekteista ovat potentiometrien käyttäminen Processing-luonnoksen näyttämän objektin värin hallitsemiseksi ja Processing-luonnoksen hiiren napsautustapahtumien käyttäminen valodiodien (LED-valojen) ohjaamiseen.
Processing- ja Arduino® -kielet kommunikoivat keskenään koodin ja USB -portin kautta, joka emuloi ja näkyy tietokoneen sarjaporttina. Käyttäjät voivat kirjoittaa luonnoksia molemmilla kielillä, jotta voidaan muodostaa kaksisuuntainen tiedonsiirto mikro-ohjaimen ja prosessoinnin välillä tai hallita prosessointia Arduino®: n avulla. Käsittelyluonnos etsii Arduino®-laitteeseen kytkettyä sarjaporttia, kun taas mikro-ohjaimen koodi vastaanottaa ja lähettää tietoja Arduino®-tuloista ja -lähdöistä. Tämä antaa harrastajille mahdollisuuden hallita projektejaan täydellisesti.
Käytettävissä oleva ilmainen Arduino®-kirjasto prosessointia varten antaa käyttäjille mahdollisuuden hallita Arduinoa® käsittelyn tiedoilla kirjoittamatta mitään koodia mikro-ohjaimelle. Sen sijaan vakio -ohjelma ladataan taululle, ja käyttäjä kirjoittaa koodin Processing -luonnokseen. Kirjoitettu koodi suorittaa tyypillisesti seuraavat toiminnot: löytää ja avaa Arduino®-laitteeseen yhdistetyn sarjaportin, tallentaa mikro-ohjaimen tiedot muuttujiin ja käyttää tietoja hallitakseen erilaisia parametreja, kuten kohteen kokoa tai väriä Luonnoksen käsittely.
Ihmiset, jotka oppivat työskentelemään Arduino®- ja Processing -laitteiden kanssa, voivat löytää esimerkkiluonnoksia Arduino® -ohjelmointiympäristöstä. Nämä luonnokset tulevat jokaisen sovelluksen latauksen yhteydessä, ja käyttäjät voivat yleensä suorittaa ne kirjoittamatta lisäkoodia. Arduino® -valmistajat tarjoavat myös täysin kommentoidun käsittelyn ja Arduino® -koodin verkossa.