Arduino

Arduino kode irekiko plataforma elektroniko bat da, software eta hardware erabilerrazean oinarritua. Proiektu interaktiboak egiteko asmoa duen edonori zuzendua dago.

Arduino hardwarea aldez-aurretik muntatuta edo zuk-zeuk egin motako kitetan erosi daiteke. Era berean, diseinuari buruzko informazio asko eskuragarri dagoenez nahi duenak zerotik hasita Arduino bat -edo honen garapen bat- sortu dezake.

Proiektua mikrokontrolagailu plaken familia baten diseinuan oinarritzen da. Plaka hauek nagusiki SmartProjectsek mihiztatzen ditu Italian. Arduino plakek 8 biteko Atmel AVR mikrokontrolagailuak edo 32 biteko Atmel ARM mikroprozezadoreak erabiltzen dituzte.

Sistema hauek sarrera/irteera digital eta analogiko pin taldeak dituzte, eta beste hedapen plaka batzuetara edo zirkuitu elektronikoetara konektatu daitezke. Txartelak serie komunikaziorako interfazeak ditu, modelo batzuetan USB ataka barne, konputagailutik programatu ahal izateko. Mikrokontrolagailuak programatzeko, Arduinok Processing proiektuan oinarritutako programazio-ingurune (IDE) bat dauka, C eta C++ programazio lengoaiak erabili ditzakeelarik. Behin programatuta txartelak guztiz autonomoak izan daitezke.

Lehen Arduinoa 2005ean irten zen. Proiektuaren sortzaileek artista, hobbylari, ikasle, irakasle eta profesionalentzat sentsore eta eragingailuak erabiltzen dituen gailu interaktiboak sortzeko era erraz eta merke bat lortu nahi zuten. Hobbylari hasiberrien proiektuen adibide batzuk robot sinpleak, termostatoak eta mugimendu detektagailuak dira. Arduinoren malgutasun eta aukerak erakusten dituen beste proiektu garatuago adibide batzuk domotika proiektuak, 3D inprimagailuak, droneak, eta laborategietan sentsore datu bilketa eta tratamenduadira. 2014tik, Arduino New Yorkeko Arte Modernoaren Museoan dago gaur egungo diseinuan duen garrantziagatik.

Arduino aipatzerakoan askotan mikrokontrolagailuari buruz ibili arren, Arduino hitzak hardwarea, softwarea, garapen taldea, diseinu filosofia eta erabiltzaile komunitatearen talde espiritua besarkatzen ditu.

Historia 

2002an Massimo Banzi, software arkitektoa eta interakzio diseinatzailea, Ivreako (Italia) Interaction Design Institute Ivreara (IDII) heldu zen, diseinu interaktiboa -batzuetan konputazio fisikoa bezala ezagutzen zen eremua- sustatzera. Baina aurrekontu murriztu eta klase ordu gutxirekin, aukera gutxi zituen. 

Banzik BASIC Stamp mikrokontrolagailua hartu zuen oinarri bezala, baina honek arazo bi zituen: ez zuen ikasle batzuek buruan zerabiltzaten proiektuetarako nahiko kalkulu potentzia, eta gainera modelo basikoak 100$ inguruko kostua zuen. Gainera Macintoshen exekutatu ahal zen zerbait nahi zuen, IDIIko diseinatzaileen artean sistema erabiliena baitzen. Gauzak honela, bere beharrizanak beteko zituen plaka beraiek egitea pentsatzen hasi zen.

Banzik MITean Processing garatu zuen lagun bat zeukan. Processingek programazio-ingurune IDE erabilerraz bat zeukan, eta esperientzia gutxiko erabiltzaileek ere bisualizazio konplexu eta ederrak egin zitzaketen. Banzik mikrokontrolagailuak kodifikatzeko antzerako zerbait egin ahal zen zerabilen buruan.

Hernando Barragan, IDII ikasle batek, norabide horretan lehen pausua eman zuen. Wiring deituriko plataforma bat sortu zuen, IDE erabilerraz eta zirkuitu plaka batez osatua. Baina Banzik oraindik sinpleago, errazago eta merkeagoa zen zerbait nahi zuen.

Banzi eta bere laguntzaileek kode irekiko softwarean sinesten zuten, eta nahiago zuten proiektua ahalik eta jende gehienari zabaltzea. Gainera IDII diruz eskas zebilen eta itxi egin behar zuten, eta taldekideek beraien proiektua galtzeko beldurra zeukaten.
Kode irekiko software modeloa hardwarearen nola aplikatu ahal zuten ikertuta, Creative Commons lizentzia erabiltzea erabaki zuten.

Plaka egiteko, 30$eko kostua jarri zuten kostu helburu bezala. Plaka berezia izatea ere nahi zuten, itxura erakargarria. Besteen plakak berdeak baziren, beraienak urdinak izango ziren; fabrikatzaile gehienek sarrera-irteeretan ekonomizatu nahi bazuten, hauek piloa edukiko zituzten. Azken ukitu bezala, plakaren atzealdean Italiako mapa txiki txiki bat gehitu zuten.

Taldeak pieza merke eta erraz bilatzekoetan oinarritutako produktua sortu zuen, erabiltzaileek, nahi izanez, euren kabuz plakak egin ahal zitzaten. ATmega328 mikrokontrolagailua erabili zuten. Arduinok gerora izan duen arrakasta lortzeko, erabaki klabe bat plaka Plug and play izan behar zela izan zen, erabiltzaileak plaka kaxatik atera, konputagailura konektatu eta berehala erabiltzeko modukoa.

Lehen 300 plakak IDIIko ikasleen artean banatu zituzten. Bakoitzak zerbait -nahi zuena- egiteko esan zitzaien, eta lehen proiektuak jaio ziren. Denbora gutxian beste batzuek ere plaka bat nahi zuten. Proiektua abian zen, baina oraindik izenik ez.

Arduino izena gau batean, herriko tabernan tragoxka bat hartzen zeudela erabaki zuten: tabernaren izenetik hartu zuten -Bar di Re Arduino-. Era berean tabernak izena Arduino Erregearengandik hartzen du, 1002tik 1014ra bitartean Italiako errege izan zena.

Laster zabaldu zen Arduino izena sarean, inongo marketin edo iragarkirik gabe. Tom Igoe, orduan New Yorkeko Unyvertsitateko irakasle eta gaur egun Arduinoren garapenaren taldekideetako bat, txundituta gelditu zen Arduinok elektronika ezagutzarik gabeko jendeari ematen zion erraztasunaz eta bere prezio merkeaz.

Arduinok Processing eta Wiringetik hartu zuen IDE erabilerrazari esker, aurretik ezagutza handirik ez zuen jendearentzat ere hardware mundua sartzen erraza egiten hasi zen.

Arduino zuk-zeuk egin mugimenduan indarra hartzen joan zen. 2011ko maiatzean Massimo Banzik 300.000 bat Arduino saldu direla kalkulatu zuen.

2013ko apirilean, David Cuartiellesen arabera, 700.000tik gora Arduino ofizial zeuden salduta, eta txartel ofizial bakoitzeko gutxienez klon edo deribatu bat zegoela estimatu zuen.

Momentu horretan, egunero 5.000 Arduino ofizial produzitzen ari ziren.

2014ko uztailerako, saldutako Arduino Uno kopurua milioi eta erditik gorakoa zen.

2015eko otsailean Arduino webgune ofizialean 19 plaka desberdin daude.

Arduino prototipoak sortzeko plataforma zabalduenetako bat bilakatu da munduan.

Hardwarea 
Arduino hardware ofizialaren ezaugarriak Arduino webgune ofizialetik hartuak daude, 2015eko otsailean.

Arduino plaka ofizialak 

Hainbat Arduino plaka modelo desberdin badaude ere, denek dituzte ezaugarri komun batzuk. Plakek mikrokontrolagailu bat dute, eta sarrera/irteera digital eta sarrera analogiko pin taldeak dituzte -irteera digital batzuk PWM moduan erabili daitezke-. Mikrokontrolagailuak konputagailutik programatu ahal izateko, serie komunikaziorako interfazeak dituzte, modelo batzuetan USB ataka barne.

Mikrokontrolagailua kontutan hartuta, talde bitan banatu daitezke:
Talde bat Arduino Uno motako plakek osatzen dute. Hauetan ATmega168, ATmega328, ATmega328P edo ATmega2560 mikrokontrolagailua aurkitu daiteke. Mikrokontroladoreak sketchak -Arduinorentzat eginiko programak- exekutatzen ditu, eta konputagailuarekin komunikatzeko prozesadore sekundario bat dute. Honen ondorioz konputagailuarekin duen USB konexioak ezarrita (established) jarraitzen du mikrokontrolagailu nagusiaren egoeraren independente izanik.

Beste taldea Arduino Leonardo motako txartelek osatzen dute. Hauek ATmega32u4 mikrokontrolagailua erabiltzen dute, hau sketchen exekuzioaz eta konputagailuarekin komunikatzeaz arduratzen delarik. Funtzio biak prozesadore berean konbinatzerakoan, malgutasun handiagoa dago konputagailuarekin komunikatzeko, eta, beste alde batetik, prozesadore bat kentzerakoan kostuak gutxitu egiten dira.

