Notes on the SNES Classic hardware and modifications that can be done to it to add things such as SD storage or Serial ports. Part of the notes for Shall We Play A Game Talk
Hardware
- SoC: Allwinner R16 (4-core ARMv7)
- RAM: Ask NT5CC128M16IP-DI (256MB)
- NAND: Macronix MX30LF4G18AC-TI (512MB)
- PMU(Power Management Unit): X-POWER AXP223
- HDMI Transmitter: EPMI EP952
Internal Photos - SNES Classic
Inside the device
Shield/Heatsink removed
Back of main board
SoC Allwinner R16
The core of the system is the Allwinner R16 SoC (System on Chip) as you can see in the following diagram it was designed as an entry level tablet processor, and therefor doesn’t contain some hardware like HDMI ouput.
from http://www.allwinnertech.com/index.php?c=product&a=index&id=51
Hardware connections
This diagram shows which external components and connectors are connected to which ports on the SoC.
from http://honeylab.hatenablog.jp/entry/2016/12/19/230144
UART (Serial)
There is a UART (Serial port) hidden on the board that will give you access to the uboot
console and linux boot messages. (Useful if you’re planning on building your own kernel or messing around with the boot process.)
Baudrate is 115200
and is 3.3v so you’ll require a USB to Serial adapter (FTDI / CH430 etc)
SNES Classic
On the SNES Classic the UART pins are helpfully marked on the back of the main PCB.
NES Classic
from https://www.reddit.com/r/nintendo/comments/5cgbkm/linux_on_nes_classic_mini_current_progress_and/
SD-Card
It’s possible to add a SD card slot to the NES Classic to increase the storage capacity. The required pins needed have been broken out to various test points on the PCB.
USB / USB OTG
The micro-usb port on the back of the console is normally used to power the console.
You can put the console into FEL mode (a type of recovery mode) and get low-level access to the SoC, Memory and NAND when plugged into a computers USB port.
With the correct drivers enabled in the kernel its possible to make use of RNDIS which allows you to establish a network connection between the console and a host PC.
The most interesting feature is that this port is OTG (On-the-go) capable which allows it not only act as a traditional client device but as a usb host as well. Using a special OTG cable you can power the device and plug devices into the port such as wi-fi adapters and USB memory sticks.
Details on making a cable to go here