It’s not all about raw power, as is evident by the buzz around Miyoo’s latest handheld. The Miyoo Mini is an evolution of the original BittBoy, and it’s a big step up for Miyoo in quite a few ways. Let’s take a look at what the Miyoo Mini has to offer.
I pre-ordered the Miyoo Mini on day one. For $52 it promises a lot for a very reasonable price. I’ve always had a soft spot for super pocketable gadgets, and this one fits the bill size-wise. Its compact size, along with the almost bezel-less high res panel and a previously unseen SoC make it quite appealing.
My shipment started moving on day two, and arrived at a distribution centre about 150 miles away from my place by the fifth day. It sat there for a week apparently waiting to clear customs, and finally arrived at my house after about 2 weeks.
The fun began when I opened the package to find that despite ordering a single white unit, I had been shipped two grey ones. After discovering that jutleys (rghandhelds.com) only received one unit instead of two, and having a chat with a very amiable Miyoo rep on AliExpress, we sorted things out. I was compensated to the tune of $10 to send him one of my units. Miyoo only opened their store in November and this is their first logistics challenge, so some teething problems are understandable.
I must admit their initial response was quite fitting and really cracked me up.
Miyoo’s previous handhelds have all been released under the BittBoy, Pocket Go and occasionally Wolsen brand in the West. This time though, for a reason that’s not entirely clear but which does inspire some confidence, they’ve applied the Miyoo brand to the product. Perhaps to distance themselves from some of their previous products, who knows.
The Miyoo Mini is a very small, budget friendly handheld with a 2.8″ LCD dominating the top half of the device. It is not micro in size, but it’s about as small as practically possible without sacrificing too much in the way of usability. It’s about 107g with the battery, and the battery itself weighs 32g. Obviously analog sticks have had to go, but there is a very nice L2/R2 implementation on the back of the unit.
The Miyoo Mini comes boxed up nicely in rigid cardboard box. There’s a landfill card reader, USB-C cable and instruction booklet in there too. It immediately feels like a quality product, the plastic moulding and general fit and finish are extremely good. The plastic texture is very fine matte, and the shell itself completely rejects any fingerprints.
It seems that Miyoo are quickly rising up to Anbernic level of craftmanship. The PocketGo S30 was also a nicely made device (with some caveats) and the Miyoo Mini is a far cry from the cheap feeling Bittboy from a few years ago. If you remember back to Anbernic’s first devices such as the RS97 and RG300, the build quality of their subsequent handhelds was much better. It feels like Miyoo are on a similar trajectory here.
MIYOO MINI LCD
The Miyoo Mini is advertised as having an IPS display, but it’s immediately obvious that if it is IPS it’s not quite as good as some rivals. The viewing angles, whilst fairly wide, quickly wash out unless you’re looking at it dead on. Colours don’t quite pop either, it seems like the contrast has been dialled down a bit. Word is that it’s the same panel as the BlackBerry 9900, so it is at least 10 years old.
Let’s not be too hard on it though. The reality is that we have a 2.8″ 640×480 bezel-less LCD in this device, and whilst it’s not mind blowing, it’s perfectly acceptable. It’s not OCA laminated, but the LCD sits extremely close to the lens. And crucially there is no noticeable ghosting or screen tearing. The colour temperature is good too, with no obvious weight towards either red, green or blue. The colours look very natural to my eyes, if lacking some vibrancy overall. I can’t figure out if the screen lens is plastic or glass but there is zero flex to it. I’m fairly sure it’s glass.
My biggest worry with this device was the buttons. Some previous Miyoo handhelds have had unacceptably poor conductive membranes which fail to register inputs some of the time. The Miyoo Mini comes with a built in input checker, and I am pleased to report that all of the buttons on my unit register 100% of the time at any pressure level. Not only that, but the dpad is nothing short of amazing. It never registers a false diagonal, and it’s very similar to Anbernic’s RG280V implementation, albeit with a slightly lower pivot. Unlike the RG280V, it has more rounded edges which overall makes the Miyoo Mini dpad even better in my opinion.
Start and Select buttons are made of hard plastic, rather than the rubber finish you might expect from their Game Boy aesthetic. ABXY are perfect, pushing down with a noticeable but soft click. Round the back, the R2/L2 triggers sit slightly proud of R/L, making it easy to find them without looking. For adult hands it is much easier to hit R2/L2 than R/L. Compared to the RG280V, the Miyoo Mini is a more comfortable device to play overall, however hitting L/R is more difficult for me.
SOC AND LINUX SUPPORT
As previously mentioned, the Miyoo Mini contains a SoC not seen before in a handheld device. It’s a Sigmastar SSD202D, which is a Cortex-A7 dual core chip running at 1.2Ghz. Paired with just 128MB of DDR3 RAM and no GPU for 3D acceleration, it is no powerhouse.
It’s probably a bit more powerful than the JZ4770, and some of the included emulators offer similar performance. Having said that, the SSD202D is built on a 22 or 28nm process, compared to the 65nm of the JZ4770. This should mean better efficiency and potentially a longer battery life.
There is ongoing work to bring mainline Linux support to these chips. Whilst I could pretend to understand what’s required for this to happen, I don’t. As far as I understand, the biggest hurdle is lack of kernel sources, and a significant reverse engineering effort is ongoing due to that.
HARDWARE AND SOFTWARE CONFIG
The Miyoo Mini has its firmware stored on a NAND chip soldered to the motherboard. Emulators, ROMs, Applications, Images, Retroarch cores etc are all stored on a removable microSD card and are writable via a PC. Unfortunately for us, the USB port on the device is for charging only. There are no data lines connected, so it is not possible to view, read or write to the NAND via a PC. Developer shauninman has ported a version of Commander to the device which allows you to look at the contents of the NAND. Be careful if you’re poking around in there. It’s not yet known if all of the NAND contents are protected/read only. There is a chance that if you remove or edit the wrong file you could brick your device.
There are UART solder points on the side of the motherboard which may provide a way to recover from a bodged upgrade or corrupted NAND in future.
It’s very unfortunate that Miyoo didn’t connect any data lines to the USB port. From what I understand this would have made the process of updating and tinkering much easier. Presumably it would be much safer too.
FLASHING A SOFTWARE UPDATE
Performing a system update has to be done in a very specific way otherwise you risk bricking your device. If this happens, there are ways to unbrick it. This comment from u/lifeasabear on Reddit explains how he unbricked his Miyoo Mini.
However if you follow the instructions you should be fine. I have flashed every firmware from Miyoo without a problem.
- Power off the Miyoo Mini and remove the SD card
- Download the latest firmware image from the Miyoo website
- Copy the miyoo283_fw.img file from \Miyoo-mini-upgrade20220419.zip\The firmware0419\ (or whatever the latest file version is called) to the root of your SD card
- Remove the battery from the system
- Plug in a USB-A to USB-C cable (ie not a phone cable with USB-C both ends) connected to a 5v wall plug. It is advised to not use a PC for this, although I have every single time and it’s been fine.
- Wait. It can take a few minutes to complete. You will know when it’s done because the screen will revert to the charging screen.
- Unplug the USB cable
- Remove the SD card and delete the miyoo283_fw.img file from it.
- If you intend to use the stock OS, copy the remaining 4 folders from the TF card(1) folder in the download from the Miyoo site to the root of your microSD card.
- Copy your ROMs and BIOS (if needed) back to the card, insert it into the Miyoo Mini and boot it up.
THE OPERATING SYSTEM
Before we look at this, it’s probably worth noting that some eagle eyed code hunters have identified the OS as being strikingly similar to the stock OS on the TrimUI. It’s likely that the same software developers have provided Miyoo with the software for the Miyoo Mini. It appears to be largely the same OS albeit with a different skin.
This is where things start to get a bit messy. The stock launcher is a grid based system that allows you to select one of 13 pre-configured emulators. All of the usual suspects are present. These emulators are a mixture of standalone emulators such as picodrive and gambatte, and RA cores such as mGBA and Beetle. All of these have what is called a “Native Menu” accessible by hitting the menu button just underneath the screen. For the RetroArch cores the menu is a subset of RetroArch options, and the standalone emulators use the usual familiar menu.
Unfortunately making any meaningful changes to the settings of these emulators is hit and miss, with some crashing out to the main menu (SNES9x4D) and others simply refusing to accept changes you have made. For systems such as GBA, whilst the aspect ratio is correct there is a strange pixel filter applied to the image which is not possible to remove at all through the menu options. For some systems the image is scaled correctly but appears soft. This is possibly due to the image being rendered at 320×240 and then scaled to 640×480 using bilinear filtering.
A lot of these systems have an audio lag, with Snes9x4d and mGBA being particularly noticeable. Audio crackling is also an issue sometimes. Developers have potentially attributed this to a sample rate configuration problem which will hopefully be addressed in future.
Stock launcher aside, there is another custom menu for launching games directly which utilises native RetroArch menus. Out of the box both launchers point to different ROM locations, but this can be fixed on a desktop by editing the ROM path for each of the RetroArch cores inside RApp\<system>\config.json. Simply change /RRoms/<rom_path> to /Roms/<rom_path> for each core and save the file. The <rom_path> will have a different name between launchers, so look it up on your SD card first.
The RetroArch launcher comes with its own set of problems though. Only a few of the core options stick once saved. In some cases you’re stuck with the way they were preconfigured, and in most cases they could do with tweaking. For example, GBA is rendered at full screen in RetroArch rather than 3:2. Although that weird pixel grid effect is not present, you cannot correct the AR.
There’s a folder on the SD card called “buckup” which contains other RetroArch cores that don’t appear by default. You can copy and paste this out into the main directory and they’ll appear on the launcher. Similarly, for systems you’re not interested in you can cut and paste them into the buckup directory to hide them.
The aforementioned audio crackling and lag is also present in systems in RetroArch too.
All in all, for people that just want to pick up and play and aren’t too concerned with tinkering, overlays or aspect ratios then the stock launcher is quite nice. Performance differs between launchers in some emulators, but for the most part it does OK for the provided systems. I expect that most people reading this post are probably not in that category of gamers though. For us, the stock software is frustratingly unfinished.
MINIUI AND ONION OS
Thankfully as of May 2022, we have two replacement launchers for the Miyoo Mini. Onion OS and Shauninman’s MiniUI both fix myriad issues with the stock firmware as well as add new features. To try these out I would recommend setting the stock SD card to one side and grabbing two of your own microSD cards, one for MiniUI and one of OnionOS.
The process is as below.
- Remove the stock SD card and copy the BIOS folder and ROMs if needed to your desktop for later
- Flash the latest firmware from Miyoo (not necessary for MiniUI required for Onion).
- Format your new microSD cards as FAT32
- Download each of the new OS to your desktop, and
- for Onion, copy the .tmp_update folder directly to the root of one SD card
- for MiniUI, copy the 4 folders (Bios, miyoo, Roms, Saves) to the root of another SD card
You will need to run the Onion launcher before the Bios folder is created. The MiniUI Bios folder is present already, before the first run. You can copy your BIOS files back into the corresponding directories at this point, and also add all of your ROMs into the corresponding system folders.
TriforceX is also said to be working on custom firmware for the Miyoo Mini. Currently there is not a lot to see at the github, but you can visit this page to retrieve a dump of the original firmware if needed. The firmware update provided by Miyoo is also hosted on this page. For those interested, there are a couple of super high resolution images of the PCB here too.
EXTRAS, BATTERY AND SPEAKER
The stock frontend also contains an Apps section, preloaded with OpenBor and a Chinese RPG whose name I can’t recall. This is also the section where you could add Commander if you want to poke around in the NAND.
The Miyoo Mini is powered by a ~1900mah replaceable battery of which replacements are plentiful. Battery life is between 5 and 6 hours which is excellent for a device of its size. The battery actually adds a substantial amount to the overall weight of the device.
The mono speaker is loud but shrill, and the volume is controlled by an analog wheel on the left side. The speaker does emit an almost inaudible pink noise hiss when on full volume. If you use the Settings to dim the screen there is also a whining noise from the speaker. This doesn’t appear to be affected by volume level, it’s just there. With brightness on full and the volume at a reasonable level I cannot hear any hiss or whine unless I put my ear to the speaker.
I am confident that performance of this handheld will improve when custom firmware is released. It should be said though that in some cases it’s not as good as the JZ4770 yet, despite having a similarly powerful SoC. Overall the RetroArch cores perform better than those from the standard “Game” menu. If you can look past the inability to change RetroArch settings right now, you’ll probably have a better experience here.
This isn’t always the case, difficult to emulate titles such as Bloody Roar 2 for the PS1 seem to run well in the stock PCSX Rearmed emulator with frameskip set to Auto. Better than in the RetroArch core. However, it’s possible that better performance could be squeezed out of RetroArch with the ability to save configuration changes.
You can expect slight audio lag and crackle in most games, but I am less troubled by that than I am the incorrect scaling and AR.
Miyoo have excelled in the hardware department for this handheld, with one major oversight. They’ve set out to create a capable low budget device with a previously unused SoC and have succeeded. For $52 you are getting a highly pocketable, fairly comfortable mini handheld with a good high res panel. The controls are well thought out with a clever shoulder button implementation and excellent dpad. The overall build quality is superb, Miyoo have just about reached Anbernic levels of manufacture with this device.
It is a shame that the underlying Linux OS is closed source, but the work of the community by way of MiniUI and Onion OS allow for a well polished and fully featured experience never the less. For enthusiasts and tinkerers, the stock software lets it down right now. The reason Anbernic’s software is so polished is because they do eventually release their source code for each device and the community developers can work with it to create an excellent OS.
As of May, Miyoo have released two new colours of the Miyoo Mini. A smokey transparent black, and a transparent blue version are now available, but stock still appears to be quite erratic even now.