Hauetaz aparte, Arduino Duek SAM3X8E mikrokontrolagailua dauka -32 biteko mikrokontrolagailua darabilen lehen Arduinoa da-, eta programazioa beste Arduinoekiko desberdina da.

Programa garatzeko prozesuan, konputagailuan programa idatzi, konpilatu eta mikrokontrolagailura igotzen da. Behin programaren garapena bukatuta, Arduinoa bere lana egiten hasten denean, komunikazioa ez da beharrezkoa. Mikrokontrolagailua itzali arren programak memorian jarraitzen du, eta berriro pizterakoan bere lana egingo du konputagailuarekin komunikatuta egon ala ez.

Sarrera/irteerei dagokienez, gehienek pinak hedapen konektoreetan dituzte ezarrita. Irakaskuntzarako, prototipoak lantzeko edo proiektu desberdinetan berrerabiltzeko egokiak dira. Hedapen konektoreetan gainera, hedapen plakak ezarri daitezke. Beste batzuk -Arduino Pro eta Pro Mini tartean- pinen tokian zuloak dituzte, bertan aukeratutako pin mota ezarri daiteke edo soldatzea zuzenean plakan egin daiteke. Hauek prototipo bakarrean erabiltzeko edo erabilpen profesionalerako egokiak dira.

Arduino batzuk zeregin edo ezaugarri espezifikoekin diseinatu dira: Arduino Mega sarrera/irteera asko behar dituztenentzat; Arduino Micro, Mini eta Nano mikrokontrolagailu plaka prototipo-plakan (breadboard) jartzeko, edo espazioa murriztua dagoen tokietan ezartzeko; Arduino Ethernet sarean zerbitzari bezala edo beste sare eginkizun batzuk egiteko; Arduino BTk bluetootha dauka; Arduino Fio wireless bidez programatu daiteke; Arduino Yunek WiFi txipa dauka eta honetan Linux banaketa bat dauka txertatuta; Arduino Lilypadak jantzietan txertatzeko; eta Arduino Robot, gurpilak eta sentsoreak txertatuta dituelarik, robot proiektuetarako.

Barnealdean, Arduino mikrokontrolagailu guztiak RS-232 serie konexioarekin programatzen dira. Hau inplementatzeko era plaka modeloaren arabera egiten da. Arduino Serie txartelek RS-232 maila TTL mailara egokitzen duten zirkuitu bat daukate. Egungo Arduino plaka gehienak USB bidez programatzen dira, hauek FTDI FT232 bezalako USB-serie egokigailu bat daukate. Modelo batzuk, Arduino Miniak edo Boarduino ez ofizialak adibidez, USB-serie egokigailu edo kable desmuntagarria, Bluetooth-a edo beste metodoen bat erabiltzen dute.

Arduino Uno 

Arduino Uno 2011ko irailak 25ean aurkeztu zen. Arduino plataformako erreferentzia modeloa da. Uno izena Arduino garapen taldeak erreferentziazko modeloaren 1.0 bertsiotzat hartzen duelako da. Hurrengo erreferentziazko modeloak zenbaki bat gehitzen joango dira (Italieraz).

Arduino Uno, bere prezio merkeagatik -25 eurotik beherakoa-, eta prezio-prestazio erlazio onagatik, ikastetxeetan aukeratzen den Arduino mikrokontrolagailua da. Hasiberrientzat proiektuak dituen bibliografian ere erabiliena, eta Arduino Starter Kitean -Arduino ikasteko kita, mikrokontrolagailu, osagarri eta liburuarekin- datorren mikrokontrolagailua.

Arduino Uno ATmega328 mikrokontrolagailuan oinarritzen da. 14 sarrera-irteera digital -hauetatik 6 PWM irteera bezala erabil daitezke- eta 6 sarrera analogiko ditu. USB konexioa erabiltzen du. Elikadura konektorea eta reset botoia dauzka.
Mikrokontrolagailuak behar duen guztia dauka; USB kablera, elikadura iturrira edo bateriara konektatzeaz batera funtzionamenduan dago.

Arduino Due 

Arduino Due Atmel SAM3X8E ARM Cortex-M3 CPU-n oinarritutako mikrokontrolagailua da. 32 biteko ARM mikrokontrolagailu baten oinarritutako lehen Arduino txartela da. 54 sarrera/irteera digital ditu -12 PWM irteera bezala erabil daitezke-, 12 sarrera analogiko, 4 UART, 84MHz erlojua, USB OTG gaitasuna duen konexioa, 2 DAC (digital-analogiko bihurgailua), elikadura konektorea, reset botoia eta ezabatzeko botoia.

Beste Arduinoek ez bezala, Arduino Due txartelek 3.3Vko lan tentsioa dute. 

Mikrokontrolagailuak behar duen guztia dauka; USB kablera, elikadura iturrira edo bateriara konektatzeaz batera funtzionamenduan dago. Arduino Due 3.3Vetan lan egiten duten eta Arduino 1.0 pin antolamendua duten hedapen plaka (shield) guztiekin bateragarria da.

SAM3X txipetan Sketchen karga AVR mikrokontrolagailuekiko desberdina da, flash memoriak birprogramatu aurretik hutsik egon behar duelako.

Arduino Leonardo 

Arduino Leonardok
Bere aurreko plaken aldean, ATmega32u4 mikrokontrolagailuak USB komunikazioa barneratua dauka, prozesadore sekundario baten beharrizana kenduaz. Honek konputagailuan plaka sagu eta teklatu baten moduan agertzea dakar, serie / COM ataka birtualaz gainera. Konputagailuaz duen komunikazioari malgutasuna gehitzen zaio.

20 sarrera-irteera digital ditu. Hauetatik 7 PWM irteera bezala erabil daitezke eta 12 sarrera analogiko bezala. Elikadura konektorea eta reset botoia dauzka.

Arduino Mega 2560 eta Arduino Mega ADK 

Hauek ATmega2560 mikrokontrolagailuan oinarritzen dira. 54 sarrera-irteera digital dituzte -15 PWM irteera bezala erabili daitezke-, 16 sarrera analogiko, 4 UART (hardware ataka serieak), USB konektorea, elikadura konektorea eta reset botoia.

Arduino Mega 2560 Arduino Megaren eboluzioa da eta hau ordezten du.

Arduino Mega ADK Mega 2560an oinarrituta dago, eta USB Host interfazea dauka Android telefonoekin konektatzeko -ADK siglek Accessory Development Kit esan nahi dute, Google-ek Android telefonoentzat hardware gehigarriak sortzeko erreferentzia inplementazioa-.

Arduino Micro, Arduino Mini eta Arduino Nano 
Hauek tamaina txikiagokoak dira. Prototipo plaka baten erraz jarri daitezke. Tamaina txikia beharrezkoa den proiektuetarako ere balio dute.

Arduino Micro ATmega32u4 mikrokontrolagailuan oinarritzen da. 20 sarrera/irteera digital ditu -7 PWM moduan erabil daitezke-. micro USB konektorea dauka. Arduino Leonardoak bezala, ATmega32u4 mikrokontrolagailuak USB komunikazioa barneratua izaterakoan, konputagailuan plaka sagu eta teklatu baten moduan agertzea da, serie / COM ataka birtualaz gainera.

Plakak 48 mm-ko luzera eta 17.7 mm-ko zabalera dauka.

Arduino mini hasieran ATmega168 mikrokontrolagailuan oinarritzen zen, oraingoek ATmega328a dute. 14 sarrera/irteera digital ditu -6 PWM bezala erabil ahal daitezkeenak-, eta 8 sarrera digital. USB serie egokigailuarekin edo beste USB ala TTL serie egokigailu batekin programatu daiteke.
Plakak 30 mm-ko luzera eta 18 mm-ko zabalera dauka.

Arduino nano ATmega168 (Arduino Nano 2.x) edo ATmega328 (Arduino Nano 3.x) mikrokontrolagailuan oinarritzen da. Gutxi gorabehera Arduino Duemilanovearen ezaugarriak ditu, baina tamaina desberdinean. Mini-B USB konektorea dauka.
Plakak 45 mm-ko luzera eta 18 mm-ko zabalera dauka.
Gravitechek fabrikatzen du.

Arduino Ethernet 

Arduino Ethernet Ethernet sare batera konektatu daiteke kable bitartez. ATmega328 mikrokontrolagailuan oinarritzen da. 14 sarrera/irteera digital eta 6 sarrera analogiko ditu -10,11,12, eta 13 pinak Ethernet moduluaz interfazea egiteko erabiltzen direnez, praktikan 9 sarrera irteera digital gelditzen dira, hauetako 4 PWM irteera gaitasunarekin- . Honetaz gain, elikadura konektorea, reset botoia eta RJ45 konektorea ditu.
Aukeran plakari PoE modulua gehitu ahal zaio.

Arduino Ethernetek, beste plaka batzuen aldean, USB-serie kontrolatzaile txipa eduki beharrean Wiznet Ethernet interfazea dauka. Hau Ethernet hedapen plakan (shield) aurkitu daitekeen interfaze berbera da.

