Raspberry Pi lehen belaunaldia Broadcomen BCM2835 txip bakarreko sisteman (SoC) oinarritzen da. ARM1176JZF-S 700 MHzekoprozesadorea dauka, VideoCore IV GPUa, eta hasieran 256 MBekoRAM memoria zeukan, geroago 512 MBera handitu zelarik (B eta B+ modeloetan).[5]USB bitartez konektatu ahal bazaio ere, Raspberry Piak ez dauka disko gogorrik. Sistema abiarazteko eta memoria iraunkor bezala SD txartela (A eta B modeloetan) edo MicroSD txartela (A+ eta B+ modeloetan) erabiltzen du.
[6]
B modeloa 2012kootsailean jarri zen salgai,
[7]
eta A modeloa -funtzionalitate batzuk prezioaren eta energi beharrizanen alde sakrifikatzen dituena- 2013ko otsailean.
[8]
Raspberry Pi fundazioakARM prozesagailuentzat egokitutako Linux banaketa desberdinak jartzen ditu eskuragarri deskargatzeko. Hauen artean aipagarria Raspbian banaketa, Debianen oinarritua eta Raspberry Piarentzat optimizatua.
[9]
Beste aukera bat NOOBS irudia deskargatzea edo aldez aurretik instalatua duen txartela erostea da. NOOBS -New Out of Box Software- Linuxen hasiberrientzako egokitutako irudi bat da, Raspberry Pia lehenengoz abiarazterakoan menu bat aurkezten du erabiltzaileak banaketa aukeratu eta era errazean instalatzeko.
[10]Programaziorako, Raspberry Pi Fundazioak Python gomendatzen du ikasleentzat. Hala ere, ARM prozesagailuetan konpilatu daitekeen edozein programazio-lengoaia erabili daiteke. C, C++, Java, Scratch, Perl eta Rubyrentzat euskarriak ere modu lehenetsian daude instalatuta Raspberry Pian.
[4]
2014an Fundazioak Compute Module modeloa merkaturatu zuen. Compute Modulea sistema txertatuetan osagai bezala erabiltzeko pentsatua dago. BCM8235 txipa dauka oinarri bezala, 512MBeko RAM memoriarekin eta eMMC flashtxip batekin.
[11]
2015eko otsailean bigarren belaunaldia, Raspberry Pi 2a merkaturatu zen. Hasieran B modeloa bakarrik dago eskuragarri. Broadcom BCM2836 txip bakarreko sisteman oinarritzen da, lau-nukleoko ARM Cortex-A7 CPUarekin eta VideoCore IV nukleo biko GPUarekin; RAM memoria 1 GBkoa da eta beste espezifikazioak lehenengo belaunaldiko B+ modeloaren antzerakoak dira. Salneurriei dagokienez, Raspberry Pi 2ak aurreko belaunaldiko B modeloaren salneurria mantentzen du, 35 $, eta A modeloak 25 $etan jarraitzen du salgai.
[12]
2015eko otsailaren 18an bost milioi Raspberry Pi saldu direla adierazi zen Raspberry webgunean.
[13]
1. diagrama: Raspberry Pi B modeloaren bloke diagrama
B modeloa funtzionalitate gehien dituena da; A modeloak funtzionalitate batzuk sakrifikatzen ditu, prezioaren eta energi beharrizanen alde.
RAM Memoria: A modeloak eta B rev1 modeloak 256 MB dauzkate, B rev2 modeloak 512 MB, eta bigarren belaunaldiko B modeloak 1 GB.
Memoria iraunkorra: A eta B modeloetan SD txartela; A+, B+ eta bigarren belaunaldiko B modeloetan MicroSD txartela.
Konektibitatea: B modeloak 3 atazadun USB hub bat dauka, hauetako ataza bat USB-Ethernet egokigailu bati konektatuta dagoelarik -1. diagramako eskuineko 3 blokeak, izatez txip batean integratuak-. Honela, B modeloak 2 USB konektore eta RJ45Ethernet konektorea ditu; A eta A+ modeloek USB konektore bat bakarrik daukate, zuzenean SoCari konektatuta. Ethernet konexioa erabiltzaileak USB-Ethernet egokigailu bat konektatuta lor daiteke; B+ eta bigarren belaunaldiko B modeloek 5 atazadun USB huba daukan txipa dute, lau konektore USB eta RJ45 Ethernet konektorearekin; WiFi konexioa posiblea da modelo bietan USB Wifi egokigailuen bitartez.
Prozesadorea
Lehen belaunaldiko Raspberry Pian erabilitako txip bakarreko sistema (SoC) gutxi gorabehera iPhone 3G/3GS smartphoneetan erabilitakoaren baliokidea da. Raspberry Pia Broadcom BCM2835 txip bakarreko sisteman oinarritzen da, hau 700 MHzeko ARM1176JZF-S prozesagailuaz, VideoCore IV GPUaz, eta RAM memoriaz osatzen delarik. Lehen mailako 16 KBekocachea eta bigarren mailako 128 KBeko cachea dauzka. Bigarren mailako cachea nagusiki GPUak erabiltzen du. SoC-a RAM memoriaren txiparen azpian txertatua dago, beraz aldamena bakarrik gelditzen da begibistan.
Bigarren belaunaldiko Raspberry Pia Broadcom BCM2836 txip bakarreko sisteman oinarritzen da. Hau 900 MHzeko lau nukleoko ARM Cortex-A7 prozesagailuaz, VideoCore IV GPUaz, eta RAM memoriaz osatzen da.
Errendimendua
Lehenetsitako 700 MHztan operatzerakoan, lehen belaunaldiko Raspberry Piak 0.041 GFLOPSeko errendimendua ematen zuen.[14]PUZari dagokionez errendimendua 1997-1999 urteetako 300 MHztako Pentium IIarenaren antzerakoa da. GPUak 1 Gpixel/s edo 1.5 Gtexel/s-ko prozesu grafikoa, edo 24 GFLOPSeko konputazio orokorreko errendimendua ematen du. Raspberry Piaren kapazitate grafikoa 2001eko Xbox kontsolaren baliokidea da.
LINPACK nodo bakarreko konputazio benchmarkak batezbesteko 0.065 GFLOPSeko emaitza ematen du doitasun sinpleko koma higikorreko errendimenduan, eta batezbesteko 0.041 GFLOPSeko emaitza doitasun bikoitzeko koma higikorreko errendimenduan, Raspberry P B modelo bakarrarentzat. "Iridis-pi" izendun 64 Rasperry Pi Bz osatutako cluster batek 1.14 GFLOPS eko emaitza eman zuen.[15]
2. belaunaldiko Raspberry Pia askoz ahaltsuagoa da, GPU berbera izanik.
Overclocking
Lehen belaunaldiko Raspberry Piaren txipak 700 MHz-etan egiten zuen lan modu lehenetsi bezala, eta overclockingik egiten ez zen bitartean ez zen bero trukagailurik edo hotzitzeko medio berezirik behar izateko lain berotzen. Bigarren belaunaldiak 900 MHztan egiten du lan, eta honek ere ez du behar bero trukagailurik edo hozteko medio berezirik overclockingik egiten ez zen bitartean. Overclockingak SoC-a ohikoa baino gehiago berotu dezake.
Raspberry Pi txip gehienak 800 MHz-tara eta batzuk 1000 MHz-tik gora jazo zitezkeen. Bigarren belaunaldikoak antzera jazo daitezkeela dioten kontaketak daude, muturreko kasuetan 1500 MHz-etara ere (tenperatura seguritateak eta tentsio mugak desaktibatuta). RaspbianLinux banaketanovercloking aukerak sudo raspi-config"komandoarekin hautatu daitezke Raspberry Piaren bermea baliogabetu gabe. Kasu hauetan Raspberry Piak automatikoki jaisten du overclockinga txipa 85 °C-tara heltzen bada, baina posible da tentsio eta tenperatura gainditzeen arau automatikoak desaktibatzea (kasu honetan Raspberryaren bermea baliogabetu egiten da). Hau egin nahi bada, tamaina egokiko bero trukagailu bat jartzea komeni da txipa 85 °C-tik gora ez berotzeko.
28-10-2012-wheezy-Raspbianfirmware bertsiotik aurrera bost overclock ("turbo") aukera daude SoC-aren errendimendua hobetzeko, Raspberry Piaren bizitza denbora laburtu gabe. Txiparen tenperatura eta PUZaren lan-karga monitorizaturik daude, eta hauen arabera erloju abiadurak eta nukleoaren lan-tentsioa dinamikoki aldatzen dira: PUZean lan eskari txikia badago edo hau oso bero badago errendimendua automatikoki jaisten da, baina PUZak lan-karga handia badu eta tenperatura onargarria bada abiadurak jaso egingo dira, aukeratu den "turbo" moduaren maximora heldu arte. Bost aukerak hauek dira:
"Turbo" aukera altuenean SDRAM erlojua originalki 500 MHz-era jartzen zen, baina geroago 600 MHz-era aldatu zen, 500 MHz-etan batzutan SD txartelean erroreak gertatzen zirelako. Aldi berean, high moduan nukleoaren erloju abiadura 450etik 250 MHz-era jaitsi zen, eta medium moduan 333tik 250 MHz-era.
BIOS
Raspberry Piak ez dauka ordenagailu pertsonal konbentzionaletan aurkitu daitekeen BIOSa. Tradizionalki BIOSean konfiguratu eta gordetzen diren parametroak config.txt izeneko fitxategi batean gordetzen dira. Fitxategi hau GPUak irakurtzen du ARM PUZa (eta Linux) abiarazi aurretik. SD -edo MicroSD- txarteleko lehen partizioan -boot partizioan- egon behar da.[18]
RAM memoria
Raspberry Pian RAM memoriaren erabilpena PUZaren eta GPUaren artean banatzen da, bakoitzari ematen zaion kopurua konfigurazioaren araberakoa izanik.
A modeloetan eta lehenengo 256 MBeko B modeloetan hiru banaketa posible zeuden: banaketa lehenetsia 192 MBekoa PUZarentzat eta 64MB GPUarentzat zen. Hau 1080p bideoa deskodetzeko gai izan beharko litzake, edo 3D sinplea, baina ziurrenik biak batera ez; beste aukera bat 224 MB Linuxentzako eta 32MB GPUarentzako, ziurrenik edozein bideo edo 3Drekin huts egingo lukeena; eta azkenik 128 MB PUZarentzat eta 128 MB GPUarentzat, 3D pisutsua eta bideoa deskodetzeko (adibidez XBMCn).
512 MBeko B modeloarentzat hasiera baten hiru banaketa estandar atera ziren: 256 MB PUZ / 256 MB GPU, 384 MB PUZ / 128 MB GPU eta 496 MB PUZ / 16 MB GPU. Baina astebete inguru geroago Raspberry Pi Fundazioak aukeratutako RAM memoria banaketa dinamikoki izendatu zezakeen bertsioa atera zuen. config.txt fitxategian ezartzen denaren arabera, GPUari 16 MB eta 256 MB arteko balioa ezarri al zaio, 8 MBeko pausuetan, aurreko banaketak zaharkituak gelditu zirelarik.
[19]
Bigarren belaunaldiko Raspberry Piak 1 GBeko RAM memoria kopurua dauka. PUZ eta GPUaren arteko memoria banaketa config.txt fitxategian ezartzen da. Modu lehenetsian 64 MB ematen dizkio GPUari, 16 eta 944 arteko balioa eman ahal zaiolarik.
[18]
Sare konexioa
A eta A+ modeloek RJ45Ethernet atazarik ez daukaten arren, sare lokalera erabiltzaileak gehitutako USB-Ethernet egokigailu bidez edo WiFi egokigailu bidez konektatu daitezke. B eta B+ modeloetan Ethernet ataza txertaturiko USB-Ethernet egokigailu bidez dago eskuragarri.
Periferikoak
USBteklatu eta sagu generikoak Raspberry Piarekin bateragarriak dira.
[6]
Bideoa
Bideo kontrolagailuak telebistako bereizmen estandar modernoak atera ditzake, HD eta Full HD bezalakoak, monitore bereizmen desberdinak, eta izpi katodikozko hodi (CRT) telebista zaharretako bereizmen estandarrak.
Irteera analogikoaren bitartez (RCA konektorea), 576i eta 480i bideo seinale konposatuak sor ditzake, PAL-B/G/D/K/I, PAL-M, PAL-N, NTSC eta NTSC-J formatuetan.
Denbora errealeko erlojua
Raspberry Piak ez dauka denbora errealeko erlojurik, eta honen ondorioz ezin dezake orduaren jarraipena egin elikadurarik gabe dagoenean. Aukera moduan, NTP protokoloaren bidez hartu daiteke ordua, edo erabiltzaileak ezarri dezake sistema abiarazterakoan.
HDMI (rev 1.3 & 1.4),[27] 14 HDMI resoluzio, 640×350tik 1920×1200era, eta hainbat PAL eta NTSC estandar,[18] bideo konposatua (PAL eta NTSC), RCA konektore bitartez
HDMI (rev 1.3 & 1.4), 14 HDMI resoluzio, 640×350tik 1920×1200era, eta hainbat PAL and NTSC estandar, bideo konposatua (PAL eta NTSC), 3.5 mm TRRS konektore bitartez (audio irteerarekin konpartitua)
HDMI (rev 1.3 & 1.4), 14 HDMI resoluzio, 640×350tik 1920×1200era, eta hainbat PAL and NTSC estandar, bideo konposatua (PAL eta NTSC) RCA konektore bitartez
HDMI (rev 1.3 & 1.4), 14 14 HDMI resoluzio, 640×350tik 1920×1200era, eta hainbat PAL and NTSC estandar, bideo konposatua (PAL eta NTSC), 3.5 mm TRRS konektore bitartez (audio irteerarekin konpartitua)
Konektore eta zirkuitu integratuen kokapena: Raspberry Pi B+ rev 1.2, Raspberry Pi 2 B
GPIO konektorea
Raspberry Pi A+, B+ eta bigarren belaunaldiko B modeloen GPIO pinen antolamendua (J8 konektorea).
[29]
A eta B modeloek lehen 26 pinak bakarrik dauzkate.
GPIO ZBKIA
bigarren funtzioa
pin zbkia
pin zbkia
bigarren funtzioa
GPIO ZBKIA
-
+3V3
1
2
+5V
-
GPIO2
SDA1 (I2C)
3
4
+5V
-
GPIO3
SCL1 (I2C)
5
6
GND
-
GPIO4
GCLK
7
8
TXD0 (UART)
GPIO14
-
GND
9
10
RXD0 (UART)
GPIO15
GPIO17
GEN0
11
12
GEN1
GPIO18
GPIO27
GEN2
13
14
GND
-
GPIO22
GEN3
15
16
GEN4
GPIO23
-
+3V3
17
18
GEN5
GPIO24
GPIO10
MOSI (SPI)
19
20
GND
-
GPIO9
MISO (SPI)
21
22
GEN6
GPIO25
GPIO11
SCLK (SPI)
23
24
CE0_N (SPI)
GPIO8
-
GND
25
26
CE1_N (SPI)
GPIO7
(A eta B modeloen pinak hemen bukatzen dira)
EEPROM
ID_SD
27
28
ID_SC
EEPROM
GPIO5
-
29
30
GND
-
GPIO6
-
31
32
-
GPIO12
GPIO13
-
33
34
GND
-
GPIO19
-
35
36
-
GPIO16
GPIO26
-
37
38
-
GPIO20
-
GND
39
40
-
GPIO21
B rev2 modeloak 8 pineko panel bat dauka (P6) beste 4 GPIO konexiorekin.
[30]
Funtzioa
bigarren funtzioa
pin zbkia
pin zbkia
bigarren funtzioa
Funtzioa
-
+5V
1
2
+3V3
-
GPIO28
GPIO_GEN7
3
4
GPIO_GEN8
GPIO29
GPIO30
GPIO_GEN9
5
6
GPIO_GEN10
GPIO31
-
GND
7
8
GND
-
A eta B modeloek ACT egoera LEDera atzipena daukate GPIO 16aren bitartez. A+ eta B+ modeloek ACT egoera LEDera atzipena daukate GPIO 47aren bitartez, eta energi-iturriaren egoera LEDera GPIO 35aren bitartez.
Osagarriak
Kamera – 2013ko maiatzaren 14an, Raspberry Pi fundazioak eta RS Components & Premier Farnell/Element 14 banatzaileek Raspberry Pi camera board kamera merkaturatu zuten, berau erabiltzeko firmware eguneraketa batekin batera.[31] Kamera txartela kable lau malgu -FFC, flexible flat cable- batekin batera saltzen da, berau ethernet eta HDMI ataken bitartean dagoen Camera interface-CSI konektorera konektatzen delarik. Raspbianen, kamera erabiltzeko azken firmware bertsioa instalatu/eguneratu, eta Raspi-config exekutatuz kamera aukera hautatu behar da. Kamera moduluaren salneurria, 2013ko irailean, 20 €koa zen. Kamerak 1080p, 720p eta 640x480p bideoa sortu dezake. Moduluaren neurriak 25 x 20 x 9 mm.-koak dira.[32]
Kamera infragorria– 2013ko urria, fundazioak Pi NoIRinfragorri iragazkia duen kamera ekoizten hasiko zela adierazi zuen.[33]
Gertboard – Raspberry Pi Fundazioak onetsitako plaka, irakaskuntzarako diseinatua. Hedapen plaka hau Raspberry Piaren GPIO konektorera konektatzen da, eta LED, switch, seinale analogiko, sentsore eta beste gailu batzuekin komunikatu edo hauek kontrolatzeko balio du. Arduinoarekin bateragarria den kontrolagailua ere badu aukeran.[34]
HAT (Hardware Attached on Top, gainean erantsitako hardwarea) hedapen txartelak – Arduinohedapen plaketan inspiratuta, B+ modeloarekin batera, Raspberry Pi fundazioak HAT hedapen plakak eta berauentzat interfazea sortu zituen. HAT hedapen plakak B+ modeloarekin erabiltzeko pentsatuak daude.[35] HAT plaka bakoitzak EEPROM txiki bat dauka (tipikoki CAT24C32WI-GT3 bat)[36] plakaren datu garrantzitsuekin, [37] honela Raspberry Piaren sistema eragileak HATaren datu teknikoak hartu ditzake berau erabiltzeko.[35]
Softwarea
Sistema eragileak
Raspberry Piak nagusiki Linux nukleoan oinarritutako sistema eragileak erabiltzen ditu.[3] Raspberry Pi fundazioak Raspbian gomendatzen du txartelarekin hasteko, Debianen oinarritutako eta Raspberry Piaren hardwarearentzat egokitutako Linux banaketa, lehen aldiz 2012ko uztailean argitaratu zutena.[38]
Lehen belaunaldiko Raspberry Pien bihotzean dagoen ARM11 txipa ARM arkitekturaren 6 bertsioan oinarritzen da. Belaunaldi honen garaian erabilienak diren Linux banaketa batzuren bertsio berrienek, tartean Ubuntuk, ez dute ARM11 txiparentzat euskarririk, eta beraz ezin dira lehen belaunaldiko Raspberryetan instalatu.
[39]
Raspberry Pi originalean ezin da Windows exekutatu,
[40] bigarren belaunaldiko Raspberry Pia Windows 10 exekutatzeko gai izango bada ere.
[41]
Raspberry Pi 2aren ARM Cortex-A7 txipa ARM arkitekturaren 7 bertsioan oinarritzen da. Irteerako momentuan Ubuntu Snappy Core, Raspbian, OpenELEC eta RISC OS bakarrik exekutatu ditzake.[42]
NOOBS
Raspberry Piaren instalazio kudeatzailea NOOBS -New Out of Box Software- da. 2013ko ekainaren 3an argitaratu zuen Raspberry Pi fundazioak, hasiberriei instalazioa errazteko.[43] Raspberry Piren webgunetikdeskargatu eta irudia gutxienez 4 GB dituen SD (edo microSD) txartelean idazten da. Beste aukera bat irudia aldez aurretik idatzia duen txartela erostea da.
NOOBS kudeatzaileak menu bat aurkezten du, sistema eragile zerrenda batekin. Hautatutako sistema eragilea txartelari libre gelditzen zaion espazioan instalatzen du automatikoki. Kudeatzailea ez da ezabatzen, era honetan nahi denean sistema eragilea berrinstalatu edo beste bat instalatu daitekeelarik.
Aukerak Raspbian, Arch Linux ARM eta Pidora erabilera orokorreko banaketak, OpenELEC eta RaspBMC, XBMC -orain Kido- mediacenter Linux banaketak, eta RISC OS 5 sistema eragilea dira.[44]
Sistema eragile zerrenda Raspberry Pian
Arch Linux ARM: Arch Linuxen ARM 6 bertsioarentzat moldaketa.[45]
Raspand: Android 5.1 Lollypop-en Raspberryarentzako moldaketa.[66][67](Deskargatzeko 9$ ordaindu behar dira)[68]
Hypriot Docker. Docker, aplikazio banatuak sortu eta exekutatzeko plataforma irekiaren ARM bertsioa.[69][70]
Kontrolatzaile APIak
Inplementatutako APIen eskema: OpenMAX, OpenGL ES eta OpenVG
Raspberry Piak VideoCore IV GPUa erabili ahal izateko, "blob bitar" -kode irekiko nukleoan txertatutako software jabeduna- bat erabiltzen du, zeina SD txarteletik GPUra Raspberrya abiarazterakoan kargatzen den, eta honetaz gain, hasieran jabeduna zen software gehigarria.[71] Kontrolatzailearen parte hau geroago askatu egin zen,[72] baina kontrolatzailearen lan gehiena kode itxiko GPU kodea erabiliz egiten da. Aplikazioek kode itxiko OpenMax, OpenGL ES edo OpenVG liburutegiak deitzen dituzte eta hauek Linux nukleoko kode irekiko kontrolatzailea deitzen dute, zeinak kode itxiko VideoCore IV GPU kodea deitzen duen. Nukleoko kontrolatzailearen APIa kode itxiko liburutegi hauntzako aproposa da. Bideo aplikazioek OpenMAX erabiltzen dute, 3d aplikazioek OpenGL ES eta 2d grafikoek OpenVG. OpenGL ES eta OpenVGk EGL eabiltzen dute, eta azken honek kode irekiko nukleoko kontrolatzailea.[73]