My first open source handheld was the original GP32. It had a reflective LCD screen that could only be used in ideal lighting conditions; crackly audio; and an awful mini joystick that only worked if I shoved a folded piece of paper into it.

Despite the flawed hardware, it was a system designed to enable, rather than inhibit, homebrew software; and for a time its quirky combination of amateur hardware and amateur software made it my favorite console. It was the first in a long line of homebrew-supporting handhelds that includes the GP2x, Dingoo, GCW-Zero and Pandora.

My last venture into open source handhelds was the Dingoo A320. Somehow a sizable homebrew scene grew up around this tiny machine. It gained a Linux port, multiple SDKs, and dozens of emulators and game ports. I threw mine out when the screen cracked, and I lost interest in the open source handheld world.

The RG350M made me take another look. It’s a direct descendent of the Dingoo in that it runs a fork of the Dingoo’s Linux port, OpenDingux. It can run GCW-Zero software without recompilation.

It’s a great looking machine with an aluminium shell, 640x480 IPS screen, two SD card sockets, two USB-C ports, two analogue sticks, and four shoulder buttons. The screen is by far the most vibrant and clear I’ve seen on a handheld. The shell is solidly built. The d-pad is perfect. The other buttons are responsive and clicky.

As is typical with open source handhelds, there are problems. The device is well designed but it has abysmal quality control. Mine has a misshapen right shoulder button. A little chunk of plastic on the button sometimes catches on the inside of the shell, preventing it from working reliably.

Internet complaints about other issues abound, including DOA units; pressure damage to the screen; screen discoloration; loose screens; flickering screens; dead screens; dead batteries; malfunctioning buttons; incorrect buttons; unreliable SD cards; bent shells; badly-soldered components; audio artifacts; nonfunctional speakers; components detaching from the device; and the device allegedly overheats and damages itself if charged whilst powered on.

The OS is solid. It boots quickly (under 10s) and is easy to use. It has a built-in SFTP server that’s accessible via USB, which makes copying files to the device simple. I’ve tried a handful of emulators and games:

  • Gambatte (GB/GBC; excellent);
  • Genesis Plus GX (Mega Drive/SMS; muffled audio);
  • Picodrive (Mega Drive/SMS; good but some compatibility/accuracy issues);
  • SMS Plus GX (SMS; poor frame rate);
  • UAE4All (Amiga; noticeably slower than real hardware);
  • UnrealSpeccy (ZX Spectrum; excellent);
  • Fceux-RG350 (NES; excellent);
  • Handy (Lynx; slower than real hardware);
  • GPSP (GBA; some screen tearing);
  • Doom (too slow at max resolution; too fast at lower resolutions);
  • XRick (unplayably slow; slower even than playing the original in UAE, which is very odd).

It even has a port of MilkyTracker. It’s impractical to use for composition without a keyboard, but it works well for playback. It has a dual-pane file manager, too.

Here’s a list of RG350M-compatible software, and here’s where to get the latest firmware

In terms of emulator performance the RG350M seems to be roughly on par with a PSP. I don’t think there’s anything that the RG350M can do that the PSP couldn’t do equally well.

Overall, it’s easily the best designed open source handheld that I’ve used, with great controls and an excellent screen. However, the lack of quality control is a major concern, and its capabilities aren’t a noticeable step up from the PSP despite the 16 years between them.

Obscure Handhelds has a much more in-depth review, but it makes no mention of the QC issues.


GP2X Wiz

I suffer from a weakness for handheld videogame consoles. I’ve got most of the iterations of the Game Boy, the three iterations of the DS, all but one of Game Park’s GPxx series and a variety of other handhelds, from Game & Watches to the Atari Lynx. From the GBA onwards, I’ve mainly been buying these things to run homebrew on them. Two consoles released recently, the GP2X Wiz and the Dingoo A320, have homebrew as their focus and I found that I simply couldn’t resist the urge to buy them. I’ll discuss the Dingoo in another post, whilst the Wiz is reviewed below.

First of all, some history. The Wiz is the successor to Game Park Holding’s GP2X, which was itself the successor to the GP32. Whilst the GP32 was designed to be a platform for commercial games, albeit wacky Korean commercial games, it quickly found a niche as the homebrewer’s console of choice. This can primarily be attributed to its use of SMC memory cards as its storage media and its freely available SDK. Its successor was the GP2X, which was created by a splinter group from the original company. They realised that the homebrew aspect of the original console made it much more popular than the ropey commercial offerings ever did. (Meanwhile, the original company followed the commercial route and quickly went bust without releasing any new hardware.) The GP2X was faster than the GP32, used Linux as its operating system, had more memory, more buttons, and used SD cards instead of SMC.