Plakak MicroSD txartel irakurgailua dauka. Hau sarean fitxategiak zerbitzatzeko erabili daiteke, SD liburutegiaren bitartez.

Arduino Esplora 

Jatorria Arduino Leonardoan dauka. Atmega32U4 AVR mikrokontrolagailuan oinarritzen da eta ondorioz USB konexioak USB bezero moduan jokatzea ahalbidetzen du.

Arduino Esploraren berezitasuna hainbat sarrera/irteera aldez aurretik txartelean txertatuta dituela da. Elektronika aldez aurretik ikasi gabe Arduinoa erabiltzen hasi nahi duenarentzat diseinatua dago.

Esplorak plakan soinu eta argi irteerak dauzka, eta hainbat sarrera sentsore, tartean Joysticka, sliderra, tenperatura sentsorea, azelerometroa, mikrofonoa, eta argi sentsorea. Honetaz gainera pare bat Tinkerkit konektore ditu sarrera-irteera kapazitatea handitzeko, eta TFT LCD pantaila batentzako socketa.

Programazioa beste Arduino txartel batzuekiko apur bat desberdina da: bere liburutegi propioa dauka, sarreren irakurketa eta irteerako eragingailuekin idazketa errazago egiteko.

Arduino Fio 

Arduino Fio ATmega328P mikrokontrolagailuan oinarritzen da, eta 3.3Veko lan-tentsioa dauka. 14 sarrera/irteera digital -6 PWM irteera moduan erabil daitezke- eta 8 sarrera analogiko ditu. 

LiPo baterientzat konexioa dauka, eta USB bitartez kargatu ahal izateko zirkuitua. Plakaren azpialdean XBee socketa era badago.

Arduino Fio haririk gabeko aplikazioetarako pentsatua dago. Sketchak FTDI kablez edo Sparkfun breakout txartel bitartez kargatu daitezke. Honetaz gain, XBee Explorer USB bezalako USB-Xbee egokigailu egokitu batekin sketchak haririk gabeko konexio bidez kargatu daitezke.

Plakak konektore mota desberdinak edo bertan soldatzea onartzen du.

Arduino Pro eta Arduino Pro Mini 

Hauek instalazio erdi-permanente edo erakusketetarako pentsatuak daude. Hedapen konektore gabe datoz, honela konektore mota desberdinak ezarri edo zuzenean plakan soldatu daitekeelarik. SparkFun Electronicsek diseinatu eta fabrikatzen ditu. 14 sarrera-irteera digital -hauetatik 6 PWM irteera bezala erabil daitezke- eta 6 sarrera analogiko dituzte. 3.3V/8MHz eta 5V/16MHz bertsioak daude.

Arduino Pro ATmega168 edo ATmega328 mikrokontrolagailuetan oinarritzen da. Sarrera-irteera pinen kokapena Arduino hedapen plakekin (shields) bateragarria da. Elikadura konektorea eta etengailua dauzka. ATmega328 mikrokontrolagailua duen bertsioak 5Veko lan tentsioa dauka; ATmega168 mikrokontrolagailua duen bertsioak 3.3Veko lan tentsioa dauka, eta bateriekin elikatu daiteke.

Arduino Pro Mini ATmega168an oinarritzen da. Pin kokapena Arduino miniarekin bateragarria da. 3.3V eta 5Veko bertsioak daude.

LilyPad Arduino, LilyPad Arduino Simple, LilyPad Arduino SimpleSnap eta LilyPad Arduino USB 
Hauek jantzietan eta e-ehunetan erabiltzeko diseinatu dira. Oihalean josi daitezke. Borobilak dira, bi hazbeteko -gutxi gorabehera 5 cm- diametroarekin. Lodiera 0.8 mm ingurukoa da, osagaiak dauden tokian lodiera handiena 3mm ingurura heltzen delarik -6.5mm LilyPad Arduino USBn-.

Leah Buechleyk diseinatu eta garatuta, SparkFun Electronics fabrikatzen ditu.

Lilypad Arduino ATmega168V edo ATmega328V mikrokontrolagailuetan oinarritzen da, eta Arduino Unoren sarrera-irteera kopuru berdina dauka.

Lilipad Arduino Simple ATmega 328an oinarritzen da. Sarrera-irteerarako 9 pin baino ez ditu. JST konektorea dauka eta LiPo baterientzat karga zirkuitua.

LilyPad Arduino SimpleSnap aurrekoaren antzerakoa da, baina LiPo bateria integratua dauka eta zuloak barik automatikoak ditu. Honela askatu egin daiteke erropa garbitzeko edo beste proiektu batean erabiltzeko.

LilyPad Arduino USB ATmega32u4 mikrokontrolagailuan oinarritua dago eta 9 sarrera/irteera ditu -4 sarrera analogiko bezala erabili daitezke eta beste lau PWM irteera bezala-. JST konektorea dauka 3.7Veko LiPo bateriarentzat. Beste Lilypadak FTDI USB-serie egokigailua behar duten bitartean, azken hau zuzenean USB bidez konektatu daiteke konputagailura.

Arduino Yun 

Arduino Yun ATmega32u4 mikrokontrolagailuan eta Atheros AR9331 txipean oinarritzen da. Atheros prozesadoreak OpenWrt-n oinarrituriko OpenWrt-Yun Linux banaketa bat dauka.

Plakak Ethernet eta WiFi gaitasunak dauzka txertatuta, USB-A motako ataka, MicroSD txartelarentzat slota, 20 sarrera/irteera digital -7 PWM irteera moduan erabil daitezkeenak- microUSB konektorea eta 3 reset botoi ditu.
Yunen berezitasuna beste txartelekiko, txertatuta daukan Linux banaketarekin komunikatu daitekeela da. Honela sareko gailu ahaltsu bat Arduinoren erraztasunarekin konbinatzen da. cURL bezalako Linux komandoez gain, shell eta python scriptak idazteko aukera dago.

Atmega32U4 mikrokontrolagailuan oinarritzerakoan, USB konexioak USB bezero moduan jokatzea ahalbidetzen du.

Arduino Robot 

Arduino Robot gurpildun lehen Arduinoa da. Borobila da, 19cm-ko diametroa dauka gurpilekin eta TFT pantailarekin 10 cm-ko altuera hartzen du.. Robotak bi plaka ditu, eta plaka bakoitzean prozesadore bat. Motor-plakak motorrak kontrolatzen ditu, eta kontrol-plakak sentsoreak irakurri eta nola operatu erabakitzen du. Plaka bakoitza Arduino IDEa erabiliz programatu daiteken Arduino plaka oso bat da.

Bai motor-txartela eta kontrol-txartela ATmega32u4 mikrokontrolagailuan oinarritzen dira. Roboteko hainbat pin plaketan txertatutako sentsore eta eragingailuetara konektatuta daude.

Robotaren programazio prozesua Arduino Leonardoren antzerakoa da. Prozesadore biek USB komunikazioa txertatuta daukate, prozesadore sekundario baten beharra kenduz. Honela Robota (CDC) serie / COM ataka birtual bat bezala agertu daiteke konputagailuan.

Arduino Robota zientzia dibertigarria eta ikasterraza egin nahi duen talde internazional baten ahalegin kolektiboaren emaitza da.

Hardware ez ofiziala 
Arduino motako hardwarea talde hauetan banatu daiteke:

 Hardware ofiziala: Arduino wegune ofizialean aurkezten den harwarea da, Arduino logoa dauka, eta fabrikatzaileek diru kopuru txiki bat ematen dio Arduinori hauek fabrikatzearren, horrela proiektua bizirik mantentzen delarik. 2013ko otsailean hiru fabrikatzaile baimendu daude: SmartProjects Italian, Sparkfun Estatu Batuetan eta DogHunter Taiwanen/Txinan.
 Klonak: Arduino txartelen erreplika ia berdinak, ez dute Arduino logoa erabiltzen. Normalean Ardu-zerbait edo Zerbait-duino bezalako izenak hartzen dituzte. Legea errespetatzen dute. Txartel ofizialen aldean, hauen salmentak ez du Arduino proiektua ekonomikoki laguntzen.
 Deribatuak: Arduino hardwarearen diseinua oinarritzat harturik, ezaugarriren bat gehitzen die diseinuei, askotan merkatu zehatz batera zuzenduta. Hauek Arduino proiektuaren hazkundean laguntzen dute.
 Arduino-bateragarriak: Arduino-bateragarri bezala aurkezten dira, askotan Arduino proiektuaren bultzada aprobetxatzeko, baina ez dute bateragarritasun maila handirik.
 Faltsifikazioak: legea errespetatu gabe, txartela klonatu eta Arduino Logoa erabiltzen dutenak, erreplika (ia) berdinak eginez.

Prototipo plakak (Breadboards) 
Prototipo plakak -ingelesez breadboards edo solderless breadboards-, Arduino proiektuan erabiltzen diren osagai elektroniko eta konexio kableak era errazean konektatzen laguntzen duten plaka batzuk dira.

