RetroPie è un sistema operativo che consente di emulare alcune delle console più datate direttamente sul Raspberry Pi. Nintendo, Sega, Playstation, Atari, Game Boy e tanti altri. Qui una lista completa delle console supportate. Tutto quello di cui si ha bisogno per iniziare:
- Raspberry Pi (A, A+, B, B+, Zero, 2, 3)
- Un alimentatore da 5V 2.5A
- Scheda SD da minimo 8GB su cui installare RetroPie
- Cavo HDMI
- Gamepad e/o tastiera
- Cavo Ethernet o Wifi dongle (nel Raspberry Pi 3 e’ gia’ integrato)
- Case per Raspberry Pi (opzionale ma e’ raccomandato)
- Lettore di schede Micro SD
- Memoria esterna per caricare le ROM dei giochi
Io ho acquistato direttamente il kit da Amazon a poco piu’ di 70€, che comprende:
- Raspberry Pi 3
- Alimentatore da 5V 2.5A originale
- Micro SD “Sandisk” da 16 GB con adattatore SD
- Cavo HDMI
- Cavo di rete Ethernet
- Case originale
Per la tastiera ho invece optato per una WiFi (comodissima anche come telecomando della smart TV), sempre su Amazon, a poco meno di 20 euro. Ma è possibile trovare validissime alternative.

Non ci rimane a questo punto che scaricare Retropie e copiarlo sulla scheda SD.
Installazione
Utilizzo per questa operazione un Mac quindi procedo tramite ApplePi Baker, intuitivo e facile da utilizzare. Per Windows potete utilizzare invece Win32DiskImager mentre per Linux Unetbootin. Selezioniamo la scheda da utilizzare (troviamo l’elenco delle unità in Pi-Crust) per prepararla alla scrittura e clicchiamo su Prep for NOOBS. Infine, su Pi-Ingredients, cerchiamo in IMG file l’immagine di RetroPie precedentemente scaricata e clicchiamo su Restore Backup. Terminato il caricamento di circa 5 minuti, visibile su Progress, la nostra console sarà pronta per il primo avvio.

Primo avvio e configurazione base
Colleghiamo il Raspberry Pi allo schermo tramite cavo HDMI e, dopo aver inserito la micro sd su cui abbiamo installato RetroPie, alimentiamolo (il Raspberry Pi é privo di un tasto di accensione/spegnimento, si gestisce tramite alimentazione).
La prima schermata ci chiede di configurare il nostro gamepad tenendo premuto un tasto qualsiasi.

Io utilizzo un un vecchio gamepad usb ma, se avete qualche euro in più, vi portate a casa questa meraviglia:

Come dicevo, tenendo premuto un tasto del controller usb, abbiamo la possibilità di configurare tutti i relativi tasti e la nostra console è pronta per portarci indietro con il divertimento.
Dove caricare le rom dei giochi
Per caricare le ROM dei giochi, utilizziamo una memoria esterna, va benissimo una chiavetta (la capienza dipende da quanti giochi volete metterci dentro) e creiamo nella root una cartelle denominata retropie, inseriamola nel Raspberry Pi e attendiamo che il led smetta di lampeggiare. RetroPie creerà, all’interno della cartella retropie della memoria esterna, delle ulteriori sotto-cartelle con i nomi delle varie console al cui interno andremmo ad inserire le ROM dei giochi.
Alcune immagini
SSH
E’ possibile collegarsi al Raspberry Pi tramite ssh utilizzando, come utenze predefinite, username pi e password raspberry. In questa guida, troverete i comandi più comuni che possono esservi utili nella gestione dei file. Qui, invece, un utile how to di per il trasferimento dei file via ssh.
Accensione e spegnimento
Il RPi, come noto, non ha un pulsante di accensione e spegnimento. Sul portale italiano Raspberryitaly è possibile trovare una esaustiva guida per poterne creare uno, riporto sotto l'how to. Se invece non volete perdere tempo, è possibile acquistare un alimentatore con pulsante di accensione/spegnimento integrato. A voi la scelta.
PARTE 0: PREMESSA
Come sappiamo, il RPi non ha un pulsante di accensione ne spegnimento di fabbrica: una volta alimentato si accende immediatamente e per spegnerlo si può usare il comando # poweroff; inoltre dopo essere stato spento, per riaccendere il RPi è necessario scollegarlo e ricollegarlo all’alimentazione (e tanti saluti al connettore!)
Il consumo del RPi è irrisorio, quindi (sotto questo punto di vista) forse non conviene neanche spegnerlo e riaccenderlo, ma potrebbe essere utile per varie ragioni: per esempio, una persona che vive in una zona soggetta a frequenti blackout, salva il RPi da arresti anomali, preservando così il file system. Altra argomentazione potrebbe essere il fatto che la scheda SD, essendo una memoria flash, è soggetta ad usura e più tempo il Raspberry sta acceso, più la SD si consuma.
Ma a inizio articolo abbiamo detto che esiste già un comando per spegnerlo: a cosa dovrebbe servire un pulsante? Può risultare comodo per media center o anche per RPi usati da remoto.
PARTE 1: IL PULSANTE DI ACCENSIONE
Per quanto riguarda il pulsante di accensione bisogna premettere anche che sono necessarie competenze elettroniche: è necessario saldare due cavetti sul nostro RPi (ammetto che anch’io quando l’ho fatto avevo un pò, come dire, di paura!)
Leggete questo articolo per sapere cosa saldare. Una volta saldato i due cavetti al connettore, non ci resta che saldarli alle due estremità di un pulsante NO (NA in italiano), ossia un pulsante che, quando premuto, crea un contatto fra i due morsetti.
Ecco fatto, abbiamo realizzato il nostro pulsante di accensione! Una volta spento il RPi possiamo usarlo per riaccenderlo: molto più comodo che scollegarlo e ricollegarlo!
N.B.: se premete il tasto mentre RPi è acceso, questo si riavvierà e ciò equivale a un arresto anomalo, quindi è da evitare!
PARTE 2: IL PULSANTE DI SPEGNIMENTO
Per quanto riguarda il pulsante di spegnimento: la parte hardware è più semplice ma è necessaria una parte software. che intercetta la pressione del pulsante ed impartisce il comando poweroff.
E’ infatti sufficiente collegare le due estremità di un pulsante NO una au una GPIO e una ad un GND (vi consiglio GPIO 10 così il codice d’esempio funziona senza problemi!).
Per il software invece create il file /root/shutdown_button
sudo nano /root/shutdown_button
E inserite il seguente codice:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
#Nelle due righe seguenti, eventualmente sostituire 10 col numero del GPIO a cui avete collegato il pulsante (numerazione GPIO.BCM)
GPIO.setup(10,GPIO.IN,pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(10,GPIO.FALLING)
os.system(“poweroff”)
Diamo i giusti permessi al file coi seguenti comandi:
sudo chown root:root /root/shutdown_button
sudo chmod 770 /root/shutdown_button
Ora modificate il file /etc/rc.local per farlo eseguire in automatico
sudo nano /etc/rc.local
e aggiungete prima dell’ultima riga la seguente:
/root/shutdown_button & #mi raccomando la & finale
in modo che il file sia uguale al seguente (ovviamente se lo avete modificato prima per altri motivi ci avrete anche altre righe)

Premete CTRL+X, digitate Y ed invio.
Ora non ci resta che riavviare il RPi
sudo reboot
Ora, se premete il tasto di spegnimento, il Raspberry si spegne correttamente!
Per concludere vi mostro come ho aggiunto i tasti di accensione e spegnimento al RPi che uso come media center (troverò un modo per indicare qual è ON e qual è OFF, magari delle etichette con stampate le icone di font awesome).

Conclusioni
Questa guida é stata creata più come promemoria per mie future installazioni, in modo da avere tutto assieme ciò che ho trovato un po' sparso per il web, che per una guida definitiva da propinarvi. Non mi assumo quindi responsabilità in caso di malfunzionamenti. Se avete da chiedere delucidazioni o volete fare degli appunti/correzioni, lasciate pure un commento e sarò felice di rispondervi o apportare modifiche al testo. Buon divertimento.
Fonti: Github.com || Retropie.org.uk || Raspberryitaly.com