Introducing Simple30, an Optimized PocketGo S30 Firmware

Last updated: 16FEB2021 (see Changelog for details)

I’m very proud of the PocketGo S30 Add-On Pack that I created last month, but something didn’t sit well with me about it. For starters, it was basically a series of clever workarounds to improve the experience, but it wasn’t perfect or sustainable. Today I’d like to introduce something I’m calling “Simple30”, which is a compilation of many improvements made by the retro handheld community that turns this device into something truly neat.

If you haven’t already, consider buying a PocketGo S30. For $60, it’s an excellent deal.

Table of Contents
First things first
Required BIOS files
Supported systems
Known issues


First things first

The honest truth is that I had very little to do with the actual development of Simple30. This project is available thanks to a number of developers whose work enabled me to basically compile and streamline the user experience.

Developer bkacjois was able to create a fully-formed RetroArch 1.9.0 that works on the S30
Steve from Tech Toy Tinker (and RetroArena) added dozens of new emulators and ports to the device
DaMikki developed a safe shutdown mechanism for use with this device

So really I just took their work and put it into one package. I don’t think that Simple30 is the end of this development, either; I think that there are plenty more milestones to come.


When it comes down to it, the goal of Simple30 is to give the user a fully capable device, but with a pick-up-and-play experience.

Simple30 is:

  • Optimized to allow you to play 90 systems and ports altogether, but the flexibility to pare down your system list to as few systems as you’d like (or as many as you’d like).
  • Pre-configured with optimal graphics settings to give you an excellent viewing experience without having to tinker with the settings yourself (but with the freedom to tinker if you’d like).
  • Pre-loaded with all relevant shaders and cheat files for your viewing and gaming pleasure.
  • Pre-configured with hotkeys to allow you to quickly and efficiently navigate your games.
  • Able to use a safe shutdown mechanism that allows you to safely power off your device and preserve your save games and configuration settings.


I recommend you upgrade the stock SD card in your device to a 128GB or 256GB microSD card, from a reputable brand like SanDisk or Samsung, so that you have a reliable storage option with plenty of space for your game collection. It is also confirmed that 512GB cards also work fine on this device. Here is a link to my recommended cards.

In order for this card to work on your device, you will need to format it to FAT32 file system. Windows can only format cards which are less than 32GB to FAT32, so you will need to use a program called guiformat. For Mac, you can use the Disk Utility program that comes with MacOS to format (“erase”) the card, with MS-DOS (FAT) as the format. In both cases, you can name the card “SIMPLE30”.

Once your card is formatted, download Simple30 here, and unzip the contents and drag them into your FAT32-formatted SD card. That’s it, you’re done. You can now add your game files to their respective folder within the main “roms” folder, and your BIOS files, too (more on that in the next section).

Required BIOS files

The BIOS files now need to be placed in the retroarch/system folder. Here are the necessary BIOS files for the default systems:




GAME BOY (for boot logo):

GAME BOY COLOR (for boot logo):





Supported systems

The Simple30 image, by default, contains about 20 of the most popular classic systems:

Arcade (FinalBurn Neo)
Arcade (MAME 2003-Plus)
Arcade (Neo Geo)
Nintendo Entertainment System
Super NES
Nintendo 64

Game Boy
Game Boy Color
Game Boy Advance
Sega Master System
Sega Genesis
Sega CD
Sega 32X

Sega Dreamcast
Sega Game Gear
Sony PlayStation
Sony PSP

Note that with this new software, Nintendo 64 is now available. But just like Sega Dreamcast and Sony PSP, performance is relatively limited. The other systems play just fine.

If you want to remove any of these systems from your main menu, simply go to the sections/emulators folder on your SD card, and move the respective system launcher file (they’ll be labeled according to the system they support) into the sections/emulators/optional folder; this will make the system disappear from your main menu.

But additionally, there are other emulators and ports that you can play on your device, such as:

MAME 2010
Neo Geo CD
Famicom Disk System
Super Famicom
Sufami Turbo
N64 (Parallel core)
Virtual Boy
Game & Watch
Super Game Boy
Dreamcast VMU
PSP Minis
Neo Geo Pocket
Neo Geo Pocket Color
Atari Lynx
Wonderswan Color

ZX Spectrum
MSX Turbo R
Odyssey Videopac
Atari 2600
Atari 5200
Atari 800
Atari 78
Atari ST
Amiga 500
Amiga CD32
Channel F
Sharp X1
Amstrad CPC

Thomas MO5
Commodore 64
Commodore 128
Commodore PET
Commodore Plus4
Commodore VIC20
Palm OS
Pokemon Mini
Wolfenstein 3D
Mr. Boom
Rick Dangerous

To add these systems to your device, navigate to the sections/emulators/optional/ folder, and move whatever system you would like to play into the sections/emulators folder instead. Note that some of these systems will require additional BIOS files, and the ports will require retail files added to their respective rom folder.


All of the emulators (except for the standalone PSP emulator) will take advantage of RetroArch’s universal hotkeys system. Here are the hotkeys that you can use while in a game:

RetroArch hotkeys

SELECT + POWER = Quit game and return to main menu
SELECT + START = RetroArch Menu
Hold START (3 seconds) = RetroArch Menu
SELECT + Y = Toggle FPS (frames per second)
SELECT + B = reset game
SELECT + A = pause emulation
SELECT + R1 = save state
SELECT + L1 = load save state
SELECT + L2 = rewind (when enabled)
SELECT + R2 = fast forward (currently no working)
SELECT + RIGHT on d-pad = save state slot +
SELECT + LEFT on d-pad = save state slot -
SELECT + UP on d-pad = volume up
SELECT + DOWN on d-pad = volume down


Here are some random notes that may help you get the most out of this unique device:

  • If you load your roms onto your SD card and do not see them in the menu, go into the sections/emulators folder on your SD card and find the appropriate launcher file for your system. Open that file with a text editor, and find that last bit of code: (selectorfilter=gdi,cdi) or similar, and add the file extensions of your roms (.iso, .img, and so on).
  • To scrape boxart or videos for your menus, check out this section of my Starter Guide.
  • You can adjust the brightness within RetroArch by going to Settings > Video > Output > Screen Brightness. I find this easier than closing out of the game and adjusting the brightness in the main menu.
  • With the way the system is currently configured, you cannot switch between RetroArch cores in one system. For example, while most Nintendo 64 games play best with the Mupen64Plus N64 emulator, others may play better with the Parallel N64 core. There isn’t a way to set the Parallel N64 core to launch with certain games. Instead, I’ve made a Parallel N64 core section, so that you can launch the same N64 library with that core instead. To set it up, go into the sections/emulators/optional folder on your SD card, and move the file named “07 parallel (n64)” into the sections/emulators folder. Now you will see a Parallel N64 option in your main menu.
  • If you would rather just run RetroArch by default and not deal with the Simple30 menu interface, that is set up as well. Go into the bin/RA launcher folder on your SD card, and move the gmenu2x from from that folder into the bin folder (replace the one that’s already in there, although I would make a backup in case you want to revert back at some point). From now on you will launch directly into RetroArch whenever you boot up the device, and quitting RetroArch will shut down the device.

Known issues