Izena lehenagoko garaietatik datorkie, zuk-zeuk egin motako elektronika prototipoak egiteko askotan sukaldeko egurrezko xafla erabiltzen baitzen, bertan iltzeak josi eta hauetara osagai elektroniko eta kableak lotuz.

Osagai elektronikoak, hauen arteko kableak eta Arduinora joango diren kableak prototipo plakan ezartzen dira. Ez da beharrezkoa soldatzea. Erabilitako kable eta osagaiak, eta prototipo plaka bera proiektu berriak egiteko berrerabili daitezke.

Prototipo plakek proiektuen prototipoak garatzeko balio dute. Hasiberrientzat ere oso egokiak dira, proba desberdinak egin eta osagaien portaera ikasteko. Mundu profesionalean, testak egiteko balio dute, zirkuitu integratu berriak probatzeko edo arazoak ematen dituen osagaiak probatzeko, adibidez.

Tamaina desberdinetako prototipo plakak badaude ere, orokorrean denek dituzte ezaugarri batzuk.
 Plakak zulo batzuk ditu. Bertan osagai elektronikoak, kableak edo zirkuitu integratuak txertatu daitezke.
 Plakaren azpian, begi-bistatik kanpo, zuloak taldeka elektrikoki konektatzen dituen metal xafla batzuk daude. Xafla hauek klip batzuk dituzte zulotxoetan, bertan zerbait konektatzerakoan eutsi egingo duena.
 Osagai baten terminala -edo kable bat- zulotxoan sartzen denean, bere taldeko zulotxoei elektrikoki konektatuta gelditzen da.
 Lerro bakoitzak zulo talde bi ditu - irudian (abcde) eta (fghij)-. Zulo bakoitza bere taldekoekin dago konektatuta -a zuloa b-rekin konektatuta dago, baina f-rekin ez-.
 Lerro desberdinetako zuloak ez daude elkar konektatuta -18 lerroko a zuloa ez dago 19 lerroko a zuloarekin konektatuta.
 Prototipo plaka oso txikia ez denean, lerro horizontalen aldamen bakoitzean lerro bertikal pare bat egoten da, bata gorriz eta bestea urdinez -edo beltzez-markatua. Lerro bertikal bakoitzeko zuloak beraien artean konektatuta daude.
 Lerro hauek elikadura lerro bezala erabiltzen dira. Lerro gorrira (+ marka dauka) elikadura positiboa konektatzen da, eta urdinera (- markarekin) negatiboa. Honek elikadura duen zulo asko edukitzea ahalbidetzen du. Kontutan hartu behar da aldamen bateko errail positibo edo negatiboa ez dagoela beste aldekoarekin konektatuta.
 Bertikalki, plakaren erdian, plaka alde bitan banatzen duen "pitzadura" bat dago. Pitzadura hau DIP motako txipak erabili ahal izateko da. Txipa erdian jartzen da, pin talde bakoitza aldamen batean gelditzen delarik -e eta f zutabeak-, honela aldamen bateko pinak ez du beste aldamenekoarekin kontakturik.
 Txarteleko lerro eta zutabeetako zenbaki eta letrek ez dute eginkizunik, laguntzarako baino ez dira.

Hedapen plakak (Shields) 

Hedapen plakak Arduinoaren hedapen konektoreetara konektatzen diren plakak dira. Hedapen plakek Arduinori ezaugarri edo prestazioak gehitzen dizkie.

Batzuetan, hedapen plakak dituen prestazioak programatu ahal izateko liburutegi egokia kargatu beharko da IDEan.

Arduino hedapen plaka ofizialez gain -8 plaka ofizial 2015eko martxoan-, beste enpresa batzuk edo erabiltzaileek eginiko hedapen plaka ugari daude. Arduino Shied List webgunean 300dik gora hedapen plaka aurki daitezke, egilearen webgunearen loturarekin, eta konpatibilitateari, errekurtso erabilpenari -zeintzuk pin erabiltzen diren etab.- eta lizentziari buruzko informazioarekin.

Hedapen plaka batzuk, ez guztiek, plaka nagusiaren kanpoko profil berbera dute. Batzuk, gainera, azpialdean Arduinoaren hedapen konektoreetara konektatzen diren pinak edukitzeaz gain, goialdean Arduinoak dituen hedapen konektore berdinak dauzkate. Honela hedapen plakak erabili ez dituen Arduinoren sarrera/irteera pinak erabiltzen jarraitu daiteke, edo hedapen plakaren gainean beste hedapen plaka bat ezarri daiteke.

Beste hedapen plaka batzuk ez dute espazio askorik behar, eta Arduinoaren hedapen konektoreetako pin batzuk bakarrik okupatzen dituzte, besteak libre utzita. Badaude Arduinoa bera baino nahiko zabalagoak dire hedapen plakak ere.

Hedapen konektoreek arazo bat daukate: Hedapen konektoreen pinen arteko espazioa 0,160 hazbetekoa da, pinaren erditik hurrengo pinaren erdira nehurtuta, eta honek prototipo plaken saretarekin -0,100 hazbeteko banaketa pin eta pin artean- eta beste prototipo tresna batzuekin bateraezinak egiten ditu. Aberrazio hau urteetan zehar mantendu da jarraitasunaren alde, kexa ugari egon bada ere. Argumentua, arazoa konpontzea erraza bada ere, honek praktikan jada existitzen diren plaka asko baliogabe utziko zituela da, hauen erabilgarritasunaren balio handi bat berrerabilgarritasunean dagoenean.

Arduino hedapen plaka ofizialak 
Arduino hedapen plaka ofizial berriek Arduino Uno 1.0 pin antolamendua daukate. Arduino Unora konektatzen dira, eta batzuk beste modelo batzuetara ere konektatu daitezke.
 Arduino GSM Shield: Arduinoa Internetera konektatzen du GPRS sarearen bitartez -SIM txartela ezarri behar zaio-. Ahots deiak ere egin daitezke -mikrofono eta bozgorailua konektuta behar zaizkio-, eta SMS mezuak bidali edo jaso. GSM liburutegia erabiltzen du, eta AT komando bidez komunikatu daiteke Arduino plakarekin. Arduino Mega, Mega ADK eta Leonardorekin bateragarria.
 Arduino Ethernet Shield: Arduinoa Ethernet sarera konektatzen du. RJ45 konektorea dauka, eta PoE modulua gehitu al zaio. Ethernet liburutegia erabiltzen du Internet konexioak programatzeko. MicroSD txartel irakurgailua dauka, sarean fitxategiak zerbitzatzeko erabili daitekeena. Arduino Megarekin bateragarria.
 Arduino WiFi Shield: Arduinoa Wi-Fi bitartez Internetera konektatzen du. WiFi liburutegia erabiltzen du Internet konexioak programatzeko. MicroSD txartel irakurgailua dauka, sarean fitxategiak zerbitzatzeko erabili daitekeena. Arduino Megarekin bateragarria.
 Arduino Wireless SD Shield: Arduinoarekin haririk gabe komunikatzea ahalbidetzen du. Konmutagailu baten bitartez, serie-usb konexioaren ordezko bezala erabili daiteke, edo komandoak igortzeko eran ezarri. SD txartela ezartzeko erretena dauka.
 Arduino USB Host Shield: Honen bitartez USB gailu bat Arduinora konektatu daiteke.
 Arduino Motor Shield: Honen bitartez Arduinoak korronte zuzeneko motor bi erabili ahal ditzake, bakoitzaren abiadura eta norabidea era independentean kontrolatuz. Beste ezaugarri batzuen artean, motor bakoitzaren korrontea neurtu daiteke. TinkerKitekin bateragarria da. Kanpoko elikadura behar du, AC-DC egokigailu edo bateria bitartez.
 Arduino Wireless Proto Shield: Arduino Wireless SD Shield: Arduinoarekin haririk gabe komunikatzea ahalbidetzen du.
 Arduino Proto Shield: prototipoak egiteko, bertan osagai elektronikoak soldatu daitezke, edo prototipo plaka txiki bat ezarri.

Kitak 
Merkatuan Arduino kit desberdinak aurkitu daitezke. Talde bitan banatu daitezke: hasiberrientzako kitak eta kit espezializatuak.

Hasiberrientzako kitak, orokorrean, hurrengoaz osatzen dira:
 Arduino plaka bat -orokorrean Arduino Uno- edo plaka bateragarri bat.
 Sarrera gailuak: switchak, sentsoreak...
 Irteera gailuak: LEDak, serbomotoreak...
 Prototipo plaka eta kableak.
 Batzuetan, gida liburua.
Arduinoren kit ofiziala Arduino Starter Kit  da. Massimo Banzik idatzitako liburua dauka, 15 proiekturekin. Kitak proiektu hauek egiteko beharrezko materiala dauka. Interneten proiektu hauen bideotutorialak daude eskuragai. 

Kit espezializatuak proiektu zehatz baterako edo proiektu mota zehatz baterako beharrezkoa den materiala dakartenak dira. Hauen adibide batzuk 3d inprimagailuak egiteko kitak edo droneak egiteko kitak dira.

Softwarea

Arduino garapen-ingurunea (IDE) 

