The NES30 controller by 8Bitdo

tl;dr: Pros: Good build quality, authentic feel, widely compatible (even Linux); Cons: Needs a little bit of finagling to get it to work sometimes.  

There are a few good emulators out there for Android devices, but they all suffer from the same thing: really shitty controls. No matter what you do, playing classic games with a touch screen just doesn’t cut it. Fortunately there are a few good controllers out there for gaming on the go. If your device supports USB host, you can simply plug a standard USB gamepad into it. Or you can get a bluetooth gamepad like the NES30 by 8bitdo.

The controller is styled like an old NES controller (the name NES30 is a reference to the fact that 2013 marks the 30th anniversary of the Nintendo Famicom). In the box you get the controller, the ‘XTander’ which is a stand to place your device on while playing, a commemorative keyring and a micro USB cable for charging and plugging into your PC. The “XTander” is not as completely useless as you would initially expect. It was able to hold my Nexus7 tablet and it seemed quite stable. My phone quite thick and the stand was unable to hold it when it the rubber case I normally have on it was present, but without the case it was fine. I think most handheld devices people own will be ok in the stand. When not in use it clips to the back of the controller for storage, so you will not have to worry about losing it.



Although it’s a tribute in style to the NES controller it has a button layout a lot more like the SNES controller, with a D-Pad, 4 action buttons, start and select on the front and 2 shoulder buttons. The manufacturer has gone to a lot of effort to mimic the feel of the old NES controller, with the rubber start and select buttons and the concave action buttons just like you would find on an old nes controller. It feels quite sturdy to hold, but rather light as well, probably about the weight of an old NES controller, which is impressive considering that they had to pack a lot more circuitry and a lithium ion battery into the casing.  

In order to help in compatibility the controller has several different modes it can operate in. There is the standard gamepad mode where the controller will show up as a controller. There is also a keyboard mode where it shows up as a bluetooth keyboard, and iCade mode, which seemed to me to be exactly the same as the joystick mode but according to the manual has the advantage of being compatible with iOS (just like iCade branded controllers are). There is also a ‘Emu-touch’ mode which lets you map button presses to certain areas of the screen. This seems to be aimed at games where the developer had not thought to include support for Bluetooth controllers and only on screen buttons, something I’m sure will be very useful in many native android games.  

The packaging says that the controller is compatible with iOS, Android, Mac and PC. I tested it with my Nexus 7, Ouya, Huawei U9508 and my PC, which is running Ubuntu. I was able to get the device to successfully pair to all of the android devices, although this sometimes took a couple of attempts and I had to re-pair if I had just been using the controller when I was returning to a device. I used the SNES9X Ex+ emulator on each of these and it worked well. Need for Speed Most Wanted, my only fully paid for native android game on my Nexus 7, did not work at all, but I wasn’t expecting it to as no gamepads I’ve plugged into my nexus 7 have every worked with this game. On the Ouya I tried out a couple of its own games as well. Some games, like Cobalt, worked quite well, whereas others, like Ice Rage, did not work well with the controller at all. I’m assuming the latter may be due to its lack of analogue sticks and it getting confused because it thought it was another 2nd controller. However, for emulation it worked flawlessly.

Even though it did not claim to be compatible with Linux I dug out a very old bluetooth adapter and plugged it into my PC. The controller did pair however the D-Pad keys when pressed came up as keyboard presses to the emulator, not as gamepad button presses. However in the game Fez (running natively on linux) the D-Pad presses did control the character as you would expect but the shoulder buttons did not work. Plugging the controller in worked much better, with the game, with all buttons working correctly. It also showed up in firefox on the html5 gamepad test page ( so it will be able to be used for browser based games. I also tried the controller with Super Meat Boy, but got no joy with that but to be fair there is only one controller that I have ever managed to get working with that game. The game also does not allow you to set custom keyboard control, which would have allowed me to put the gamepad into keyboard mode and play the game that way.

Well, should you buy it? Well, the build quality is good and at around USD$30 it’s $20 cheaper than the iCade 8Bitty, which does exactly the same thing, possibly less. If your aim is to play emulated games on a phone or a tablet, then this gamepad is a good way to go. Same goes for emulated games on Linux, although native games are a bit more hit-and-miss compatibility wise, and even on Android some games do not work, although this is probably down more to the developer of the games being lazy and not including BT controller compatibility, which is going to cause you problems no matter which controller you buy. All I can say is that I’m happy with my purchase and I hope to get a lot of retro gaming fun out of this.

I already have a USB controller similar to that, but it does not work well with all of the Android devices I own. I think one of the most well thought out bits of the Nes30 was that they gave you 6 ways (5 pairing modes + usb) of connecting it, maximizing the chances of being able to find some way of getting it to work in whatever configuration you want to get it working in. You're not going to get that from a USB gamepad.

But for that price it's worth the risk, especially if you don't care for the extra SNES style buttons.