Like any software solution, Simple30 is a work in progress. Here are some of the issues that I have noted:

  • The “Save Content Directory Overrides” function does not work, which means that you cannot save settings specific to one game folder for systems that use the same core. For example, you cannot save Game Gear specific settings because it shares the same core as Master System, Genesis, and Sega CD.
  • Some shaders will rotate the screen when turned on.
  • Fast forward function does not work at this time.
  • Volume and brightness levels are reset when the device is powered off/on.
  • With MAME2003-Plus, some button presses register as multiple buttons. Until a fix is in place, you can do a workaround by swapping out the RetroArch core with MAME2003 (open the sections/emulators/ folder, find the MAME 2003-Plus file, open it with a text editor, and change the core to (params=-v -c retroarch-arcade.cfg -L


– Published guide

– Added note about adding additional file extensions
– Added known issue about MAME 2003-Plus buttons

148 thoughts on “Introducing Simple30, an Optimized PocketGo S30 Firmware

  1. Hi. Love this handheld and the work you do for it, thanks.
    I have a problem though.
    If I play Super Metroid via Retroarch, the collar buttons won’t work, so I can’t select/de-select the items I pick up.
    The same goes for the Metroid games on GBA via Retroarch.
    I’ve gone into the mapping setting and configuered them, but it still doesn’t work.
    Any ideas/solutions please ?
    Thanks in advance.


    1. That is because the Select button is setup as a hotkey for RA shortcuts. You will need to create a game options file for the controls for Super Metroid.

      Start up Super Metroid and then press Start + Select to access the RA Quick Menu

      Select Controls

      Select Port 1 Controls

      Scroll to Select Button and press left 3 times until you see “—”

      Scroll to L2 Button (Trigger) or R2 Button (Trigger), whichever you prefer to use, and press right 3 times until you see it say “Select”

      Press B to leave this menu, and then scroll to “Save Game Remap File” and press A on that.

      Press B to leave this menu, and scroll up to and select Resume

      now, your Super Metroid will load this specific control setup each time you use it, and the Select hotkey will still work and the L2 or R2 will be considered the Select button in the game itself.

      Liked by 1 person

  2. The only thing I can’t do is play ps1 games. I apparently don’t understand how to place bios with psx so that Roms show up in the plays toon icon on the game system. I can add other games to other emulators but just psx


    1. There are Youtube videos to help with this.
      I went back to the old version as I have too many problems with Simple30.


    2. Have you figured this out because I have not. I’m placing the Bin file in the respective psx folder and nothing.


    1. I’m talking about the menu that has options to save and load state, which was accessible pressing the power button.


  3. I read on Obscure Handhelds it was possible to plus the S30 directly to the PC through USB-C.
    But when I do so, I can’t access the folders.
    Any idea how to proceed? Do we need a driver?


  4. Hi, i am unable to save shader or setting configurations. after i save core preset or other settings and exit game, then play another game of the same kind again, it goes back to the default shader instead of the one i have chosen. please help me, thanks.


  5. Hello, I have a question. With this firmware it is possible to play in retroarch’s netplay? obviously using a wi-fi adapter.


  6. Is there anyway to bring back the old power button menu that lets you save, load and quit?
    I really enjoyed feature for my kids

    Keep up the awesome work 🙂


  7. Hi, Russ. Couple of questions about the menu system:

    1) Is it possible to navigate through multiple sections? By default, everything is in Emulators, so its one long left/right sequence. Being able to toggle through various sections would make it possible to group emulators into subsets (e.g. Nintendo emulators, or dedicated Ports). The PowKiddy V90 menu is a good example of this (sections for Apps, Emulators, Games, and Settings). I tried creating new sections, but couldn’t find a way to navigate between them.

    2) Is it possible to add support for subfolders to the ROM directories? Right now it seems the menu can only find ROMs if they are in the emulator’s “root” directory (e.g. “\roms\nes\” for NES); if they are in subfolders of that directory, they don’t appear in the list. I like organizing my ROMs into subfolders for easier navigation.

    Thanks! Really appreciate all the work you’ve done!


    1. Hi, Russ. Just wanted to follow up. I found solutions for my earlier questions, and have one more — hopefully an easy one for you. First, the solutions, in case anyone finds them helpful:

      1) Section navigation is enabled, technically; however, the inputs need to be mapped in the input.conf file (root folder). I would have preferred to map these to the L and R buttons, but I wasn’t able to find their key codes (tried everything between 1 and 322, no luck). So, I settled for the X and Y buttons instead (by default, they’re not assigned to anything). The critical lines are:


      In the \sections folder, create new folders for the sections you want, and organize your emulator links in them as desired. Just like emulator links, section navigation is alphabetical, so use this to your advantage when naming your folders.

      2) Subfolder navigation is already supported, just disabled. It can be enabled on a per-emulator-link basis by editing that emulator’s file in the \sections folder:

      a) Change “selectorbrowser=false” to “selectorbrowser=true”
      b) I recommend creating a file type filter if it doesn’t already exist: on a new line, enter “selectorfilter=” where is the set of file types to include, separated by commas, without spaces (e.g. “selectorfilter=.fc,.fds,.nes,.rar,.zip” for NES).

      I’m not sure if this will work with all emulators, but I do expect it will work with most.

      And finally, this brings me to my new question:

      Is it possible to change the path where the system looks for scraped artwork? I understand by default it looks for the \images and \videos subfolders within the emulator’s ROMs folder. If it’s doable, I’d like to be able to change it to point to paths outside the ROMs folder. That way the \images and \videos folders won’t appear in the games list alongside the folders I *do* want to see. (Yeah, I fully acknowledge I’m deep in picky-picky territory now…)

      Apologies for the length. Hopefully the info was worthwhile. Thanks!


    2. Argh — the form garbled my (2b) line, and I don’t see a way to edit it. Trying again, with different punctuation…

      b) I recommend creating a file type filter if it doesn’t already exist: on a new line, enter “selectorfilter=[file extensions]” where [file extensions] is the set of file types to include, separated by commas, without spaces (e.g. “selectorfilter=.fc,.fds,.nes,.rar,.zip” for NES).


  8. BTW, did your YouTube channel just get hijacked? Saw this “Cardano [News]” channel I didn’t recall subscribing to, doing a livestream on a completely unrelated topic. Has a few of your videos. Looks like at least some of your videos embedded on pages here are dead links, too.


  9. The “Save Content Directory Overrides” function does not work, but is someone working on it? that problem in some Nes games for example SMB3 that leaves a vertical stripe on the left side will be fixed?


    1. When it happened to me I took everything off the SD card, formatted it again and put everything back on. Then it was fine.


  10. Personally, after experimenting with Simple, I went back to Russ’s add-on pack from February. It has 90% of the systems I want, and I have not had a bit of trouble with it. PS1 works perfectly, as do the usual PSP games (2D, puzzle and minis) with this chipset. It is far simpler than “Simple,” and I especially like that a light touch of the power button brings up the menus to save, load or exit a game.
    If you’re good with the systems that are emulated, I recommend it. Load it on a separate card and experiment yourself.


    1. I totally agree, after using Simple for a while I went back to Russ’s add-on pack – it’s simpler(!), feels more light-weight and works great.


  11. everything seems to work fine with simple30 except for GBA. most of my gba library plays laggy, especially the sound is very choppy. I tried putting simple30 on different brand micro sd cards, and different micro sd sizes. they all have the same result where GBA plays worse than the original pocketgo s30. i tried messing around with the video settings and latency stuff but I need help!!!


  12. I have simple30 installed on my pocketgo s30. For the second or third time simple haa lost my save state. Am i doing something wrong? 2nd, for the ps1 emulation, if i get to the point where i finish a disk, how can i switch disks? Especially since it seems like the most reliable way is to use save state…


  13. I can’t configure the controller for a specific game, I leave the screen brightness at its lowest but in the game it stays with high brightness, this retroach is very strange, it lacks many options
    Mais sobre o texto originalÉ necessário fornecer o texto original para ver mais informações sobre a tradução
    Enviar feedback
    Painéis laterais


    1. I would go back to the original that came with the S30. There are too many problems with Simple 30, and it looks like they’ve given up trying to help etc.


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