Arduino programazio-ingurunea (IDE) Javan idatzita dago, Processing eta beste kode irekiko software batzuetan oinarritua. Windows, Mac OS eta Linux sistemetan exekutatu daiteke. Bertsio berriena 1.8.5 da.
.

Programazio-ingurunea kodea idazteko testu-editorea, mezuentzako area, testu kontsola, funtzio erabilienentzako botoiak dauzkan tresna-barra eta menu batzuekin osatua dago. Arduino hardwarearekin konektatzen da programak kargatu eta hauekin komunikatzeko.

Arduinoan exekutatzeko idatzi den programa edo kodea sketch deitzen da. Sketchak testu editorean idazten dira, eta .ino luzapena erabiltzen dute -1.0 aurreko IDE bertsioek .pde luzapena erabiltzen zuten-. Testu editoreak ebaki/kopiatzeko eta bilatu/aldatzeko aukera dauka. Testu kontsolan IDEaren testu irteera ikusten da, errore mezuak eta beste informazio batzuk. Azpian eskuinaldean konektatua dagoen plaka eta serie ataka ikusten dira. Botoiekin programak egiaztatu eta kargatu, sketchak sortu, ireki eta gorde, eta serie monitorea irekitzen da. Programazioa errazten duten botoi garrantzitsu bi daude:
 Egiaztapen botoiak idatzitako kodea aztertu eta sintaxi erroreak markatzen ditu.
 Konprobazioan errorerik egon ez bada, programa kargatzeko botoia klikatuaz sketcha konpilatu eta Arduinoan kargatzen da.

Liburutegiak 
Beste programazio plataforma batzuetan gertatzen den bezala, Arduino garapen ingurunea liburutegiak erabiliz zabalagoa egin daiteke. Liburutegiek sketchei funtzionalitate gehiago ematen dizkie, hardwarearekin lan egiteko edo datuak manipulatzeko adibidez. Arduino IDEak liburutegi batzuk ditu aurreinstalatuta. Honetaz gain, beste liburutegi batzuk deskargatu daitezke, edo norberak sor ditzake.

Sketch batean liburutegi bat erabiltzeko, instalatua egon behar du, eta inportatu egin behar da.

Garapen ingurunean aurreinstalatuta datozen liburutegi batzuk: EEPROM, EEPROM memorian irakurri era idazteko; Ethernet, Arduino Ethernet hedapen plaka erabiliz Internetera konektatzeko; GSM, GSM/GPRS sarera konektatzeko GSM hedapen plakaren bitartez; SD, SD txartelak irakurri eta idazteko; Servo, serbo motorrak kontrolatzeko;... Hauetaz gain, badaude txartel konkretu batentzat -edo batzuentzat- eginiko liburutegiak: Esplora, Arduino Esplora plakako sentsore eta eragingailuen erabilpen erraza; Robot, Arduino Robotaren funtzioen erabilpen erraza; Bridge library, Arduino Yunen eta beronen Linux prozesagailuaren arteko komunikazioa ahalbidetzen du;...

Badaude beste liburutegi batzuk, komunitateak sortu eta publiko egin dituenak. Hauek instalatu egin behar dira. Adibide batzuk: PS2Keyboard, PS2 teklatutik karaktereak irakurtzeko; kristal likidozko pantaila (LCD) batzuk kontrolatzeko hainbat liburutegi; LED matrize batzuk kontrolatzeko hainbat liburutegi...

Arduino programazio lengoaia 
Arduino sketchak C edo C++en idazten dira. C estandarreko funtzio guztiak eta C++eko batzuk erabil daitezke.

Arduino programazioaren lengoaiaren egitura nahiko sinplea da. Bere barruan instrukzioak gordetzen dituzten bi funtzio nagusitan banatzen da: void setup() eta void loop().

setup(): Programan exekutatzen den lehen funtzioa da, eta behin bakarrik exekutatzen da. Funtzio honetan hurrengoa egiten da:
 programan erabiliko diren aldagaiak deklaratu
 pinMode() funtzioa erabiliz, pinei beren egitekoa finkatu: edo sarrera (INPUT) edo irteera (OUTPUT).
 Serie-komunikazioak abiatu. serial.begin(abiadura baudio/s)

loop(): Programan ondoren exekutatzen den funtzioa da. Funtzio honen kodea behin eta berriz exekutatzen da, bukaerarik gabe. Funtzio hau da Arduino programa guztien nukleoa, eta berak egiten du lanik handiena. Hemen doaz idazketa, irakurketa, konparazio, eragiketa eta antzeko akzio guztiak.

Arduino programa adibide bat 
Arduinorentzat programa tipiko bat -Arduinoren kaixo mundua izango litzatekeena-, LED bat etengabe piztu eta itzaltzen duena da. Arduino IDEko adibide basikoen artean dator led blink izenarekin.

Erabiltzaileak garapen inguruneko adibidea kargatu, edo eskuz idatz dezake. Itxura hau dauka:

#define LED_PIN 13

void setup () {
  pinMode (LED_PIN, OUTPUT); // 13. pina irteera bezala ezarri
}

void loop () {
  digitalWrite (LED_PIN, HIGH); // piztu LEDa
  delay (1000); // itxaron segundo 1 (1000 milisegundo)
  digitalWrite (LED_PIN, LOW); // itzali LEDa
  delay (1000); // itxaron segundo 1
}

Adibide honetan, setup () atalean 13 pina irteera bezala konfiguratzen da, eta loop () atalean, LEDa piztu, segundo bat -1000 milisegundo- itxaron, LEDa itzali eta beste segundo bat itxaroten duen begizta definitzen da.

Arduino gehienek -Arduino Unok tartean- LED bat eta erresistentzia bat daukate txartelean bertan txertatua, 13. irteera GNDra konektatzen duena. Txartela testatzeko oso ondo dator: Arduinoa konputagailura konektatu, IDEan programa hau idatzi edo kargatu, eta programa exekutatzerakoan txarteleko LEDa keinuka hasiko da, beste osagai elektronikorik erabili behar izan gabe.

Arduino programazio erreferentzia 
Arduino programazioa hiru atal nagusitan banatzen da: egitura, aldagaiak, eta funtzioak. C estandarreko funtzio guztiak eta C++eko batzuk erabil daitezke. Erreferentzia osoa webgune ofizialean aurkitu daiteke.

