Skip to content

Hardware Variants

Jeremy Clark edited this page Oct 5, 2026 · 3 revisions

GA36-MB Hardware Variants

The numbers, Mason. What do they mean?

Each GA36-MB unit has a different board revision number printed on it. So far we've only seen v1.0, v1.1 and v1.2. There does not appear to be any physical difference between boards with different numbers on it.

I have discovered, through intrepid engineering and an incredible response from the community, that the numbers don't actually mean anything at all.

The script.bin files inside the stock SD card explicitly define the hardware on the board. If two units have the same script.bin, then they are, for all intents and purposes, the exact same hardware. I have found that the board revision numbers have no correlation at all to the contents of script.bin files. Two v1.1 units can have different script.bin files. Two v1.2 units may even have different SoCs. A v1.1 and a v1.2 may have the exact same script.bin file. There's just no correlation at all that I've been able to discern.

The result is that a firmware that runs on one revision may not work on another. A v1.2 dump will only work on a subset of v1.2s, and may also work on some v1.0s and v1.1s.

[side note: This also means that the stock firmware backups on the handhelds wiki are is not an exhaustive list, and there are sd card backups out there that still need to be collected and uploaded somewhere.]

Variants

Instead, I think it makes more sense to identify hardware by the contents of the script.bin. The goodluckOS Firmware Builder does this by extracting the script.bin from a firmware image and hashing it. This gives us a reliable, deterministic way to identify hardware variants.

Many users have sent me their script.bin files and I've used that data to create a list of known variants:

Name SoC script.bin hash
GA36-MB A33 Rhododendron A33 4bdfa6b7deacf59d821063accdd5bf7789c70d240dc695fffa3e16f2e83dba6c
GA36-MB A33 Gecko A33 f6b72e9705f528c42ca5bef7ee39fddfd9ddc5369d365c17324ca6d9f8770898
GA36-MB A23 Esisla A23 ad0b836c8b3cc6dd2b3b0d8c1817e2fdfe9ed48998a3bed758a73603f05f96e1
GA36-MB A23 Underscore A23 755aae75f7df87348a1427b94532e6a1ef758e3071fb5bf52f10a7f7032318e4
GA36-MB A23 Xeno A23 39a74a42c3d4f9d0599bf5f0db136a7f53bb6a072aa117eaae14e0f27872c798

(The names are completely arbitrary, except for Esisla, which is named after u/esisla who has been a great help with this project and first identified that variant.)

I'll update this page with links to the decompiled .fex files for each variant soon.

How are they different?

The major differences between the variants are: The SoC, the DRAM timings, and regulator voltages. All of these have to be correct for the device to safely boot. Regulator voltages are a little more forgiving, so a script.bin with DCDC3 set to 3.3V may still work on a device whose DCDC3 expects 3v, but it makes me a little queasy. Magic smoke, iykyk.

Clone this wiki locally