Both consoles had advantages over their mainstream rivals. Both had relatively large screens, were easy for homebrewers to develop for, and used cheap, generic memory cards for storage. Most importantly, amateur developers did not have to contend with a constant stream of firmware updates designed to stop them enjoying themselves. This freedom resulted in the phenomenal amount of homebrew available for both systems, including a number of superb emulators. The GP2X even did a credible impersonation of an Amiga 500.

That is not to say that the consoles were perfect, however - far from it. The GP32 shipped in at least 4 versions, each of which was designed to make the screen slightly less invisible than the last. Subsequent versions were improvements, but the first hardware iteration had an unlit screen and was unusable in most lighting conditions. All of the GP32 models featured a ridiculous, tiny joystick instead of a d-pad, cunningly designed to make it difficult to activate diagonals, making entire genres of games utterly unplayable.

The GP2X also came in multiple models, each featuring its own unique set of problems. The original model, the “F100 First Edition”, featured a joystick that managed to be even less useful than the GP32’s - GPH outdid themselves by using a cheap joystick mounted the wrong way around, and produced a stick that could hit diagonals but none of the other directions, making virtually all genres of games unplayable. At the time, many people wondered if the problem could be fixed in firmware, but if the hardware is broken, software can’t really help. The second version crippled the USB hardware making it impossible to debug from the system itself. The final version, the “F200”, finally replaced the joystick with a d-pad, but it had such a bizarre, outsized design that using it quickly led to blistered thumbs. It also featured a touch screen, which I have discussed before. In brief, it was so twitchy, inaccurate and unreliable that I gave up on the idea of a Woopsi port pretty much as soon as I got a test version to compile.

This brings us, in a roundabout way, to the GP2X Wiz, which is the latest in the line. The Wiz is essentially the GBA Micro of the GP2X world, but with added improvements. GPH have slimmed down the hardware (it’s now slightly smaller than a closed DS Lite) but bumped the specs. They’ve replaced the two 200MHz ARM CPUs with a 533MHz ARM9 with 3D hardware, replaced the USB1.1 port with USB2.0, swapped the TFT screen for AMOLED, and added an excellent built-in battery instead of space for two AAs. Amazingly for a GPH device, it features a d-pad that actually works, and I can play Street Fighter 2 and Thunderforce 4 without wanting to throw the console across the room. It feels sturdy and well-made, and boots a good deal faster than the GP2X ever did.

In fact, the only downside to the hardware thus far is the screen. It is a touch screen, but it suffers from the same problems as the GP2X F200 - the values reported by the touch screen bear only passing resemblance to the actual location of the stylus, and each subsequent poll will return entirely different values regardless of whether or not the stylus has moved. Even worse, GPH have managed to add a deadzone to the screen, either by using even cheaper components or by fitting the screen improperly and squashing the edges. The deadzone seems to vary in size amongst Wiz consoles. Unfortunately, this means there is absolutely no point whatsoever in porting Woopsi to the Wiz.

To make matters worse, GPH have used a 240x320 screen instead of a 320x240 screen. This results in the same sideways VRAM arrangement last seen in the GP32. Not too big of a problem in itself, but it is also thought to be the reason for a screen tearing effect that causes half of the screen to update before the other half. The two halves are separated by a diagonal line from the top-right corner of the screen to the bottom-left. It is not too distracting, though, and if screen tearing is the price I have to pay for a d-pad that works, I’ll gladly pay it.

Typically, GPH’s response to both of these issues is to insist that they will be fixed in new releases of the firmware, but as with the GP2X F100’s joystick, if the hardware is broken, software can’t really help.

As the Wiz has been available for less than a month, software support is lacking. Notable software currently includes a C64 emulator (Vice, seems pretty capable), a Mega Drive emulator (PicoDrive, superb) and a SNES emulator (PocketSNES, 50fps except when dealing with Mode 7). No official libraries or an SDK have yet been released, so developers are currently relying on mostly undocumented, unofficial, Linux-only toolchains designed for the GP2X.

Despite the hardware problems, the Wiz is actually a pretty good console. Its improved specs and usable d-pad represent a significant improvement over the GP2X. The new form factor makes it more portable, and it looks and feels so much more professionally made. For me, the only disappointment is the hopeless touchscreen, but to be perfectly honest I was expecting nothing more.

However, I am not sure that the Wiz will ever amass a development community as large as the GP2X’s. The lack of an SDK is a big problem at the moment (I have the OpenWiz toolchain installed in an Ubuntu VM, but a lack of documentation and libraries is preventing me from using it for anything), but the real issue is the impending release of the Pandora. Designed by people who clearly have a better grasp of videogames and homebrew than GPH, the Pandora will inevitably lure programmers away from Wiz development and reduce the amount of software that gets produced for the console.

To summarise: Pros:

  • D-pad is pretty much perfect.
  • Great battery life.
  • Good size.
  • Boots faster than the GP2X.


  • Screen tearing can be distracting.
  • Touchscreen is useless.
  • Not much software yet.
  • No official SDK yet.