Hemen erreferentzia laburbildua aurkezten da:
 EGITURA
 Funtzio nagusiak:
 setup(): sketcha exekutatzerakoan funtzio hau deitzen da. Aldagaiak, pin moduak (sarrera/irteera), liburutegiak, etab. abiarazten ditu. Setup funtzioa behin bakarrik exekutatzen da, Arduinoa piztu edo berrezarri ondoren.
 loop (): setup() funtzioak hasierako balioak ezarri ondoren, loop() funtzioa behin eta berriz exekutatzen da. Funtzio honetan Arduino plakak egingo beharreko lana kontrolatzen duten aginduak doaz.
 Kontrol egiturak
 baldintzak: if, if...else, switch case
 begiztak: for, while, do...while
 adarkatze eta saltoak: break, continue, return, goto
 Sintaxia:
 mugatzaileak: ;, {}
 iruzkinak: //, /**/
 goiburuak: #define, #include
 Eragile aritmetikoak: = balioa eman, + batuketa, - kenketa, * biderketa, / zatiketa, % modulua.
 Konparazio eragileak: == berdina, != desberdina, < txikiagoa, > handiagoa, <= txikiago edo berdina, >= handiago edo berdina.
 Eragile boolearrak: && eta, || edo , ! ez
 Erakusle atzipen (pointer access) eragileak: *, &
 Bit eragileak: & eta, | edo, ^ ala, ~ ez, << bit desplazamendua ezkerrera, >> bit desplazamendua eskuinera.
 Eragile konposatuak: ++ gehikuntza, -- gutxikuntza, += batuketa konposatua, -= kenketa konposatua, *= biderketa konposatua, / zatiketa konposatua, &= bit mailako eta konposatua, |=, bit mailako edo konposatua.
 ALDAGAIAK
 Konstanteak:
 HIGH | LOW : Pin bat pinMode () funtzioarekin sarrera bezala ezarri bada, digitalRead () funtzioarekin deitzerakoan Arduinoak HIGH bueltatuko du pineko sarrera tentsio maila altua bada, LOW baxua bada -5Vetan lan egiten duten txarteletan 3Vtik gora HIGH, 3.3Vetan lan egiten dutenetan 2Vtik gora-. Pina irteera moduan ezarrita badago, digitalWrite () funtzioarekin pina 5V/3.3Vtan -HIGH- edo 0Vtan -LOW- ezartzen da.
 INPUT | OUTPUT | INPUT_PULLUP: pinaren erabilpen elektrikoa, pinMode () funtzioarekin ezartzen da. INPUTekin, pina inpedantzia altuko sarrera bezala ezartzen da. Pull-up edo pull-down erresistentzia bat -10K ohmeko egokia da- behar da. INPUT_PULLUPekin, pina sarrera bezala ezartzen da, eta txertatutako pull-up erresistentzia erabiltzen du. OUTPUTekin pina irteera bezala ezartzen da.
 LED_BUILTIN: plakan txertatutako LEDaren pin zenbakia, plaka gehieneatan 13a.
 true | false : false balioa 0 denean, true balioa 1 edo 0 ez dein edozein balio denean.
 konstante osoak: normalean konstante oso hamartar moduan tratatzen dira, baina notazio bereziarekin bitar, zortzitar edo hamaseitar bezala erabili daitezke.
 koma mugikorreko konstanteak: .005 eran idatzi daitezke, edo aukeran notazio zientifikoa erabili daiteke:  2.34E5 edo 67e-12 baliozkoak dira.
 Datu motak: void, boolean, char, unsigned char, byte, int, unsigned int, word, long, unsigned long, short, float, double, string (char arraya), String (objetua), array
 Konbertsioa: funtzio hauek argumentu bezala edozein motako aldagai bat hartu eta nahi den motara eraldatuta bueltatzen dute: char (), byte (), int (), word (), long (), float ()
 Aldagaien eremua (scope): Aldagai globala programa baten edozein funtziotan ikusi daiteken aldagaia da. Aldagai lokala deklaratu den funtzioan bakarrik dago ikusgai. Arduino ingurunean, funtzio batetik kanpo deklaratutako edozein aldagai aldagai globala da.
 Aldagaien kualifikatzaileak:
 static: Funtzio batentzat bakarrik ikusgai diren aldagaiak sortzeko erabiltzen da. Aldagai lokalak funtzio bat deitzen den bakoitzean sortu eta deuseztatzen diren bitartean, aldagai estatikoek funtzioaren deien artean balioa gordetzen dute. Aldagai estatikoak funtzioa deitzen den lehen aldian bakarrik sortu eta abiarazten dira.
 volatile
 const: Aldagai bat konstantea izan dadin. Konstanteak sortzeko const edo #DEFINE erabili daiteke, orokorrean const aukeratzen da.
 Utilitateak: sizeof (), PROGMEM
 FUNTZIOAK
 Sarrera/irteera digital funtzioak:
 pinMode (pina, MODUA): pin bat sarrera (INPUT), txertaturiko pull-updun sarrera (INPUT_PULLUP) edo irteera (OUTPUT) bezala ezartzen du.
 digitalWrite(pina, BALIOA): pinMode () funtzioaz pina irteera bezala ezarri bada, tentsio maila ezartzen da: 5V/3.3V HIGH balioarentzat, 0V LOWrentzat. Pina sarrera bezala ezarri bada, txertatutako pull-up erresistentzia aktibatu (HIGH) edo desaktibatzen (LOW) du.
 digitalRead(pin): pin baten maila irakurri eta maila altua (HIGH) edo bajua (LOW) den ematen du.
 Sarrera/irteera analogiko funtzioak:
 analogReference (MOTA): sarrera analogikoetako erreferentzia tentsioa konfiguratzen du: DEFAULT: lehenetsia. 5V edo 3.3V, Arduinoaren lan tentsioaren arabera; EXTERNAL: AREF pinean ezarritako tentsioa (0-5V bitartean)
 analogRead (pin): pin bateko sarrera tentsioa irakurri, eta 0 (0V) eta 1023 (5V edo AREF) arteko balio bat ematen du. Irakurketa egiteko 100 mikrosegundo behar ditu, beraz irakurketa abiadura azkarrena 10000 irakurketa/segundoko da.
 analogWrite (pina, balioa). Pin batean irteera tentsioa (PWM) ezartzen du. LED baten dizdira aldatzeko edo motore baten abiadura aldatzeko erabil daiteke. Arduino Duek DAC pare bat ditu, benetako irteera analogiko bezala erabili daitezkeenak.
 Arduino Duen bakarrik: analogReadResolution (), analogWriteResolution ()
 Sarrera/irteera funtzio aurreratuak: tone (pina, maiztasuna, [iraupena_ms]), noTone (pina), shiftOut (datuPina, clockPina, bitOrdena, balio), shiftIn (datuPina, clockPina, bitOrdena), pulseIn (pina, balioa, [itxaron_us])
 Denbora funtzioak:
 millis () Arduino programa exekutatzen hasi denetik pasatu diren milisegundo kopurua ematen du. 50 egun inguru pasatutakoan 0ra itzultzen da.
 micros () Arduino programa exekutatzen hasi denetik pasatu diren mikrosegundo kopurua ematen du. 70 minutu inguru pasatutakoan 0ra itzultzen da.
 delay (ms) Programaren exekuzioa emandako milisegundo kopuruan pausatzen du.
 delayMicroseconds (us) Programaren exekuzioa emandako mikrosegundo kopuruan pausatzen du.
 Matematika funtzioak: min (x,y), max (x,y), abs (x), constrain (x,a,b), map (balio, fromLow, fromHigh, toLow, toHigh), pow (berrekizun,berretzaile), sqrt (x)
 Trigonometria funtzioak: sin (rad), cos (rad), tan (rad)
 Zorizko zenbaki funtzioak: randomSeed (hazia), random ([min], max)
 Bit eta byte funtzioak: lowByte (x), highByte (x), bitRead (x,n), bitWrite (x,n), bitSet (x,n), bitClear (x,n), bit (n)
 Kanpoko etendurak: attachInterrupt (etendura, funtzioa, modua), detachInterrupt (etendura)
 Etendurak: interrupts (), noInterrupts ()
 Komunikazioa:
 Serie komunikazioa: Arduino txartela konputagailuarekin edo beste gailu batzuekin komunikatzeko: serial.begin (abiadura_baudio, [konfigurazioa]), serial.available (), serial.read (), serial.flush (), serial.print (balioa, [formatua]), serial.println (balioa, [formatua]), serial.write (balioa/buffer,luzera)
 USB funtzioak (Arduino Leonardo eta Arduino Duen bakarrik): sagua eta teklatua kontrolatzen dituen funtzioak.

Komunikazioa beste gailu batzuen softwarearekin 
Arduino serie kanaletik komunikatzen da, eta serie kapazitateak dituen beste edozein gailurekin komunikatu daiteke, beste gailuak darabilen softwarea edozein bada ere.

Honetarako aukera bi daude: bat Arduinoren serie ataka erabiltzea. Bestea, kanal hori programaziorako mantentzea -eta IDEaren serie monitorearentzat-, eta beste pin pare bat erabiltzea kanpoko gailuari dedikatuak.

Programa batzuk ez dute natiboki serie gaitasunik. Hala ere, "itzultzaile" lanak egingo dituen software bitartekari bat erabiliz, Arduino eta beste gailuaren softwarearen arteko komunikazioa posiblea da.

Beste software batzuk

Fritzing 
Fritzing zirkuitu elektronikoen garapenerako kode irekiko softwarea da. Zirkuituen eskema fisikoak egin daitezke, eskema elektrikoak eta PCB diseinua.

Minibloq 
Minibloq Arduino eta beste plataforma batzurentzako kode irekiko garapen grafikoko ingurune bat da.  Helburu nagusia programazio irakaskuntzan laguntzea da.  Programazioa blokeak gehituz egiten da, sintaxi erroreak saihestuz.

S4A (Scratch for Arduino) 
Scratch MITen sortutako kode irekiko software bat da, programazioan hasteko pentsatua. Istorio interaktiboak, joko eta simulazioak era errazean sortzeko pentsatua dago. Scratchekin garatutako programak objektuz osatzen dira, objektu hauengan eragin daitekeelarik: objektuek mugitu, forma eta kolorea aldatu, eta beraien artean eta erabiltzaileekin elkar eragina eduki dezakete.
S4A -Scratch for Arduino- Scratchen modifikazio bat da, Cornellako Citilaben sortua. Modifikazio honek programari Arduinoarekin informazioa elkartrukatzen uzten dio, Arduinoren sarrerak irakurri eta irteerak aktibatu/desaktibatu ditzakeen funtzio -objektu- batzuk barneratzen baititu. 
S4Ak MIT lizentzia librea dauka, eta Windows, Linux eta Mac bertsioak daude. HiS4A HTTP bitartez S4Arekin komunikatu daitekeen Android programa sinple bat da.

Snap4Arduino 

Snap4Arduino Arduino mikrokontrolagailuak programatzeko aukera ematen duen Snap! bloke bidezko programazio-lengoaiaren hedapen bat da. AGPL lizentzia duen software librea da. GNU/Linux, Mac OS X, Microsoft Windows eta ChromeOS sistema eragileetan erabil daiteke eta Chromium/Chromerako gehigarri bat ere badu.

Erabilpenak

Irakaskuntza 
 S4A (Scratch for Arduino): S4Ak programazioan hasteko, mikrokontrolagailuekin hasteko edo lehen robotak egiteko balio dezake. Euskal Herrian, Lehen hezkuntzan eta DBHn erabilpen adibideak aurkitu daitezke.
 Snap4Arduino: Lehen eta bigarren hezkuntzako ikastetxeetan, unibertsitateetan, kode klubetan, instalazio artistikoetan erabili izan da munduan zehar.
 Elektronika familiako Lanbide heziketa: Mikrokontrolagailu merke eta ondo dokumentatua izanik, Arduinoak bai mikrokontrolagailuak eurak estudiatzeko, osagai elektronikoen portaera estudiatzeko edo mikrokontrolagailuetan oinarritutako proiektuak egiteko balio dezake.
 Unibertsitateko ikasketetan, batez ere Ingeniaritzatan, mikrokontrolagailuan oinarritzen diren proiektuetarako.

