Guide: Pico-8 on the RG351P

Last updated 24FEB2021 (see Changelog for details)

Pico-8 is one of my favorite systems to run on handheld emulation devices, because there are thousands of indie games right at your fingertips, and they are a perfect match for a handheld system.

I’m particularly excited about Pico-8 on the RG351P, because its network connectivity allows you to browse, play, and download games onto the device itself from the internet. That’s pretty exciting.

Note that this guide works for the stock modified EmuELEC firmware that ships with the Device. 351ELEC and ArkOS have their own instructions.

Table of Contents:
Purchase and download Pico-8
Add the system files
Add the Pico-8 "system art"
Set up the control configuration
Add your Pico-8 games
Boot up Pico-8
Shut down Pico-8


Purchase and download Pico-8

I know we’re all used to running free and open-source software on these devices, but in order to run Pico-8, you need a legally purchased version of this microconsole. I personally think that $15 is a small price to pay to access thousands of awesome indie games, but it’s up to you. One neat feature: once you purchase the system, you can also download the PC, Linux, and Mac versions to play on your home computer!

If you have purchased a game bundle in the recent past, such as the viral Bundle for Racial Justice and Equality earlier this year, you may actually already own Pico-8. I recently purchased Pico-8, only to find out that I had already purchased it two other times as part of game bundles, and didn’t realize it.

So head over to the Pico-8 homepage and purchase the Raspberry Pi version of the console. Download and unzip the file.

Add the system files

In order to make the games run, you must add them to the Linux partition of the device and make them executable. The only way to access this part of the device is via WiFi FTP or through Linux file system software. For more info on this process, check out my File Transfer Guide.

Connect to your device via FTP, then go to the storage/.config/emuelec/ports folder. Inside this folder, create a folder named “pico-8”. Place all of your Pico-8 system files inside the new storage/.config/emuelec/ports/pico-8 folder. They should be the following files:


Right-click on the pico8 file and select “Properties” (or “Get Info” if using Forklift on a Mac). In the permissions box, you should see Read, Write, and Execute permissions for the file. Make sure that all of the Execute (“X”) permissions are checked YES. Do the same for the pico8_dyn file.

Next, we need to make a file that will execute the Pico-8 program. To do this, go back to the storage/.config/emuelec/ports folder and create a file named If there is already a .sh file in there, you could just make a copy of it and rename it to the file you’ll need.

Open up the file, and paste the following code:


/storage/.config/emuelec/ports/pico-8/pico8_dyn -splore -home -root_path /storage/roms/pico-8 -joystick 0

Save and close the file. Now, right-click on the file and select “Properties” (or “Get Info” if using Forklift on a Mac). In the permissions box, you should see Read, Write, and Execute permissions for the file. Make sure that all of the Execute (“X”) permissions are checked YES.

Add the Pico-8 “system art”

Still inside the storage/.config/emuelec/ports folder, create a folder named “images” if there isn’t one already. Go to the storage/.config/emuelec/ports/pico-8 folder and copy the lexaloffle-pico8.png file and paste it into the storage/.config/emuelec/ports/images folder. Rename this file to system-pico-8.png.

Back in the storage/.config/emuelec/ports folder, create a file named gamelist.xml if there isn’t one already. Open it up with a text editor, and paste in this code:

<?xml version="1.0"?>
              <desc>The Pico-8 is a virtual machine and game engine created by Lexaloffle Games. It is designed to mimic a "fantasy video game console," by emulating the harsh hardware limitations of the video game consoles around the 1980s.</desc>
              <developer>Lexaloffle Games</developer>

Note that if you already have an existing gamelist.xml file in the directory, don’t paste in the “<?xml version=”1.0”?> and <gamelist> tags, just take everything between the <game> tags.

Set up the control configuration

Head back over to the storage/.config/emuelec/ports/pico-8 folder. You need a proper “sdl_controllers.txt” file, which will map the controls for your system, but they don’t work with the RG351P right out of the box. Instead, download and unzip this file and drag it into this folder to replace the current sdl_controllers.txt file. That’s it.

Add your Pico-8 games

Head over to the storage/roms folder, and inside this folder, create another folder named “pico-8”. Inside this folder, add all of your Pico-8 game files. To find games to add, go to this page and browse through until you find something you like. You can even demo the game on your computer or phone ahead of time to see if you like it. To download the game, just click on the small “Cart” link on the bottom-left, and download the .png file. That’s actually the compressed version of your game. Rinse and repeat until you have all the games you want, then add them to that storage/roms/pico-8 folder.

Alternatively, if your RG351P is hooked up to the internet (via an OTG adapter and WiFi USB dongle), you can just boot up Pico-8 and check out games in the “Featured” or “New” sections. This is really awesome, because you literally can access and download games via the internet on this device in Pico-8 — as far as I know, this is the only system that allows you to do that!

Boot up Pico-8

If you’ve done everything correctly, Pico-8 should now show up as an option in the Ports section of EmuELEC. If you don’t see a “Ports” section, enable them in the settings. Go into UI Settings > Systems Displayed and make sure Ports is checked.

When you first boot up the system, press left or right until you get to the folder icon, and you’ll see all of your downloaded games. If you are network-enabled, I recommend going to the “Featured” section and selection the UPDATE option, and then browsing from there. Press A to start up a game. To set a game as a Favorite, boot up the game and then press SELECT and select “Favourite”.

Shut down Pico-8

To exit a game, press SELECT then choose “Exit to Splore” which will take you to the Pico-8 menu. To exit the program, press SELECT again and select Options > Shutdown Pico-8.


– updated links to 351ELEC and ArkOS guides

– published guide

3 thoughts on “Guide: Pico-8 on the RG351P

  1. Any idea why I get the message “unable to connect to bbs” on pico 8 on the rg351p? I loaded the featured list the initial time but now every time I try to refresh the list I get that error message.

    Liked by 1 person

  2. These instructions can be updated if using the latest 351elec from version 1.0.6 and higher. Simply copy the downloaded Raspberry Pi files to the /roms/pico-8/ folder plus any games if needed and go. (Making sure pico-8 is in the systems list of course).

    There’s no need to move or edit any files or do anything else described above.

    Liked by 1 person

  3. I’ve been trying for hours now to get pico-8 working using ArkOS, the instructions on their site don’t work. I can play individual games by putting the png in the carts folder, but can’t get the splore file working at all (this section here: If you’d like to access splore to download and update games online while in Pico-8, create a blank text file named zzzsplore.p8 in /roms/pico-8/carts and launch zzzsplore from the pico-8 system menu in emulationstation). I’ve tried putting the txt file in ports, and in the standard pico 8 folder but no luck… any ideas where I’ve been going wrong? When I try to launch Pico 8 in ports I just get a white flashing line then it resets back to the menu…


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s