Code Monkey home page Code Monkey logo

oem-n64-expansion-pak's Introduction

License: CERN-OHL-P-2.0 License: MIT

OEM-N64-Expansion-Pak

A picture of the custom OEM Expansion Pak running

At long last! Here are the all the files you would need to create your own OEM Expansion Pak. All you would need to do is clone this repo, open the .kicad_pro file in KiCad, and you can poke around the files. Here's a video of it working!

I use this plugin in KiCad to make it super easy to order boards with all the correct settings: https://www.pcbway.com/blog/News/PCBWay_Plug_In_for_KiCad_3ea6219c.html

Some things to note:

  • Unless you have a 4MB RAM chip, this board will not do you any good. Most of the old stock you will find are 2MB chips. Don't fret, I'm working on another open source board that will utilize two of these chips so that you can make your own Expansion Pak. This one is just for historical reference. That being said, you can find instructions for ordering a board with the settings I use at PCBWay below in the "Making your own board" section if you happen to come across some 4MB modules, or you harvest them from a broken N64 (assuming you have the model with one 4MB chip as opposed to the ones with two 2MB chips)

  • The "ExpansionPak.pretty" folder is a library containing all the footprints needed for the project. Including the Edge Connector footprint created by Bigbass (check out more of his stuff here: https://hachyderm.io/@bigbass and here: https://github.com/bigbass1997). This saved me countless hours and pain, so a huge shoutout to him for allowing me to use it and release it

  • The schematic is probably not in an "official" format. But it's laid out in such a way that you can easily understand which pins on the Edge Connector are connected to which pins on the RAM chip. This was done on purpose as I feel it is a bit easier to understand for most people.

  • The pictured board and the render look different because I needed to change some things once I got the board. Namely, the corners were in the way of the original Expansion Pak mounting columns (if you look at an OEM one, they have cutouts). I also needed to modify the screw holes because they were too small.

Thank you so much to everyone who has followed along, commented, gave me feedback, and more. It's all very much appreciated and I'm excited to be able to give back. And another huge shoutout to Bigbass for allowing me to use their Edge Connector as it was a perfect fit and saved me countless revisions and lots of headache.

Making your own board

Installing necessary software, pulling the project, and uploading everything to PCBWay

  • First, download KiCad here
  • Next, install the PCBWay plugin by following the instructions here
  • Clone this repository or download a ZIP of the files using the green button near the top right of the page
  • Open KiCad, then open this project by navigating to where you downloaded this repo and selecting the .kicad_pro file
    • Open project
  • Once open, click on the .kicad_pcb file to open up the PCB so we can begin to order it
    • Open project
  • From there, click the PCBWay button at the top right
    • Open project
  • KiCad should then automatically redirect you to a browser where it has opened up PCBWay and uploaded the necessary files so that you can begin ordering. Next we need to select all the correct options so that it will be made correctly.

Selecting the correct options in PCBWay

  • Most of these options will be selected automatically, but be sure to set the ones in the red boxes as they are either structurally required or drastically affect cost
  • Open project
  • Open project
    • Thickness: This has to be 1.2 otherwise it will be too thick and you risk over-bending the receiver pins in the N64
    • Min hole size: This tells PCBWay how small we need the holes for some of our vias
    • Edge connector: By far the most important setting. This tells PCBWay that we have what is called an edge connector (similar to how a RAM stick looks). That way they know to setup all the particular manufacturing stuff that is required to make these
    • HASL lead free: This is referring to the type of plating we want on our edge connector. Most commercial edge connectors are plated with a thin layer of hard material like gold since it can handle being seated/unseated multiple times better than most other materials. However, it's really expensive. I encourage you to select it just to see the price jump lol. That being said, HASL lead free is good enough for the Expansion Pak because you won't be removing it all that often, and even if you do, it's plenty hard enough to handle it. I pick the lead free variant cause I don't want to die early from lead poisoning
    • Surface finish: This is the plating that will appear on the pads where you will solder things to. HASL lead free is plenty good enough for this and also helps with cost
    • Remove product No: PCBWay adds a tracking number to the silkscreen of your boards so that their manufacturing process is a little easier. You can select the Yes option here and pay a little extra to have them not add that. It's not a huge deal, but something to be aware of.

KiCad view of the electrical schematic KiCad render of the front of the Expansion Pak KiCad render of the back of the Expansion Pak

oem-n64-expansion-pak's People

Contributors

masonstooksbury avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.