3d inprimagailuak 
Arduino mikrokontrolagailua 3d inprimagailuen kontrolagailu nagusi bezala erabili daiteke.
 Arduino Materia 101: Arduino Mega2560an oinarritua, Arduino Materia 101 Arduinoren kode irekiko 3d inprimagailu ofiziala da. Kit moduan erosi daiteke, norberak montatzeko, edo montatuta erosteko aukera ere badago.
 RepRap: RepRap Proiektua 3d inprimagailu autoerreplikagarriak sortzen dituen kode irekiko proiektu komunitario bat da.  RepRap kontrolagailu gehienak Arduino Mega mikrokontrolagailuan oinarritzen dira.
 MakerBot: RepRap proiektutik jaioa, MakerBot Industries 2009an 3d inprimagailuak fabrikatu eta saltzen hasi zen. Hainbat modelo dituzte. 2012tik aurrera, Replicator 2 eta hurrengo modeloetan, kode irekiko filosofia alde batera utzi dute.

Robotak 
 Gurpildun robot txikia. Arduino nano mikrokontrolagailuan oinarritua .
 Sei hankadun robota. Robota Arduino Uno mikrokotrolagailuan oinarritzen da, eta urrutiko kontrola Arduino Nanoan.
 Zuhaitzak igotzen dituen robota.

Droneak 
 ArduPilot Mega: ArduPilot Mega kode irekiko Drone plataforma bat da. Tripulatu gabeko hegazkin, helikoptero, multikoptero eta lurreko ibilgailuak pilotatu eta kontrolatzeko nabigazio sistema bat da. Hiru ataletan banatzen da: APM Hardwarea, Arduino Megan oinarritutako txartela eta beste osagai batzuetan oinarritua; APM firmwarea, txartela kontrolatzen duen softwarea; eta APM softwarea, firmwarea kargatu eta hardwarearen konfigurazioa aldatzeko. ArduPilot proiektuak hardware eta software proiektu desberdinen bilakaera bultzatu du, tartean ArduCopter helikoptero eta multikoptero proiektua , ArduPlane hegazkin proiektua  eta ArduRover lurreko ibilgailuen proiektua. 
 AeroQuad: AeroQuad urrutitik kontrolatutako lau errotoredun helikopteroak -kuadrikopteroak- eraikitzeko kode irekiko hardware eta software proiektu bat da. Hardwarea Arduino Mega2560 ala Arduino Unoan oinarritutako hegaldi kontrolagailuaz -beste hegaldi kontrolagailu batzuk ere erabili daitezke-, eta beharrezko diren beste sentsore batzuk dituen AeroQuad hedapen plakaz osatzen da.

Landare zaintza eta negutegiak 
 Etxeko landareen ureztatze automatikoa. Lurreko hezetasuna neurtzen duen sentsorea eta ur-ponpa Arduino Uno bati konektatuta.
 Tomate negutegia. Arduino Uno mikrokontrolagailuaren bitartez automatikoki ureztatu eta aireztatzen den tomate negutegi proiektua.
 Urrutiko kontroldun belarra mozteko makina.

Sentsoreen datu bilketa eta analisiarako softwarea 
Arduinori konektatura dauden sentsoreen datuak jaso eta serie atakatik konputagailura bidaliz, datu hauek biltzen dituen softwarea. Serie ataka berbera erabiliz softwareak Arduinori aginduak bidali ahal dizkio, era honetan Arduinora konektatuta dauden eragingailuak kontrolatuz. Laborategietan erabili daiteke, edo sentsoreen datu bilketa behar duen edozein aplikaziotan.
 MegunoLink: serie datuak jaso eta bidali ditzakeen Windows aplikazioa, jasotako datuen grafikoak pantailan aurkeztu eta pantallako botoien bitartez aginduak bidaltzeko. 
 MakerPlot: serie datuak jaso eta bidali ditzakeen Windows aplikazioa, jasotako datuen grafikoak pantailan aurkeztu eta pantallako botoien bitartez aginduak bidaltzeko.

Garapena eta lizentziak 
Arduino hardware diseinuak Creative Commons Attribution-ShareAlike 2.5 lizentziarekin banatzen dira, Eagle CAD formatuan.

Arduino softwarea kode irekikoa da. Java programazio-ingurunearen kodea GPL lizentziapen banatzen da, eta mikrokontrolagailuarentzako C/C++ liburutegiak LGPL lizentziarekin.

Webguneko edukiak, hala nola testu eta eta argazkiak, Commons Attribution ShareAlike 3.0 lizentziarekin publikatuak daude.

Arduino marka, Arduino logoa eta Arduinoren webgunean diseinua Arduino SAren jabetzapean daude copyright lizentziarekin.

Arduino taldearen banaketa eta Arduino izenaren jabetzari buruzko auzia 
 Atal hau 2015eko martxoan idatzi da, 2014ko urritik aurrerako gertakarien gainean.
 Epe laburrean atal honek -eta artikuloko beste atal batzuk- eguneraketa beharra izan dezakete.
Italiar medio batzuetan 2015eko otsailean argitaratutako albisteen arabera, Arduino taldea, markak jarraitu behar duen bideari buruzko ikuspegi desberdinak direla eta, banatu egin da.

Gatazkaren zergatia, etorkizunean hardware fabrikazioan jarraitu beharko litzatekeen estrategia dela dirudi.

Momentu honetan Arduino markaren jabetza erreklamatzen duten talde bi daude: bata Arduino LLC, jatorrizko Arduino taldeak osatua -Massimo Banzi, David Cuartielles, Tom Igoe, Dabe Mellisek eta Gianluca Martino-, arduino.cc webguneduna; bestea Arduino SRL -jatorrizko taldeko partaidea den Gianluca Martinok eta Federico Mustok (Red Hateko presidenteorde ohia, orain Arduino SRLko burua) osatua-, arduino.org webguneduna. Kasua EEBBetako auzitegietan dago,

eta, Massimo Banziren arabera, Italiako auzitegietan ere bai.

Aurrekariak 
2005ean sortu zenetik, Arduino taldeak bost kide izan ditu: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino eta David Mellis. .

Taldekideek hasieratik hardwarea irekia izatea erabaki bazuten ere, Arduino marka erregistratu egin zuten. Edozeinek erabili dezake hardware diseinua, baina Arduino izena erabiltzeko taldeari ordainketa bat egin behar zaio. Honela, taldeak bideragarritasun ekonomikoa mantendu eta Arduino izena daraman txartelak kalitate minimo bat izango duela ziurtatzen du. Txartelak sortzeko Smart Projects Srl hautatu zuten, eta honen buru Gianluca Martino jarri zen. Martinok paper bikoitza hartzen du: batetik txartelak fabrikatzen dituen enpresaren buru da, eta bestetik, 2008an EBetan Arduino LLC bezala erregistratuko den elkartearen %20ko partaidetza du, beste taldekideek bezala.

2008a urte garrantzitsua da Arduinorentzat. Salmentak areagotu egiten dira, eta nazioarteko aldizkari albisteak ugaritu egiten dira. Garai horretan Smart Projects SRLk Arduino markaren gordailua egiten du Italian, eta beste jurisdikzio batzuetara -Europar Batasuna barne- zabaldu. 2009an Arduino LLCk marka EEBBetan erregistratzen du -beste lau taldekideek Martinok Italiako erregistroaren berri 2010ean eman zietela diote-. Arduino LLC munduan zehar bulegoak zabaltzen joan da, Banzik Suitzan erregistratutako Arduino SA barne.

Arduinoren webgune ofiziala arduino.cc da. Webgune honetan publikatu izan da Arduino softwarea, eta bertan antolatu da honen garapena. Webgune honetan Arduino izena Arduino SAren jabetza dela dio.  Arduino SA Massimo Banzik dauka erregistratuta Suitzan.

Urteak igaro ahala, Arduinoren salmentak gero eta handiagoak izan dira. Baina, azken urteotan, txartel deribatuez gain, faltsifikazio merkeak ere ugaritu egin dira. 2013an Massimo Banzi honi buruz kexu zen. Banzi, Mellis, Igoe eta Cuartillesek fabrikazioa internazionalizatzea nahi duten bitartean, Martinok Italian mantentzea nahi du. 

Martino eta beste taldekideen arteko banaketa gero eta handiagoa da. 2014ko urrian, Smart Projects SRLk EEBBetako patente eta marka agentzian -United States Patent and Trademark Office- Arduino LLCren marka jabetzaren ezeztatzea eskatzen du. Argumentua, Arduino txartelak 2005etik Smart Projects SRLk diseinatu eta fabrikatu dituela da, eta Arduino LLCren EEBBetako markaren erregistroa 2009an ez dela zilegizkoa.
 
