How to Add ROMs to RetroPie Using a USB Drive

Zach Zach (248)
10 minutes

This short guide will show you how to quickly and easily add ROMs to RetroPie using the USB flash drive method. There are other methods for transferring ROMs to RetroPie, but the USB drive approach is the fastest and easiest. If you're using a Pi Zero (e.g. building a PiCart), this is a also a good approach since the regular Pi Zero doesn't have built-in WiFi and this approach does not require an internet connection.

What is a ROM?

ROM stands for "Read-Only Memory", a type of memory meant to be read but not written to. Originally, video games were stored on ROM chips soldered to a printed circuit board (and later on read-only mediums like CD-Rs). A game ROM that RetroPie uses is essentially a copy of the original ROM.

Transferring ROMs to RetroPie

Using the USB drive approach, you will copy ROMs to your USB drive, connect it to your Pi, and RetroPie will automatically copy them to the SD card and make them available in Emulation Station (and the RetroPie UI).

Where can I find ROMs for RetroPie?

Need more games to play? Check out our complete guide to finding RetroPie ROMs.

Note: You should NOT download any copyrighted ROMs. In some countries, it's legal to use a ROM for which you own a physical copy (as this is considered a backup). Be smart and don't do illegal things. :)

Raspberry PiRaspberry Pi ×1
USB flash drive, 32GB ×1

Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.

Format your USB flash drive to work with Raspberry Pi

First, you'll need to format the USB/thumb drive as FAT32. Connect it to your computer.

If you're on Windows, open up Explorer, locate the USB drive, right-click it, and select Format from the context menu. Select the FAT32 option and click the Start button.

If you're on a Mac, open Disk Utility by navigating to Applications > Utilities > Disk Utility. Select your USB drive in the left pane. For Yosemite and older, navigate to the Erase tab, select MS-DOS (FAT) as the Format, give it a name, and click the Erase button. For El Capitan and newer, simply click the Erase button, select MS-DOS (FAT) as the format, give it a name, and click the Erase button.

Create the RetroPie folder

Create a folder on the newly-formatted USB drive called retropie (in lowercase).

Create the ROM folder structure

How this process works is we're going to ask RetroPie to populate a set of folders on the USB drive for us. Then, we'll paste our ROMs into these folders.

Boot up your Pi, safely eject your USB drive and connect it to your Pi. Now, the Pi will create our set of folders. When the process is complete, the LED on your USB drive will stop blinking. If your USB drive doesn't have an LED on it, just wait a few minutes to make sure the process has completed.

Remove the USB drive from your Pi and plug it back into your computer.

You'll need to unzip all of your ROMs (except for MAME) before transferring them. With the exception of MAME, RetroPie cannot read ROMs ending in .zip. So unzip the ROMs for your other systems before transferring.

Copy and paste the unzipped ROMs into the corresponding folder for each emulator/system.

See our guide on unzipping RAR files, should you find any ROMs packaged that way.

Transferring ROMs to RetroPie via USB

Safely eject the USB drive from your computer and connect it to your Pi. RetroPie will now begin automatically transferring your ROMs.

This may take some time. The LED on your USB drive will stop blinking when the process is complete. Again, if your USB drive doesn't have an LED on it, you'll need to do some math (fun!) to know when it's safe to pull your USB drive. Here we go:

USB 2.0 has a maximum theoretical transfer rate of 480 megabits per second. There are 8 bits in a byte, so that's about 60 megabytes per second. Note: your USB drive (and the Pi itself) may not be capable of these speeds, so your results may vary.

For example, if you have 1 gigabyte of ROMs, simply convert that to megabytes (1000MB) and divide it by the USB 2.0 maximum transfer rate (60 megabytes per second) -- 1000MB / 60MB -- so your 1GB transfer should take about 17 seconds.

Add a bit of padding time just in case; it's possible that RetroPie is processing ROMs one by one rather than just batch copying them.

Once the transfer is complete, unplug your USB drive from the Pi.

Before Emulation Station/RetroPie can read your ROMs, you'll need to restart it. You can do this by pressing Start and using the Shut Down option to reboot your Pi.

Once you've rebooted, you will see system icons appear for every system that has ROMs installed. If no ROMs are installed for a system, its icon will not appear.

When you go to add more ROMs later through the same process, it will not remove all your existing ROMs -- it will add the new ROMs and replace those with the exact same filename.

So you can add more ROMs later without losing the ROMs you already have on your system! :)

Questions? Comments? Post in the comments section below and I'll do my best to help you out.

You gotta put 'em somewhere!
Ash Ash (362)
10 minutes

Ready to play? You'll need some ROMs first! Today we're going over the many different ways you can transfer ROMs to RetroPie on the Raspberry Pi.