Tuesday, August 22, 2017

8bitdo NES30 Arcade Stick Review and Modding Info

I like to play retro games from my couch and I prefer using an arcade stick, but I don't want to have a giant cord stretching across my living room as a tripping hazard. The obvious solution is to get a Bluetooth arcade stick. The only problem: nobody makes them. It seems the people driving the arcade stick market are distrustful of wireless communication due to latency concerns, despite data from a very reputable source suggesting otherwise.

8bitdo had put out a couple of arcade sticks in the past, the FC30 and FC30 Sanwa Edition, but those sticks never got much traction, AFAICT, and they're long-since discontinued now (and I've never seen one come up on eBay). They've revisited the concept recently, though (presumably because their devices are compatible with the Nintendo Switch*, which got a Street Fighter 2 port, and no other company has released an arcade stick for that market), and released their NES30 Arcade stick, which I preordered as soon as I heard about it.

First impressions - Build Quality and Information

The plastic used for the main body of the box feels a little flimsy. It has some flex to it, which isn't encouraging, and there's a lot of empty space inside the stick, though this is actually a good thing when it comes time to start poking around in there. It has a nice, thick, solid metal base with recessed screws and built-in rubber feet, which is a big advantage in my opinion when compared with the flimsy, easily lost rubber feet from the Mad Catz TE and SE sticks (and once the feet were lost, the non-recessed screws would scrape up wooden surfaces and get caught on fabric -_-).

The buttons are knockoff Japanese-style and feel predictably crummy, but passable if you're just going to use it casually. The stick feels pretty decent, really, with none of the gravelly, scraping feelings characteristic of the Mad Catz SE sticks as they slowly ate themselves.

There are 8 full-size (i.e. 30 mm) buttons for A, B, X, Y, R1, L1, R2 and L2 in modern, staggered arcade stick layout, and a smaller button (presumably 24 mm) for Start. There are also smaller non-arcade-style buttons on the control panel for Select, Pair and Turbo. While Select is bindable in gaming software, the Turbo and Pair buttons are not exposed, leaving users with 10 buttons and a 4-way joystick. That is, there is no dedicated "home" button for assigning to "menu_toggle" in RetroArch/MAME.

Wireless connectivity over Bluetooth is quick and painless, and there's no obvious perceptible latency. If you want to play wired and/or charge the stick, 8bitdo has supplied a full-size USB-A-to-A cable, which is, frankly, bizarre. 


The metal base is held onto the box by 6 small phillips-head screws. Once those are removed, you can pop the base off safely. That is, there is nothing attached to the base that can get yanked out, etc. Once inside, you can see that the wiring is clean and organized, with color-coded wires leading to plastic pin-headers on the board. You can also see the support structure (the hollow tubes surrounding the buttons), which provides a strong backbone where the stick will be seeing the most abuse.
A shot of the insides before I got started on it.
The good news: swapping out the buttons on this stick is a breeze. The stock buttons snap right out and the .110 quick-disconnects transfer over to Sanwa buttons, which are a perfect fit (I swapped in Sanwa 30 mm OBSFS buttons), with no trouble. The stick also has mounting screws that line up perfectly with a Sanwa JLF stick.

