Nintendo NES Classic is Powered by Allwinner R16 SoC, Likely Hackable

Nintendo NES Classic Edition is a small replica of Nintendo NES, both adapted to modern times with an HDMI output, and keeping with nostalgia thanks to connectors for original game controllers, and pre-loaded with 30 classic games.

If you planned to add your own games however, the lack of USB ports, micro SD card slot, or any other storage or network interface could make it impossible. But based on a recent photo tweeted by Peter Brown, senior review editor at GameSpot, there may be light out of the tunnel, as while the main storage device (4Gbit NAND flash) is soldered to the board, the main board is powered by Allwinner R16 quad core Cortex A7 processor with a Mali-400MP2, and it’s quite likely UART / serial console and/or FEL interfaces are exposed on the board, making it possible to hack the device and potentially load your own games.

Click to Enlarge

The other side of the board would really help finding out whether the UART pins are indeed available where I marked them [Update: Correct. NES Classic Hacked, see comments section]. If so, it would still be quite inconvenient to hack the board, as you’d need to connect a USB to serial debug board (normally a couple of dollars) in order to access the terminal, and either copy/paste code, or transfer data to the board. If some of the other connectors are carrying USB signal, it might also be possible to do some hardware hacking to add USB ports.

Software-wise, some references for Allwinner R16 Parrot board can be found in mainline Linux. Allwinner also released Linux based Tina OS for the processor on Github a few weeks ago.

Thanks to Zoobab for the tip.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

34 Replies to “Nintendo NES Classic is Powered by Allwinner R16 SoC, Likely Hackable”

  1. CHIP Pro relies on GR8 (A13 based just like R8 but with minor modifications regarding audio capabilities, this is single Cortex-A8). The R16 seems to be more or less an A33 (quad Cortex-A7) instead.

  2. @cnxsoft
    Is that really eMMC? Seems just a boring 4Gb (512MB) raw NAND? Most likely there’s USB OTG exposed at the other side of the PCB and somehow one can enter FEL mode but why starting to hack such insanely boring hardware?

  3. @tkaiser
    Well, it’s stylish and will sell millions, while having some very glaring hardware features lacking. People will want to add bluetooth gamepad support, expand the game library, add emulators for other systems… a lot of stuff really.

    The hardware is pretty dull, though.

  4. @Ahrlad
    Well, there are A33 based tablets with BT and way more NAND for less than 40 bucks available. If I would start to hack around these would be my target devices instead 😉

    @cnxsoft
    Nope, was below tinalinux. I would believe these are different Allwinner business units not knowing/caring about what the others do 🙁 But fortunately that’s not that important as long as we get properly licensed code/blobs to let linux-sunxi devs continue to work.

  5. Are the controllers not usb with another connector, just as with the original xbox?

    Cheaper solution is lakka.tv, buy a supported dev board (within the near future support for orangepi pc or probably all the H3 boards) en shop with raphnet for all your original controller to usb converters.
    If the opi one will be supported it can’t be cheaper!
    Maybe if you think it’s worth the money, buy a retrode to connect your old SNES and SMS cartridges to your lakka box.

  6. * 4Gb NAND flash (not “GB”?) = 512 MB usable storage only.

    Lower “b” verses upper-case “B” makes a huge difference.

  7. @tkaiser
    Yeah I’m not arguing with that, though I likely wouldn’t choose a tablet to hack 😉

    I’m just saying lots (and lots) of people will buy these things, have some fun playing the games with their friends, and then try to look for solutions for the hardware limits. Me, I’ve ordered a few extension cords from China, I foresee a pretty big demand for them seeing how the controller cable is like 60 cm or thereabouts 😛

  8. Odd they haven’t gone with a game expansion method, very much a sell and walk away, yet with such a back catalogue of games odd business choice?

    Oh the fun on Christmas day

    ” Please note: an AC adapter for the USB cable is required to play the system but is not included in the packaging. “

  9. @tkaiser
    Didn’t You just propose to hack a A33 tablet 😉

    Of course you should use your own roms, therefore I suggest to get yourself a retrode and some controller adapters. Ok, altogether it’s a lot more expensive, but it’s also more “multipurpose”.
    Didn’t know about Retrorangepi, thanks for the link.

  10. These are definitly not UART pins (too far from the SOC), but I’m sure you can get RX/TX with the solder pads located at the upper right of the R16.

  11. @cnxsoft
    Device settings are also known.

    What a weird device, someone chose a processor that lacks HDMI video/audio, then adds an EP952 HDMI converter to drive it as 1280×720 LCD and to convert I2S to HDMI Audio. Possible but why? Then the SoC used comes with a power management unit but features no battery. Why? Could be used to implement pretty fine-grained dvfs/throttling settings. But by looking at ths_para, cooler_table and dvfs_table it’s obvious that CPU cores clock at up to 1344 MHz@1460 mV, as soon as 75°C are exceeded then it’s 1200 MHz @ 1320 mV and when 90°C are reached/exceeded it’s already 648MHz @ 1040mV.

    Well, every cheap H3/H2+ could do better and comes already with HDMI support. Hopefully the development story of this device gets leaked sometimes in the future. Also curious why Nintento’s sources differ so much from freely available tinalinux SDK that has been released at roughly the same time. Most probably subcontractor madness as usual 😉

  12. Speaking of tinalinux SDK: Most files there had already proper licenses when released back in August, linux-sunxi community asked what’s up with the few remaining. Allwinner said they want to address this issue and it seems they start to deliver, see Mali400 README.md in fbdev_arm-openwrt-linux_armv7_dma-buf directory.

  13. To save everyone the trouble of downloading 248MB, here are the contents of the above mentioned Nintendo Classic OSS release:


    LVM2.2.02.132.tgz
    alsa-lib-1.0.29.tar.bz2
    busybox-1.24.1.tar.bz2
    clovercon-km-6b883396add00817aa112e0ec4dbc112def803e8.zip
    cryptsetup-1.6.8.tar.xz
    eudev-3.1.2.tar.gz
    ext-luajit-83dda3b07286174de43ee5adb25e7cc5fbe308e3.tar.gz
    ext-sdl2-23fb2205dd1044dc0ab0858aaa59af9aebb20d1b.zip
    ext-sdl2_mixer-2f88185f477e203619a82d530a31cf72fb076a68.zip
    ext-soloud-fed891f0123d9ca70df1e5a3927018216c964f7b.tar.gz
    glibc-2.22.tar.xz
    kmod-20.tar.xz
    libpng-1.6.20.tar.xz
    linux-3.4.110.tar.xz
    linux-9ed0e6c8612113834e9af9d16a3e90b573c488ca.tar.gz
    lzo-2.09.tar.gz
    popt-1.16.tar.gz
    r16-uboot-fc3061df4dbd4153819b2d2f141d82b88fea51cf.tar.gz
    util-linux-2.27.1.tar.xz
    zlib-1.2.8.tar.xz

  14. Maybe the reason for the external EP952 HDMI converter is because Allwinner lacks the proper HDMI pixel clock dividers to reproduce the required Nintendo display timings. I know that their older A10 through A31 could not do 1080p 23.976 or 59.940 HDMI timings for example. Bad display timings would cause dropped or repeated frames which would be very noticeable with most Nintendo games that scroll the screen at fixed NTSC 59.940Hz.

    I’m not sure if even the latest Allwinner SoC have proper HDMI support.

Leave a Reply

Your email address will not be published. Required fields are marked *