Tooling

Retro Handheld Custom Firmware

Knulli, MinUI, OnionOS, muOS, AmberELEC, ROCKNIX, ArkOS — open firmware for Anbernic / Miyoo / Powkiddy.

The "Batocera-shape custom firmware" layer for cheap retro handhelds. For the hardware these run on see Handhelds (Anbernic / Retroid). For the multi-system frontends conceptually behind this CFW (RetroArch / EmulationStation) see Multi-system emulators. For ROM legality see Game legal nuance.

The 2024–26 reality: most cheap Anbernic / Miyoo / Powkiddy / Trimui handhelds ship with stock firmware that works but is rough. Custom firmware projects add scrapers, themes, save-state polish, RetroAchievements integration, performance tweaks, and a sane ES-shape UI. OnionOS for Miyoo Mini, MinUI as a minimalist alternative, Knulli (Batocera-derived) on capable hardware, muOS rising fast on Anbernic, and AmberELEC / ROCKNIX for the Allwinner / Rockchip Linux handhelds.

By family

Miyoo Mini / Mini Plus / V4

  • ★ ★ OnionOS — free OSS; the go-to Miyoo Mini CFW. Slick UI, scraping, save-state polish, RetroAchievements, the Pak app system. Active dev. The default.
  • MinUI — free OSS; a deliberately minimalist alternative — emulators only, no menus, instant on. The "I just want to play, no friction" pick.

Anbernic Allwinner / Rockchip family (RG35XX, RG40XX, RG28XX series, etc.)

  • muOS — free OSS; rising star CFW for Anbernic Linux handhelds. Lightweight, scrapers, themes, fast. Many enthusiasts now default to this.
  • GarlicOS / GarlicOS 2 — free OSS; long-running Anbernic CFW for the RG35XX family.
  • Batocera nano / Knulli — Batocera-derived CFW for the more capable Anbernic devices.
  • Stock Anbernic + RetroArch — the "do nothing" baseline.

Anbernic Android family (RG405 / RG556 / RG556 Pro)

  • Stock Android + EmulationStation Android + RetroArch + standalones — the default; less CFW, more app stack.
  • Knulli for ARM — see below.

High-end Linux handhelds (RG353, RG552, OdroidGo, RG503, RGB30, etc.)

  • Batocera (Knulli) — free OSS; Knulli is a Batocera fork specifically for handheld hardware. Batocera-equivalent UX on a handheld.
  • AmberELEC — free OSS; LibreELEC-based; Anbernic / Powkiddy Allwinner / RK35xx-shape devices. Long-running.
  • ROCKNIX (formerly JELOS) — free OSS; AmberELEC-shape but Rockchip-focused.
  • ArkOS — free OSS; one of the older custom firmwares for RG350 / RG552 era; legacy but loved.

Powkiddy / Trimui

  • Onion-shape forks for select Trimui hardware.
  • Knulli for capable Powkiddy.
  • Stock with RetroArch elsewhere.

Cross-cutting features in modern CFWs

  • EmulationStation-style scrapers — most CFWs ship a scraper or pull from ScreenScraper.fr (see ROM management).
  • RetroAchievements — see Achievements / RetroAchievements; most CFWs integrate.
  • Themes — community theme packs (Spruce-shape, Patina, etc.).
  • Save state per slot + auto-save — universal.
  • Sleep / resume — handheld-specific; quality varies.
  • Bluetooth controllers / WiFi sync — hardware-dependent.
  • TV out — hardware-dependent.

Installation pattern (general)

  1. Read the install guide on the project's GitHub or Discord — never blind-flash.
  2. Back up your stock OS image (some CFWs are reversible, some aren't).
  3. Use a clean SD card, formatted to the project's spec (FAT32 / exFAT / dual-partition).
  4. Image / extract per docs.
  5. Boot, configure WiFi, scrape ROMs.

Communities

  • r/SBCGaming — generalist subreddit; the single best Reddit hub for handheld CFW news.
  • r/MiyooMini, r/RG35XX, r/Anbernic — per-device subreddits.
  • CFW project Discord servers — usually the fastest-moving info.
  • Retro Game Corps (YouTube) — review channel; honest reviews + setup guides.
  • Russ "Retro Game Corps" / Taki Udon / Joey's Retro Handhelds — major creators with current CFW comparisons.

Pick this if…

  • Miyoo Mini Plus / V4: OnionOS (default) or MinUI (minimalist).
  • Anbernic RG35XX-family: muOS or GarlicOS 2.
  • Powerful Linux handheld (RG353, RG503, RGB30, OdroidGo): Knulli or AmberELEC / ROCKNIX.
  • Android-based Anbernic (RG405, RG556, etc.): stock Android + ES Android + standalones is the path; Knulli ARM emerging.
  • You don't want to flash: stock + RetroArch is fine; CFW is bonus polish.