The bad news: THIS IS NOT A COMMON-GROUND PCB. That's not a big deal with the buttons (unless you just really like to daisy-chain grounds for tidiness), but it's a very big problem for the stick, since Sanwa and Seimitsu sticks use a common-ground PCB for their switches. In short, this stick is INCOMPATIBLE with Japanese-style sticks without doing some significant modification. Correction: I was totally wrong about this. It is indeed common-ground, and you can just twist up all of the grounds (looking down on the inside of the stick, it's all of the top wires from each signal+ground pair) and attach them to your stick's common ground pin. Dunno what I was doing wrong when I first tried it, but I just now wired up a Seimitsu LS-56 with no issues. So, false alarm.

Speaking of the stick, it has a clip-in square restrictor plate/gate and has the control wires soldered directly to Lema microswitches, from Chinese company Zhejiang Lema Electrics Co. Ltd:
Since they were directly soldered, I needed to cut the wires, making this the first destructive modification so far.

The Lema switches are pretty close in size and shape to the tough-as-nails Cherry microswitches you would find in Happ/IL sticks and buttons, and I decided to swap them out for some I had in an old Happ Competition joystick.
The result is satisfyingly clicky and extremely light (that is, there's barely enough resistance to bring the stick back to center; some people will despise this). I was able to pull off 360/720-degree motions easily and reliably, but I'm not 100% convinced that I want to stick with this setup permanently, so I used insulated alligator clips rather than soldering .187 quick-disconnects to the wires in case I decide to swap it out with other switches in the future.
The extra-roomy case came in handy here for holding my insulated alligator clips
The restrictor plate/gate is held in by 4 little screws and 4 clips. Once the screws are out, the clips are nice and easy to manipulate, unlike the ones on JLF sticks, which are notoriously difficult to work with. I didn't check to see whether Sanwa plates would snap in, but it looks pretty likely. I might swap in an octo-gate at some point and will update this post if I run into any issues. [Update 10/27/2017: by request, I swapped in the Sanwa octo-gate from one of my other sticks and it fit just fine. The Sanwa plate is thicker than the stock plate, so I really had to cram it to get the clips to snap into place, but otherwise, it's no problem.] Here you can see the Cherry microswitches fit in nice and snug under the stock plate:
I didn't get around to testing it, but I suspect the longer, screw-down Happ/IL American-style buttons would fit just fine in the case, since it seems to be a little taller than the Mad Catz SE boxes, which were only about a quarter of an inch too short to fit them comfortably. [Update 10/27/2017: I was wrong, they're almost exactly the same height as the SE box, so the long-stem Happ/IL buttons won't fit, but the short-stem ILs will.]

*Note, the wired vs wireless issue seems to actually be in favor of wireless on the Switch, oddly enough: https://www.youtube.com/watch?v=avvmck40cIw


Paul Miles said...

Hi there, quick question from a person who is trying to join a JLF and an NES30, I naively assumed that since the JLF stick had the eight contacts in the same positions as the previous stick in the NES30, that I could just solder the wires into their matching (using the original stick as a template) positions on the JLF and just completely ignore the 5-pin connector. That's...somewhat worked, but I'm assuming I will need to join some grounds on the JLF to make this work perfectly? Am I completely off base? Which connections do I need to join?

Hunter K. said...

Hi Paul,
When I was messing with it, I was never able to get it functioning with the common-ground PCB intact. I tried connecting my alligator clips individually to the little legs coming out of the Sanwa PCB (i.e., bypassing the 5-pin connector) and the signals always got crossed no matter what I tried. AFAICT, you have to get each switch circuit completely isolated from the others, which means either desoldering them from the PCB or putting standalone switches in their place (I chose the latter over the former). You could also swap in a Seimitsu LS-32, which has discrete 0.187 connections for each switch.

David Segura said...

Hi guys,

I just did this mod yesterday. I followed this post by user Katasiapa :


I ended up having to reverse the pins on one of the directions because it was stuck on, once i reversed the pins on the connector then it worked fine.

Hunter K. said...

@David Segura
Oh nice! That's interesting because I wasn't able to get all of the directions working when I tried the same thing. Guess I just fucked it up, lol.

Seraph TC said...

I'm looking to pickup the 8bitdo N30 Arcade Stick to mod with Sanwa parts.

Yes, I know I could probably get the F300 cheaper, but it doesn't have bluetooth and it sure as heck doesn't look as nice (in my opinion - your mileage may vary).

I would really like to stick to genuine Sanwa parts and avoid clones, so I need to do something different to hook up the stick. I'd also like to avoid soldering and stick to connectors.

I was thinking that I would get one of these:


and replace the pairs of .187 connectors with 2pin JST XH female connectors, which should then plug straight into the board. I'd then connect the harness to the stick with one of these:


Will that work? Is there a better way? I'm assuming I'm missing something, because if it's really this simple I'm surprised that nobody seems to make a 5pin to 4x 2pin harness!? (or do they!?!)

I'd appreciate any input - thanks!

Hunter K. said...

@Seraph TC
Yeah, that should work fine. That's what this guy ended up doing with his F300, which looks to be using a very similar PCB setup:

Seraph TC said...

Hey Hunter - thanls for the reply and the cool blog :)

The way I read that reddit thread he's just using the jst xh 5pin female to female cable to go directly to the board in the f300 (the f300 board has a 5pin header), so not quite the same as what I'm asking I don't think? Unless I'm right about it being very simple?? I've never done anything like this before so sorry if this is a silly question!!

Hunter K. said...

Ah, yeah, that's right. Not gonna work here, since each direction is paired with its own ground wire instead. This other link for the very similar FC30 suggests cutting the wires and running them into a terminal block, then running that out to a 5-pin connector:

That seems like a reasonable strategy to me.

Seraph TC said...

So I went ahead and built a prototype harness. I grabbed one of these:


and 4x of these:


I simply pushed the .187 connectors for the 2-wire harness into the rubber shrouds on the matching connectors on the Crown Conversion Harness, matching black to earth and red to live. I connected the other end of the Crown Conversion Harness into one of these:


Which was in turn connected to the Sanwa JLF stick.

The 2pin JST connectors were then plugged into the board. With the Sanwa JLF mounted in the case so the 5-pin connector is pointing away from the buttons, and using the coloured wires on the Crown Conversion Harness as a guide, mine maps as follows:

Red -> Down
Yellow -> Left
Orange -> Up
Green -> Right

This is working perfectly. Minimal hassle, zero soldering. Yes there is some excess cable, and yes now I know this works I will be creating a smaller, soldered harness, but this would be great for someone who wants to connect a Sanwa to the NES30 without doing anything complicated.

If I was going to leave this harness in place, I would probably tape up any exposed parts of the .187 connectors just to ensure I avoid any shorts, but the majority of the connectors are well within the rubber sheaths so this shouldn't be an issue.

Hunter K. said...

Ah, that's great. Glad it worked out, and thanks for sharing your BoM! Nice and cheap, just like I like it :)

Dean Scott said...

I tried to do this prior to seeing this blog post, and I messed mine up :(

Swapped the buttons with sanwas, tested, all fine. Took the stick out, desoldered the wires, soldered a 4.8mm spade connector to each one, then attempted to plug in a Seimitsu LS-32. Now every button press while in X-Input mode causes the controller to disconnect. It sort of works in d-input mode, but one of the buttons also now fires repeatedly when I hold it down.

Have I probably fried something?

In case I ever do this again, could I use this stick:

With these connectors:

And save myself all the soldering?

Hunter K. said...

@Dean Scott
Yes, that should work.

It's very, very unlikely that you caused any permanent damage to your stick, so don't fret :)

Dean Scott said...

Thanks! Great post, btw. Really helpful.

Dean Scott said...


If anyone sees similar issues to I had, check you've got the terminals on the stick connected up correctly. Up and down are wired the opposite way around to left and right. Once I'd swapped those over, I stopped getting the autofiring button and the disconnects.

Will Schulz said...
This comment has been removed by the author.
lawrence fields said...

Has anyone checked to see if the pcb is common ground with the buttons as well?

Analytics Tracking Footer