Skip to content

Latest commit

 

History

History
136 lines (79 loc) · 8.12 KB

BUILDING.md

File metadata and controls

136 lines (79 loc) · 8.12 KB

Building Controller Pro v0.9

This document last updated 2019-10-24

Supplies

For starters, here's what you should have:

Kit contents

  • 1 Main board
  • 2 Child boards
  • 4 8-pin headers
  • 4 8-pin receptacles (right-angle)
  • 2 12-pin Teensy receptacles
  • 4 pull-down resistors (kit may include extras)
  • 8 3-pin 4mm headers
  • 4 4-pin 4mm headers

I use a 3D printed jig (STL available from the models repo on GitHub, generated from solder_helper() in controllers.scad) to help hold things in place while soldering them. If you have access to a 3D printer, I recommend it, it should be a pretty quick print, although it may require a well-calibrated printer. It's designed to be able to pause the print and insert 3mm nuts to screw bolts into to hold it off the table:

Jig standing on screws

For those that want to just jump in, here's where they go, and a quick summary of special notes:

Main Board Front (labelled) Main Board Back (labelled)

Child Board Front (labelled) Child Board Back (labelled)

Notes:

  • The base of the 4mm headers is too wide to get the vertical pin spacing correct - you'll need to remove part of the base to get them close enough to each other.
  • The 8-pin receptacles on one side sit on top of the protruding pins from the 12-pin teensy headers - I trim these pins back before I solder them, so the 8-pin headers can sit close to the board.
  • SNES controllers will run into the three top pins on the child boards - if you don't want to have to squeeze (and scratch up) your SNES controller plugs, leave the top three pins off of one side board, and have an SNES side and an NES side.

Soldering

Main board (front)

First, put the Teensy receptacles (12-pin) in place, and trim the pins back so that the 8-pin headers will sit flat:

Trim back the pins on the Teensy headers

The pins should look like this, before/after:

Pins, unclipped Pins, clipped

Then go ahead and solder them in, just make sure to heat the short pins so there's still a good connection.

Main board with teensy headers

Main board (back)

Next, add the four 8-pin receptacles. If using the jig, insert them into the slots as follows, put the board on, solder, and then pop the receptacles out. You may need to use a hand or clip to hold the board in place against the jig.

8-pin receptacles in jig Board on jig with 8-pin receptacles in place Soldering 8-pin headers in Removing 8-pin headers

If not using a jig, flip the board over and add the receptacles. It may be easier to solder them from the back, since these are right-angle headers:

8-pin receptacles being soldered from the front

Once the 8-pin headers are soldered in, the main board is done!

8-pin headers in place

Child board

If you're going to put it in a case, you'll need to sand down or otherwise remove the little protrusions around the edge of the side boards. I found a small triangle file did the trick quite well, but any file or even wire cutters will work fine. You can do this to the main board as well, but the clearances in the case for those don't require it.

Sand edges of the board

It's easiest to solder the resistors before any headers are in place, so start with that. They go in the R1/R2 slots - there are a few solder bridges, they can be ignored, as they're for configurations we won't be using.

Side board with tweezers and resistors Soldering pulldowns on

The order of the headers only really matters if you're using the jig, which was designed to solder the 8-pin headers first. So, do so, on the side with the outline for the headers and QR code. If using the jig, insert the headers in long-side down and place the board on top:

8-pin headers in jig 8-pin headers in place

Next, add the 4mm headers. Your kit may already have the bases trimmed, if not, you'll need to remove part of the bases on four each of the 3- and 4-pin headers. I use small nippers from Ace Hardware, a rotary tool or any number of cutting tools would also do the trick. You just need to remove enough base that the remaining base extends no more than 2mm out from the pins so they will fit together.

If using nippers, I advise scoring both sides by squeezing the nippers partway down before attempting to clip all the way through, otherwise the header may break in half:

Score one side... ...then the other... ...then clip away

You should end up with all four 4-pin headers clipped, four 3-pin clipped, and four 3-pin unclipped:

End result

Once clipped, you can put them in place - again, if using the jig, place them long-end down. Otherwise, I advise using an alligator clip/helping hand/etc to hold the headers in place:

Headers in place without jig Headers in place without jig

Solder in place, and you're good to go!

Headers soldered in

Rinse and repeat for the second board, except one caveat: SNES controllers will run into the top three pins if populated. You can kind of squeeze the SNES connector and it'll fit, but over time this leads to scratches on the connector, so you can also leave the top three pins off one side, and have one side be for NES and the other be for SNES. I'm still looking for a better way to avoid this problem (folding headers? collapsing headers?), but since most NES/SNES games only use two controllers anyway, having one side for each works well enough. This is what an SNES side board should look like:

Headers in the SNES configuration

N64 controllers work fine in either configuration, of course. And if you really want to, you can also order an extra set of side boards, since they are interchangeable, or just squeeze the SNES controllers in.

Assembly

At this point you should have two side boards, a main board, and a Teensy:

2x side board, main board, teensy

First, put the Teensy on the main board. The last two pins will overhang the end, they are unused in this design:

Teensy plugged in, with pins overhanging

Then, plug the sideboards into the main board using the 8-pin headers:

Assembled, top side Assembled, bottom side

Firmware

If you were given a Teensy it should already be programmed. If not, and you don't want to bother getting your Arduino environment set up with the custom Teensyduino code, I've posted a release on the parent repository that has the a compiled HEX file that you should be able to upload directly with the Teensy Loader.

Case

Full case details will be added shortly, but in brief: you'll need two copies of modular_side.stl and one copy of modular_bottom.stl from the models repo. You can also print two copies of socket_plates.stl to provide a back for the ports in the side modules. Insert the main board into modular_bottom, and then add the modular_side pieces to each side.