2014ko azaroan Martinok Smart Projetcs SRL Arduino SRL bezala berrizendatzen du, eta zuzendaritza Federico Mustori ematen dio. Hauen asmoa bi-hiru urtetan urteko 15 milioi euroko sarreretatik 50 milioira pasatzea da, eta burtsan sartzea.
Panasonic eta Boschekin harremanetan daudela diote, eta Txinako merkatuan indarra hartzea dela beraien asmoetako bat. Webgune berri bat zabaltzen dute, arduino.org, arduino.cc webgunearen itxura berberarekin.

2015eko urtarrilean Massimo Banzik kasua Massachusettseko auzitegira darama.
. 
Banziren argumentua, markaren eskubideak Arduino LLCrenak direla, eta Smart Projects SRLk txartelak baimenpean fabrikatu baino ez dituela egin, eta honen froga denboran zehar Smart Projects SRLk Arduino LLCri egin dizkion ordainketak direla.

Egoera 2015eko apirilean 
 Smart Projects SRLk -orain Arduino SRL- EEBBetako patente eta marka agentzian eskatutako Ardunio LLCren Arduino markaren jabetza ezeztatzea erabakitzeko dago.
 Arduino LLCk Arduino SRL, Martino eta beste batzuren aurkako auzia hasi du Massachusettseko auzitegian.
 Arduino webgune paralelo bi daude: jatorrizko webgunea, arduino.cc, Arduino SA-rena; eta arduino.org, Arduino SRLren webgune berria.
 Afera hasi zenetik aurkeztu diren txartel berriak:
 Arduino LLC: Arduino Tre (etortzear) eta Arduino Zero (etortzear).
 Arduino SLR: Arduino Yun Mini, Arduino Leonardo ETH, eta Arduino Zero Pro.
 Arduino IDE: Arduino SLRk softwarearen banaketa -fork- bat egin du, izen berbera mantenduz eta bertsio zenbakia handituz. Honek nahastea eragin dezake garatzaile eta erabiltzaileen artean.
 Arduino.cc edo arduino.org ez den webgune batean produktu bat erosterakoan, baliteke argi ez egotea zein aldetik datorren.

Erreferentziak

Ikus, gainera 
  Arduino txartel eta sistema bateragarrien zerrenda
  Txartel bakarreko konputagailuen arteko konparaketa
 Software libre
 Kode ireki
 Kode irekiko hardware
 «Zuk zeuk egin» metodoa
 Raspberry Pi

Kanpo estekak 
  Arduino webgune ofiziala
  arduino-info.wikispaces.com. Arduinori buruzko informazio ugari.
  Aitor Aspiroz: Arduinoa Ikastetxean. Oteitza Lizeo Politeknikoa, Ikastolen Elkartea. (CC-BY-SA, Aitor Aspiroz)
   Oomlout-ek egina eta GISA elkarteko Ales Zabala Alavak euskaratua. Arduino esperimentazio gida. (CC-BY-SA)
  Borja del Río Rueda: Arduino for Dummies. Arduino erabiltzen ikasi nahi duten 10 urtetik gorako ikasleentzako gunea, Arduino eta S4A gida eta adibideekin (CC-BY-SA) 
(gaztelaniaz) Descubrearduino webgunea Arduinoko proiektuekin eta doako Hardwarearekin
Hardwarea
  Plaken espezifikazioak Arduino horri ofizialean: Arduino Uno Arduino Due Arduino Leonardo Arduino Mega 2560 Arduino Mega ADK Arduino MicroArduino Mini Arduino Nano Arduino Ethernet Arduino Esplora  Arduino Fio Arduino Pro Arduino Pro Mini LilyPad Arduino LilyPad Arduino Simple LilyPad Arduino SimpleSnap LilyPad Arduino USB Arduino Yun Arduino Robot Hedapen Plakak: Arduino GSM Shield Arduino Ethernet Shield Arduino WiFi Shield Arduino Wireless SD Shield Arduino USB Host Shield Arduino Motor Shield Wireless Proto Shield Arduino Proto Shield
  Arduino plaka ofizialen eskema elektrikoak: Arduino Uno Arduino Due Arduino Leonardo Arduino Mega 2560 Arduino Mega ADK Arduino Micro Arduino Mini Arduino Nano; SAM3X8E mikrokontrolagailuaren pin mapa Arduino Ethernet Arduino Esplora  Arduino Fio Arduino Pro Arduino Pro Mini Arduino Lilypad Arduino Lilypad Simple Arduino Lilypad SimpleSnap Arduino Lilypad USB Arduino Yun; Atmel SAM3X pin mapa; Hedapen plakak: Arduino GSM Shield Arduino Ethernet Shield Arduino WiFi Shield Wireless SD Shield Arduino USB Host Shield Arduino Motor Shield Wireless Proto Shield Arduino Proto Shield
  Datu-fitxak: Atmel mikrokontrolagailuak: ATmega168 ATmega328  ATmega328P ATmega2560 ATmega32u4 Atmel SAM3X8E ARM Cortex-M3 datu horria; Beste batzuk: Atheros AR9331
  Arduino Shield List. Hedapen plaken datubasea, informazio ugarirekin.
  Arduino Shields. SparkFun Electronics. Hedapen plakeri buruzko tutoriala.
  How to spot a counterfeit Arduino. Nola aurkitu Arduino faltsifikatuak. Arduino webgune ofiziala.
Softwarea
  Download the Arduino Software. Arduino IDEa deskargatzeko gunea (Windows, Mac OS X eta Linux). Arduino webgune ofiziala.
  Language Reference. Arduino programazio lengoiaren erreferentzia. Arduino webgune ofiziala.
  Brian W. Evans:  Arduino Programing Notebook. Arduino programazio lengoairen erreferentzia. Arduino webgune ofiziala. Inprimagarria. CC-AT-NC-SA 3.0.
  Gavin Smith:  Arduino Cheat Sheet.http://arduino-info.wikispaces.com. Arduino "txuleta"
  Fritzing
Artikulu eta elkarrizketak
  "Arduinori buruzko elkarrizketa David Cuartellesi" sale, software askea libre Euskadin, 2014-12-15
  Josu Jugo: "Arduino, Raspberry Pi eta beste batzuk: Hardware librearen bidea". Zientzia Kaiera, 2015-02-19
  Gaizka Manero López: "Arduino, reinventándolo todo". Blogs Deia.com La caverna cibernética, 2013-08-17
  Saraya Paniagua: "Arduino, la revolución silenciosa del hardware libre". http://www.sorayapaniagua.com/, 2011-03-14
  Alice Mela: "A visit to the Arduino factories". domus, 2013-5-15.
  Jenny Filippetti: "arduino factory + production tour in turin, italy". desigboom magazine, 2013-09-06
Bideo eta dokumentalak
  "Zer da arduino eta zer egin dezakegu berarekin?". 2012-02-28an ETBko nickdutnick saioan emititutako bideoa
  "Arduino The Documentary" gazteleraz ingelesez. Euskarazko azpitituluak Arduinoren historiari begirada bat ematen dion dokumentala. Zuzendariak: Rodrigo Calvo eta Raúl Alaejos. LABoral Centro de Arte y Creación Industrial. Iraupena: 28:16". Urtea: 2010 Lizentzia: Creative Commons
  Massimo Banzi: "How Arduino is open-sourcing imagination". TED  Ideas worth spreading, 2012ko ekaina. Massimo Banziren Arduinori buruzko konferentziaren bideoa. Iraupena:15'38"
  "Arduino: creare è un gioco da ragazzi / Arduino: Creation is Child’s Play ". Wired TV. Dokumentala. Andrea Girolami + Opificio Ciclope. Urtea: 2012. Iraupena: 19'09". Italieraz, ingelesezko azpitituluekin.
 Arduino LLC vs Arduino SRL aferari buruz
  Beñat Jimenez: II. FOSS Drama: Arduino CC vs ORG. etzi.pm wbgunea, 2015-04-22.
  Hackaday webgunean jarraipena: Arduino v. Arduino (2015-02-25); Arduino Zero Pro Soft Release? (2015-03-04); Arduino v Arduino: Part II (2015-03-12); Arduino SRL to Distributors: “We’re the REAL Arduino” (2015-03-28); Arduino IDE Forked (2015-04-06); Arduino Vs. Arduino: The Reseller’s Conundrum (2015-04-15); Your Arduino Packaging Could Sway a Court Case (2015-04-19)
  Massimo Banzi: Fighting for Arduino. Make aldizkariaren webgunea, 2015-03-19. Massimo Banziren azalpena.
  Arduino SRLren gutuna banatzaileei (pdf), 2015-03-27

Bibliografia 
Artikulu hau ingelesezko Arduino webgune ofizialean (Creative Commons Attribution ShareAlike 3.0 lizentziarekin) eta wikipediako ingelesezko eta gaztelerazko artikuluetan oinarritzen da nagusiki. webgune ofiziala gazteleraz era badago sarean, baina badirudi 2011tik aurrera ez dela eguneratu (2015eko otsailean kontsultatua). Euskaraz, Aitor Aspirozen Arduinoa Ikastetxean ((Creative Commons Attribution ShareAlike 3.0 lizentziarekin) kontsultatu da.

Hardwarea
Elektronika