How to Transfer ROMs to RetroPie Via USB

The Raspberry Pi is a small single board computer that has DIY enthusiasts smitten. There are countless projects you can dedicate your Pi to, but hands down one of the coolest is retro gaming. Thanks to an open-source project called RetroPie, turning a Pi into a catch-all video games emulator is a snap.

While RetroPie is super easy to set up, it doesn’t actually come pre-installed with any games. So how do you get your games a.k.a ROMs onto your Pi? There are a couple of different ways, but one of the easiest is via a regular old USB.

Fun fact: ROM stands for Read-Only-Memory. Essentially, a ROM is a digital copy of a game. The legality of video game ROMs is murky and not something we’re going to get into here. Because of this we won’t be telling you how or where to obtain ROMs.

Now that you have your ROMs, you’ll need to get them loaded onto your RetroPie. Just follow the steps below, and you’ll be reliving your childhood in no time!

There are three ways to transfer ROMs to a Raspberry Pi running RetroPie: Samba, Secure File Transfer Protocol and USB. USB is the fastest and arguably the easiest method. For Pi’s that do not have Internet connectivity (e.g. Pi Zero), USB is your only practical option. Technically, you can achieve Internet connectivity with a powered USB hub and a USB WiFi adapter. This would then allow you to use Samba or SFTP to transfer your ROMs. For simplicity’s sake, this guide will focus on transferring ROMs to RetroPie without Internet connectivity.

Before you can transfer ROMs to your Pi, you’ll first need to format your USB to FAT32. Be aware that reformatting a drive will always result in data loss. Ensure that the USB you are using does not contain data you do not want to lose. Additionally, we suggest using a USB that has an indicator light that flashes when the USB is in use. This isn’t essential, but it makes life a little easier in later steps.

If you are on a Windows PC, plug in your USB and open the File Explorer. Locate your USB in the left panel menu. Right-click on the USB, and a menu will appear. From here, click on “Format.” A window will pop up with a few drop-down menus. The second one from the top should be labeled “File system.” Click on the arrow and select “FAT32.” Finally, click on the “Start” button at the bottom to format the USB.

If you are on a Mac, plug in the USB and open “Disk Utility.” The Disk utility program can be found by following this path “Applications -> Utilities -> Disk Utility.” Alternatively, you can type “Disk Utility” into Spotlight. With Disk Utility open, click on your USB drive in the panel on the left. For Yosemite and below, click on the “Erase” tab, select “MS-DOS (FAT)” from the drop-down box and click the Erase button. For El Capitan and above, click the Erase button, select “MS-DOS (FAT)” and click the Erase button again.

With your USB formatted to FAT32, create a folder at the root of the USB. Rename this folder “retropie,” all lowercase.

Eject, or if you’re someone who likes to live dangerously, yank your USB out of your computer. If you haven’t flashed RetroPie to an SD card, do so now.

Boot up your Raspberry Pi running RetroPie and plug in your newly-formatted USB. RetroPie will then create folders with the names of the emulators automatically. Your Pi is finished when the indicator light on your USB stops flashing. If your USB does not have an indicator light, make a cup of coffee. By the time you get back it should be done. At this stage, remove the USB from your Pi and plug it back into your computer.

Upon plugging your USB back into your computer, you should notice that the “retropie” folder you created earlier now has a subfolder called “roms.” Inside this folder is a folder that corresponds to all of the consoles RetroPie supports.

To add ROMs, simply drag and drop your ROMs to the corresponding console/emulator. Be aware that only MAME ROMs can end in .zip. All other ROMs must be unzipped before adding.

Finally, Sega Genesis ROMs must be placed in the “megadrive” folder, and TurboGrafx 16 ROMs must be placed in the “pcengine” folder.

We’re heading into the home stretch here. Eject or yank (you maniac) your USB out of your computer. Boot your Raspberry Pi back up and plug in the USB. RetroPie will automatically copy the ROMs from your USB to the SD card.

How long this process will take depends on how many ROMs you have. If you are using a USB with an indicator light, the process is finished when the light stops flashing. If your USB doesn’t have an indicator light, estimate how long it took to transfer the ROMs from your computer to the USB and add a bit of padding time to be safe.

Once copying is complete, you’ll need to restart EmulationStation. Remove your USB and plug in a keyboard. Pressing F4 on the keyboard will force Emulation Station to reboot. Once it fires back up, you should be good to go!

What are your favorite projects for the Raspberry Pi? Let us know in the comments!