Close
0%
0%

N64 Raspberry Pi Retro Emulation System

Giving an N64 a new lease of life with a Raspberry Pi Compute Module 3

Similar projects worth following
I've got a minor obsession with putting Raspberry Pi computers in places they weren't originally supposed to be - this time it's the turn of the N64.

I'm writing this up here; partly to preserve it better than I can with my own failing memory (and abysmal filing systems), partly for others to use if they find it helpful.

The main aim of the project is end up with something almost indistinguishable from an original, stock N64.   To that end, the plan is to:

  • Use all four original control ports and have all four controllers working correctly
  • Use original power switch with safe shutdown circuit
  • Use original reset switch
  • Use original power supply (or at least make it look like it's being used)

The guts of the system will be a Raspberry Pi Compute module which has the following specifications:

  • Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.2GHz
  • 1GB LPDDR2 SDRAM
  • 8GB/16GB/32GB eMMC Flash memory, or a Lite variant without eMMC Flash memory

Note: I'm not unrealistic in my expections of performance here - I don't expect to N64 games to run perfectly on this.  I'm in this mostly for the building anyway.

N64_cm3_vB.csv

BOM - Work in Progress / Not Final

Comma-Separated Values - 10.61 kB - 01/19/2021 at 21:22

Download

N64_cm3_v1.sch

Eagle Schematic File - Work in Progress / Not Final

sch - 658.54 kB - 01/06/2021 at 22:18

See BOM
Download

N64_cm3_v1.brd

Eagle Board File - Work in Progress / Not Final

brd - 244.78 kB - 01/06/2021 at 22:18

Download

N64 Original Mainboard.dxf

Dimensioned drawing of the original N64 mainboard for reference - made by physical measurement.

AutoCAD DXF - 214.54 kB - 01/05/2021 at 22:47

Download

N64 Original Mainboard.dwg

Dimensioned drawing of the original N64 mainboard for reference - made by physical measurement.

DWG Drawing - 55.27 kB - 01/05/2021 at 22:47

Download

  • 1 × N64 Console To be a donor for the shell and various internal components to be reused. I picked up a faulty console on eBay - no point wrecking a good one unnecessarily
  • 1 × Custom PCB Eagle board in files.
  • 1 × Raspberry Pi Compute Module 3+ eMMC or Lite version

  • Assembly - The hardest part so far...

    jackal123uk01/17/2021 at 18:22 0 comments

    The original components from the N64 are all through-hole so no major problems here except some of the tolerances are a bit tight.  Maybe my measurements were off or maybe some old solder left on the pins - either way, any future revision will have the holes opened up slightly.

    The fine pitch SMD components (especially to SO-DIMM connector) are another story.  I used solder paste and a hot air gun for this - needed so cleaning up after but got there eventually.  

    Good to see the the finished article fits perfectly into the shell too.  A couple of things come to mind at this point - I should have mounted the compute module the other way round so that the Raspberry Pi logo was the right way up and if only the compute modules were also available in matte black...

    Testing next; this should be fun

  • Fabricated Board

    jackal123uk01/11/2021 at 20:58 0 comments

    That's the board back from the fabricators.  I used Seeed Studio, I've used them a few times now - the prices are pretty reasonable if you don't mind waiting on the shipping from China.

     I normally go for the bog standard green and HASL finish but I thought I'd try the matte black and ENIG - glad I did as it looks amazing! 

  • The Main Board

    jackal123uk01/06/2021 at 21:43 0 comments

    I redesigned the board in Eagle - I'll upload the SCH/BRD files once I've tidied them up, just bear in mind it's still very much a work in progress.

    Note the following: 

    • footprints for all the original hardware (controller ports, power and reset buttons) 
    • power input headers at the top left - inputs for all voltages are included to allow for testing without installing the power regulator (just left of centre)
    • USB hub circuit to the left side of the board - left as headers to give some flexibility in where to run the USB ports to (most likely under the cartridge flap)
    • headers for connection to SD card breakout board - the regular compute module with  eMMC can be used without this but needed for the compute module lite.  Again, undecided on where to physically run the SD card socket to but hiding under the memory expansion cover is a likely candidate, hence where the headers are.
    • Full sized HDMI port used (top, just right of centre) mostly for convenience when testing (and I have a stock of them left over from a previous project).  I'll use a short extension to bring this out to natural N64 AV port. 

  • Power Supply

    jackal123uk01/05/2021 at 23:45 0 comments

    Turning toward the power supply it's easy to see that stock unit is supplied with 12V and 3.3V which is not fully compatible with the requirements of the compute module - namely 5V, 3.3V and 1.8V.

    Strictly speaking you can run the compute module with only 3.3V and 1.8V but 5V is needed for HDMI and USB.

    Since I've successfully used a circuit based around a PAM2306 regulator in the past I'll plan on using this to supply everything from a 5V source.  As I don't like playing with mains voltages I might hide a standard (read safe) 5V charger inside the power brick.

  • Starting at the beginning...

    jackal123uk01/05/2021 at 23:16 0 comments

    First thing first, we need to see what we're playing with here and how much room we have to work our magic.  

    Since the plan is to reuse many of the original components (thereby keeping them in situ) we have to work around these.  I attacked an original mainboard with some digital callipers to get the below (DWG/DXF versions in the files section).

View all 5 project logs

Enjoy this project?

Share

Discussions

Junaid mugloo wrote 02/18/2021 at 17:20 point

https://junaidmugloo.blogspot.com/

  Are you sure? yes | no

danielcanaday wrote 01/07/2021 at 20:54 point

This is ambitious but how well will it emulate n64 games? I've tried emulating a few n64 games on the pi 4 and the experience is rather bad. Although I could be doing something wrong. I tried overclocking, dedicating additional RAM, and under sizing the display.

  Are you sure? yes | no

jackal123uk wrote 01/08/2021 at 18:30 point

You make a good point and maybe I should have been clearer in the project description that I don't expect it to flawlessly play N64 games.  I think when tried in the past I managed to get Super Mario 64 playable but Goldeneye was abysmal.

I just like the shape of the N64 and I'm probably one of the few people who like the controller.  I'm sure I'll definitely enjoy playing some 16-bit games on this but, to be honest, I'm more into the making than anything else.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates