Worklog N64 Micro

Joined
Sep 27, 2016
Messages
416
Likes
896
I've been tinkering with the N64 on and off for a few months, think I'll start a worklog. Not sure what will come out of this, but hopefully a portable or maybe something that could help others.

I've really enjoyed motherboard redesigns, a nice engineering puzzle for soothing the mind. So here's my take on the N64.

Screenshot 2024-03-04 113716.png

Screenshot 2024-03-04 113804.png

Screenshot 2024-03-04 113848.png

Screenshot 2024-03-04 113942.png

Screenshot 2024-03-04 114523.png


I definitely threw ground vias in an organized chaos at the end. I cross referenced this board with different revisions of the N64 as well as the compendium and seems to be okay.
I am replacing the through hole crystals with SMD crystals of the same value to see if that will work. Yveltal also gave the idea of replacing both MX clock generators (1 dual clock generator on later revisions) with programmable oscillators for a smaller footprint which I plan on testing in the future once I confirm functionality with this redesign first.

Still figuring out what to do about the video out but have tested a couple options.

The Pico DVI N64 project (https://github.com/kbeckmann/PicoDVI-N64) is super cool but doesn't look great as there are color banding issues. To be fair, it is more so a proof of concept as opposed to a final product. Don't have any pictures to show for this option since I won't be going this route.

Also there is the Hispeedido N64 Digital HDMI (https://www.aliexpress.com/i/3256805447859074.html) solution which is a great price and actually looks pretty good, just wish there was a scanline setting. Only draws 0.25w @ 3.3v! The circuit is simple, so would be easy to implement on board with the N64 core to have an all in one. I'm considering this option. It outputs a 720p image and I'm testing it on a 720p monitor in 4:3 mode. Here are some photos:

Stock
Hispeedido zelda n64.jpg


With no anti aliasing patch (using https://github.com/mrdemkin/N64noAAPatcher) which sharpens but makes dithering more apparent.
Hispeedido zelda n64 no AA.jpg


Another no anti aliasing patch
IMG_2291.jpg


Stock
IMG_2289.jpg


Stock
IMG_2294.jpg


I swear these games looked better as a kid... these graphics haven't aged well lol.
Overall the Hispeedido looks pretty good just has a lack of OSD options.
Will look into N64 Advanced next to see if that has a better video clarity.

Another idea was doing a chip trim of the PIF. It makes it about half the size and the spacing of the leads are far enough apart to make it simple to solder in theory.
pif trim ic bottom.jpg

n64 pif cut bottom.jpg
 
Last edited:
Joined
Sep 27, 2016
Messages
416
Likes
896
Double posting due to too many attachments...

Once I confirm the N64 board redesign works, I will continue work on reverse engineering the ED64 Flashcart. The ED64 Mini™
IMG_2279.jpg

ED64 Sanded Top.jpg

ED64 Sanded Bottom.jpg

Screenshot 2024-03-04 165827.png

Screenshot 2024-02-27 135553.png

IMG_2378.jpg


Layout is all over the place on the paper print out but wanted to see the scale of how much smaller it would be. Much better size for portables. Also only consumes 0.25w which is really nice on the batteries!

Last I did a rough resin cast (first time ever) of Switch buttons in N64 themed colors. B button came out with a little blob but the colors came out pretty nice! I'd like the yellow a little more transparent. Will mess with that further down the line once all circuitry is confirmed working.
IMG_2278.jpg
 
Joined
Sep 27, 2016
Messages
416
Likes
896
Boards arrived today, parts will be here tomorrow.

IMG_2843.jpeg

IMG_2844.jpeg


Had some free time today so spent the last few hours probing every single connection on my bare board and compared to a stock N64 board and I’m happy to report it is 1:1 with no errors found (except a 3.3v and ground test pad for the controller that I forgot to add but no big deal).

Feeling pretty good, might be able to get it to boot maybe even tomorrow if all goes well!
 
Last edited:
Joined
Apr 29, 2020
Messages
92
Likes
113
Awesome! Is the cartridge connector original or is it an aftermarket one?
Cool that you’re using Hispeedido’s HDMI solution, it’s very affordable. Hopefully it’ll be compatible with all main LCD driver boards.
Looking forward to seeing where you take this!
 
Joined
Sep 27, 2016
Messages
416
Likes
896
I'm using the crusty old original one for testing. Confirmed the slot worked before soldering it though. I'm not 100% sure on the Hispeedido solution just yet. It does have a lot of pros though such as inexpensive, has a small circuit, draws low power, and looks pretty decent. It has worked on every LCD driver board I've tried so far as well.
 
Joined
Sep 27, 2016
Messages
416
Likes
896
Populated the board, started with the onboard regulators to make sure I get 3.3v and 2.5v (VTERM) and all was well. Continued to populate the rest of the components, checked everything under the microscope for bridges/shorts and probed various areas before I dare turn it on and everything checked out.
But… nothing, as expected.

IMG_2849.jpeg

IMG_2855.jpeg


All the chips get warm as if something is happening or trying to happen but just a black screen. It does go from no signal to a black screen though as if something is being detected.

Will need to troubleshoot more. I suspect it may be something up with the SMD crystals since that is the only thing different from the stock board. I'll install some SMD crystals on a stock board and confirm if that is the problem. A small bump in the road but hopefully can get it up and running soon.
 
Last edited:

CrazyGadget

Crazy Helpful, CrazyGadget
.
Joined
Jun 6, 2020
Messages
611
Likes
879
Location
Downing's Closet
Portables
???
Very silly questions, but just to rule them out:
  • Have you verified that the cartridge is in with the correct orientation?
  • Have you tried a regular N64 game? Those ED64+s are known to not work with trimmed mobos, root cause is still unknown. Perhaps that reason is the same with a mobo redesign.
  • Have you cleaned the contacts on your cart connector? Since it's an OG, I would imagine it's a bit crusty.
  • What if you tried deadbugging the original video DAC for composite?
 
Joined
Sep 27, 2016
Messages
416
Likes
896
I appreciate the troubleshooting suggestions.

- Cartridge is in the correct orientation and even probed every single pin to the RCP/PIF to verify continuity and proper routing as well as did the same on a stock board for comparison. Actually did that with the entire motherboard. No issues.

- Yes, I have a test cartridge outside of ED64 that I verified successful boot on a stock console but doesn’t boot on the redesign sadly.

- I desoldered the slot and resoldered a different one I verified worked right before soldering this one just to narrow down the issue but still no dice.

- I don’t think installing the original AVE would do any good since I verified the Hispeedido HDMI board worked on another N64 right before installing on the board redesign.

I did end up finding one issue. I mixed up the silkscreen and placed the cap name where a resistor goes and the resistor name where the cap goes. Swapped them but still nothing. It was for the PIF, so I’m going to swap a new PIF tomorrow in case it was damaged. I will slowly swap all the chips back to the stock board I took them from to see if the chips were damaged during install or if it’s something else…

The good news is that I did verify the N64 has no problem with SMD crystals of the same value. It booted right up on a stock board with the SMD crystal installed in place of the through hole ones.

IMG_2856.jpeg
 

Y2K

"The PS1 Guy"
Staff member
.
.
Joined
Apr 14, 2022
Messages
133
Likes
278
Location
Chicago, IL
I appreciate the troubleshooting suggestions.

- Cartridge is in the correct orientation and even probed every single pin to the RCP/PIF to verify continuity and proper routing as well as did the same on a stock board for comparison. Actually did that with the entire motherboard. No issues.

- Yes, I have a test cartridge outside of ED64 that I verified successful boot on a stock console but doesn’t boot on the redesign sadly.

- I desoldered the slot and resoldered a different one I verified worked right before soldering this one just to narrow down the issue but still no dice.

- I don’t think installing the original AVE would do any good since I verified the Hispeedido HDMI board worked on another N64 right before installing on the board redesign.

I did end up finding one issue. I mixed up the silkscreen and placed the cap name where a resistor goes and the resistor name where the cap goes. Swapped them but still nothing. It was for the PIF, so I’m going to swap a new PIF tomorrow in case it was damaged. I will slowly swap all the chips back to the stock board I took them from to see if the chips were damaged during install or if it’s something else…

The good news is that I did verify the N64 has no problem with SMD crystals of the same value. It booted right up on a stock board with the SMD crystal installed in place of the through hole ones.

View attachment 32085
Perhaps it could be related to how you're terminating the RDRAM? That part is fairly sensitive, possibly something to look into.
 
Joined
Sep 27, 2016
Messages
416
Likes
896
Perhaps it could be related to how you're terminating the RDRAM? That part is fairly sensitive, possibly something to look into.
Yeah it could be that too. I will look into that today as well after replacing the PIF. I checked all the resistances for the RAM and they all match up with a stock board but maybe I’m missing something. I feel like I’m close though!
 
Joined
Sep 27, 2016
Messages
416
Likes
896
Did a lot of troubleshooting…

I swapped all the components from my board redesign back to the original motherboard I took them from in the first place, and everything worked on the original board. I even transferred my SOT353 LDO (since I’m not using the original N64 one) and that also worked fine. So we can narrow down none of the chips were damaged during removal and the replacement LDO works as well as the SMD crystals (see above post). Please excuse all the flux.

IMG_2863.jpeg


I was using 4.7uF caps for the jumper pack circuitry instead of the 3.3uF the original used, so I decided to install all the resistors and caps I’m using on the board redesign to a spare jumper pack PCB just to verify if that was a problem, but it booted just fine no issue on a stock board.

IMG_2860.jpeg


So all the ICs are good, the jumper pack circuitry components are good, I triple checked every connection pad/trace with a stock one and that is good including the cartridge slot, LDO and SMD crystals are good, so what gives?

Bit of unfortunate news it seems. Ultimately, it appears my rendition of routing the jumper pack circuitry is the issue. Y2K and Yveltal pointed out that my layout is different than the original motherboard, and the traces are thinner with the ground closer than the original, so the impedance values are not right, and most likely triggering the system to not boot.

I even removed both RAMs and installed 1 4GB RAM and soldered the jumper pack circuitry to the top of the board redesign and still nothing…

IMG_2864.jpeg


Yveltal mentioned I would need a VNA to measure the original impedance and would have to match that impedance on my redesign to get it to boot. However since my board is 4 layers compared to the original 2, that also complicates things with the impedance apparently. I don’t have that equipment as a general hobbyist, so I’m going to try to replicate what Nintendo did on another board design in the near future and hope for the best.
 
Last edited:

Stitches

2 and a Half Dollarydoos
Staff member
.
.
Joined
Feb 5, 2017
Messages
3,848
Likes
3,025
Location
Banana Bender Land, Australia
Portables
6
Maybe Gunnar could help with that. IIRC he made the N64 3x3 custom PCB, so he may have the trace impedence data written down somewhere still
 
Last edited:
Joined
Sep 21, 2019
Messages
1
Likes
1
This is incredible work! I am wondering if you contacted any of the n64 homebrew community? Many of them know the ins and outs of n64 hardware and may be able to offer insight.

I shared your project on their discord. Hope that is ok.
 

YveltalGriffin

First Wii U Trimmer
.
Joined
Jun 7, 2016
Messages
306
Likes
1,143
Location
South Florida
Portables
5
The RDRAM channel impedance isn't a secret-- it's 28Ω 50Ω.

There are some resources online with info on designing RDRAM channels, like this slide deck with Intel-recommended stackups and structures.

intel.jpg


Sadly Rambus' original channel design spreadsheets don't seem to be available anymore. But I did some napkin math and you can easily achieve ~30Ω with the normal 4L stackups from JLC and PCBWay.

The concurrent RDRAMs are intended to be routed with interleaved GND (like grounded coplanar waveguide) as shown in the Intel example. Check out Marshall's implementation from the PPR thread:
Rambus Channel routing

I don't think anybody who's tried this has before has ever got it working, and this is probably one reason why. Rambus is very picky and needs controlled impedance traces, with careful attention towards return paths.

Interestingly, Nintendo seems to have overdone the current control program reference. They used two low impedance tracks before a shunt to ground, maybe as a hack for 2layer.

The GND return vias at either end of each GND trace are critical. L2 is probably solid GND. I'm nowhere near as knowledgeable as Marshall on this stuff, but hopefully this helps!

Edit: Marshall set me straight, the Base RDRAM spec calls for 50-ohm impedance which is a lot easier to hit. 28-ohm is for later iterations like Direct RDRAM.
 
Last edited:
Joined
Sep 27, 2016
Messages
416
Likes
896
This is incredible work! I am wondering if you contacted any of the n64 homebrew community? Many of them know the ins and outs of n64 hardware and may be able to offer insight.

I shared your project on their discord. Hope that is ok.
Thank you for sharing, I may look into the N64Brew discord. I didn't know exactly what I was getting myself into with this board redesign since it was from the 90s (not as complicated as later gen consoles) and thought it would be a simple project due to the 2 layer board the N64 uses. I was unaware of certain sensitivities the N64 has until after doing this whole redesign to find it doesn't boot. But that is the whole purpose of this project, not just to succeed but to learn and grow in this hobby from my mistakes along the way and hopefully this worklog can shed some light on those who want to tackle something like this in the future.
 
Top