Miyoo PocketGo-S30

From linux-sunxi.org
Jump to navigation Jump to search
Miyoo PocketGo-S30
Miyoo PocketGo-S30 Front.jpg
Manufacturer Miyoo
Dimensions 160mm x 70mm x 22mm
Release Date December 2020
Website Device Product Page
Specifications
SoC A33 R16 @ 1.2Ghz
DRAM 512MB DDR3 @ 552MHz
NAND 16MB (zb25q64)
Power DC 5V @ 2A, 2600mAh 3.7V Li-Ion battery
Features
LCD 480x320 (3.5" 3:2) TFT LCD (ili9488)
Video Mali400 MP2 GPU
Audio 3.5mm headphone plug, internal mono speaker
Storage µSD
USB 1 USB-C Host, 1 USB-C OTG
Other 17 GPIO Buttons, 1 Charging LED (Red), 1 Power LED (Blue), PMIC AXP223
Headers UART, LCD, Battery, Speaker, Nintendo Joycon Joystick

Identification

On the back of the device, the following is printed:

Pocket-Go
S30 Game Console
MODEL: PocketGo-S30
INPUT: 2600MmAh           Made In China

The PCB has the following silkscreened on it:

Miyoo353-B
2020.11.20

Using ADB Shell

cat /sys/class/sunxi_info/sys_info
sunxi_platform    : Sun8iw5p1
sunxi_secure      : normal
sunxi_chipid      : 000000002af798c78a5460400461872a
sunxi_chiptype    : Not Supported!
sunxi_batchno     : 0
cat /proc/kmsg
Linux version 3.4.39 (jf@jf) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11))

Sunxi support

Current status

Building and running your own build of u-boot and Linux is currently unsupported. The device seems to be running a custom build of u-boot version 1.1.0 and Linux version 3.4.39.

Images

The NAND partition dumps can be found here.

mtd0

  • Data offsets
    0x000000: SPL
    0x006000: U-BOOT
    0x056000: script.bin
    0x05F000: MTD name data?

For some reason if you extract the U-BOOT and script.bin from mtd0 it will result in seemingly corrupt or weirdly formatted data, making it unusable. Script.bin however can be successful extracted from memory using the sunxi-script-extractor tool.

sunxi-script_extractor > script.bin

mtd1

Contains boot.cmd

mtd2

Contains image of rootfs

mtd3

SquashFS partition containing only a small directory tree.

/dev/console
/sbin

mtd4

Contains a single JPG image of the device boot logo.

mtd5

The U-DISK

HW-Pack

Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.

BSP

Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.

Manual build

You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.

U-Boot

Sunxi/Legacy U-Boot

Use the MANUFACTURER_DEVICE build target.

Mainline U-Boot

Use the MANUFACTURER_DEVICE build target.

Linux Kernel

Sunxi/Legacy Kernel

Use the PocketGoS30.fex file.

Mainline kernel

Use the FAMILY-CHIP-DEVICE.dtb device-tree binary.

FEL mode

A specially formatted µSD card can activate FEL mode. It's possible there is a button that can activate FEL mode, but it is currently undiscovered. UART access has not been acquired yet, but it's possible this may also be a potential, undiscovered, option.

ADB

The PocketGo-S30 is running ADB, allowing us to access the shell using `adb shell` in a terminal. You can dump the nand partitions onto the µSD card and access other information about the device here. This shell access is how most of the information here has been gathered.

Adding a serial port (voids warranty)

UART pads

This section explains how to attach a serial port to the device. Make sure it refers to our UART howto. For a development board, you can just mention how to find the header with the pins and include a picture, and you can remove the warranty voiding warning.

Device disassembly

Remove two screws on the back of the case. The back case will now pop free and reveal the battery. The battery is double-sided taped down onto the button assembly that holds the L1, R1, L2, and R2 buttons. You can peel it free with relative ease and disconnect it from the header on the left-hand side of the board. Remove the 4 more screws on the button assembly bar will allow it to be easily removed, giving you full access to the motherboard. Be gentle and pop open the little plastic tabs on the the LCD and joystick headers to open and slip out the ribbon cables. Also be sure to remove the speaker connector on the opposite side. You can now unscrew the last 2 remaining screws and remove the motherboard from the front shell housing. The LCD seems to be glued or taped inside the front housing, making removing it destructive.

Locating the UART

UART pins can be found right underneath the battery and button assembly. They are the 3 unpopulated pins with a white rectangle around them. The port is enabled and functional, however, the kernel is not configured to use it. For some reason, there is also no output when u-boot is booting. UART howto

Pictures

Schematic

List schematics, board layout, cad files, etc here.

Also known as

This device seems to have many different names associated with it, and it's hard to determine the original name. The motherboard has Miyoo353 on the silkscreen, but the Linux kernel and script.fex seems to call it zkswe_a33 internally. The most commonly used name and easily recognizable name is the PocketGo S30 or S30 for short.

See also

Add some nice to have links here. This includes related devices, and external links.

Manufacturer images

Optional. Add non-sunxi images in this section.