Last updated October 2026. Some links on this page may be affiliate links, which means RPi4U may earn a small commission at no extra cost to you.
A Raspberry Pi makes a great little retro console. Plug it into your TV, grab a gamepad, and browse your games from a couch-friendly menu with box art. No command line needed.
This guide uses Batocera, a free operating system built only for playing games. It boots straight into the game menu, sets up most controllers on its own, and lets you copy games over your home network. One important rule before you start: only play game files you dumped from cartridges or discs you own, and only use BIOS files copied from hardware you own. We do not link to game download sites, and you should avoid them.
At a glance
| Difficulty | Beginner |
| Time | About 45 minutes, plus time to copy your games |
| Works on | Raspberry Pi 5, Raspberry Pi 4 |
| Parts cost (approx, US) | About $105 for a Pi 5 1GB build |
What you need
- Raspberry Pi 5 (1GB is plenty for most systems), about $45. A Pi 4 also works, but the 2GB model now costs $67.50 and handles N64, Dreamcast and PSP games less well.
- Official power supply: the 27W USB-C supply for a Pi 5 (about $12), or the 15W supply for a Pi 4 (about $8)
- A case with a fan, such as the official Pi 5 case (about $10), since emulation keeps the CPU busy. On a Pi 4, a basic case is fine.
- Micro-HDMI to HDMI cable, about $9
- microSD card, 32GB or larger (Batocera needs at least 16GB), about $10
- A USB or Bluetooth gamepad, about $20
- A TV or monitor with HDMI
- A computer with a microSD card reader to flash the card and copy games
- Your home network (Ethernet or Wi-Fi) or a USB drive for moving game files
- Optional: a USB keyboard, handy for typing Wi-Fi passwords
Step 1: Download Batocera
- Go to batocera.org/download. At the time of writing, the current release is version 43.
- Pick the image for your exact board: Pi 5 B or Pi 4 B. The images are different, so a Pi 4 image will not boot on a Pi 5.
- Save the file. It ends in
.img.gz. If your browser unzips or renames it, download it again with another browser.
Step 2: Flash the microSD card
Batocera recommends Raspberry Pi Imager or USBImager. With Imager:
- Install Raspberry Pi Imager on your computer and insert the microSD card.
- Choose your Raspberry Pi model as the device.
- For the operating system, scroll to the bottom of the list and choose Use custom, then select the
.img.gzfile you downloaded. You do not need to unzip it first. - Choose your microSD card as the storage. Double-check this, because everything on the selected drive gets erased.
- Skip any OS customization options. Batocera has its own settings and ignores Imager’s.
- Write the card and wait for verification to finish, then eject it.
Step 3: First boot
- Put the card in the Pi, connect HDMI (use the port next to the power jack), your gamepad and Ethernet if you have it. Plug in power last.
- On the first start, Batocera expands its storage partition to fill the card and then reboots. This can take several minutes on a slow card. Do not unplug the Pi during this step, or you may corrupt the card.
- When it finishes, you land in the game menu.
Step 4: Set up your controller
Many popular pads, including most 8BitDo and wired Xbox controllers, work as soon as you plug them in. If yours does not, or you want to change the layout:
- Press Start (or Enter on a keyboard) to open the main menu.
- Open CONTROLLER & BLUETOOTH SETTINGS.
- For a wireless pad, put it in pairing mode and choose PAIR A BLUETOOTH DEVICE.
- To map buttons, choose CONTROLLER MAPPING and follow the prompts. Leave the sticks and triggers untouched when you start so Batocera reads their resting position correctly.
- When asked for a hotkey, use Select or the Home/Guide button. Putting the hotkey on another button, like Start, makes that button fire shortcuts by accident.
Step 5: Connect to your network
Ethernet works automatically. For Wi-Fi:
- Open the main menu and go to NETWORK SETTINGS.
- Turn on ENABLE WIFI and give it a moment to scan.
- Pick your network and type the password. Network names are case-sensitive.
- A Wi-Fi icon appears in the top-right corner once you are connected. The same screen shows the Pi’s IP address, which you may need in the next step.
Step 6: Add your games and BIOS files
While Batocera is running, it shares its storage on your network.
- On Windows, open File Explorer and type
\\BATOCERA\sharein the address bar. On a Mac, use Finder’s Connect to Server withsmb://BATOCERA.local/share. On Linux, opensmb://BATOCERA.local/sharein your file manager. - If the name does not work, use the IP address instead, for example
\\192.168.1.50\share. - Open the
romsfolder. Each system has its own subfolder, such asroms/nesorroms/psx. Copy each game into the matching folder. - Not sure which file types a system accepts? Each system folder has an
_info.txtfile that lists them. - Back on the TV, press Start and go to GAME SETTINGS, then UPDATE GAMELISTS. New systems appear once they have at least one game.
No network? Plug a USB drive with your files into the Pi and copy them with Batocera’s built-in file manager, or copy them over SSH/SFTP (WinSCP works well on Windows).
A note on BIOS files
Some systems, such as the original PlayStation, need a BIOS file from the real console. Batocera does not include them for legal reasons. Dump the BIOS from a console you own and copy it into the bios folder on the share. To see what is missing, go to SYSTEM SETTINGS and open MISSING BIOS. It lists each file Batocera expects along with its checksum, so you can confirm your dump is the right one.
Step 7: Scrape box art
“Scraping” downloads cover art, screenshots and descriptions for your games.
- Create a free account at ScreenScraper on your computer. The scraper will not work with this source unless you log in.
- On the Pi, open the main menu and choose SCRAPER.
- Set SCRAPE FROM to ScreenScraper and enter your username and password. Other sources are available, including TheGamesDB and IGDB, which needs a Twitch developer account.
- Pick the systems you want and start the scrape.
Step 8: Saving and quitting
In-game saves work as usual. Batocera also adds save states, which freeze the game at any moment. Hold your hotkey (Select or Home) and press:
- Hotkey + Start: quit the game and return to the menu
- Hotkey + West button (Y on a SNES layout): save state
- Hotkey + North button (X on a SNES layout): load state
- Hotkey + South button (B on a SNES layout): open the emulator menu
These work best with the RetroArch-based emulators used for most older systems. Always quit a game before you shut down, then use QUIT in the main menu to power off. Pulling the plug mid-save can lose progress.
What runs well on Pi 4 vs Pi 5
Performance varies by game, so treat this as a rough guide.
| System | Pi 4 | Pi 5 |
| 8-bit and 16-bit (NES, SNES, Genesis, Game Boy, arcade classics) | Great | Great |
| PlayStation, Nintendo 64 | Mostly good. N64 varies by game. | Very good |
| Dreamcast, PSP | Lighter games only | Very good for most games |
| GameCube | Not practical | Some games, 4GB or more recommended |
| PlayStation 2, Saturn | Not practical | Not practical |
Now that a 1GB Pi 5 costs less than a 2GB Pi 4, the Pi 5 is the better buy for every system here; keep it cooled for PSP and Dreamcast. If you already own a Pi 4, it is still great for cartridge-era games.
Alternatives: Recalbox and RetroPie
Recalbox is a similar all-in-one system with official Pi 5 and Pi 4 images, and it is just as easy to set up. RetroPie is the long-running favorite, but it has no ready-made Pi 5 image. On a Pi 5 you install it with a setup script on Raspberry Pi OS, which is more work.
Troubleshooting
- Black screen on boot: Make sure you flashed the image for your exact Pi model, and use the HDMI port closest to the power jack.
- Games do not show up: Check that the files are in the right system folder and in a format listed in
_info.txt, then run UPDATE GAMELISTS again. - Cannot reach \\BATOCERA\share: Use the IP address from NETWORK SETTINGS instead of the name, and confirm your computer is on the same network.
- A game will not start or shows a BIOS error: Open MISSING BIOS and compare your file name and checksum with what Batocera expects.
- Random freezes or a lightning bolt icon: The Pi is not getting enough power. Use the official supply for your model, and add cooling on a Pi 5.
Where to go next
- Still choosing hardware? Our Pi picker and Raspberry Pi buying guide help you decide between a Pi 4 and Pi 5 for gaming.
- Have a spare Pi? Turn it into a home media server with our Jellyfin tutorial.
Sources: Batocera downloads, Batocera wiki: Installation, Batocera wiki: Add games and BIOS, Batocera wiki: Map a controller, Batocera wiki: Supported controllers, Batocera wiki: Wi-Fi, Batocera wiki: Basic commands, Batocera wiki: Scrape from, Batocera wiki: Choose a single board computer, Raspberry Pi documentation: Getting started, Recalbox 10 announcement, raspberry.tips: Pi 5 retro OS comparison.