Worklog N64 Micro

Y2K

"The PS1 Guy"
Staff member
.
.
Joined
Apr 14, 2022
Messages
133
Likes
278
Location
Chicago, IL
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.
I definitely wouldn't get discouraged, RDRAM is just stupidly sensitive haha

Definitely give yourself some time and then try to get back into the fray, it's a great concept and it definitely can work, just gotta pay more attention to the RAMBUS termination!
 
Joined
Sep 27, 2016
Messages
417
Likes
896
I definitely wouldn't get discouraged, RDRAM is just stupidly sensitive haha

Definitely give yourself some time and then try to get back into the fray, it's a great concept and it definitely can work, just gotta pay more attention to the RAMBUS termination!
Thank you, definitely not giving up! Still actively working on the RAM termination, just seems to be more complex and involved than I thought. I'd rather not just 1:1 replicate what Nintendo did since that would require a lot more space (even though I have already measured all the traces widths, lengths, spacing, etc.) so I'm investigating further with controlled impedances using a 3D field solver, recommended by Yveltal of course.
 

MRKane

.
2021 3rd Place Winner
Joined
Nov 5, 2017
Messages
406
Likes
488
I've been trying to think of something to add here as I've screwed around with the N64 a lot. There are a couple of troubleshooting steps I could suggest that might help :)

To see if the system has booted have a look at chatter on the PIF chip, Pin 2 or 5 (I can't remember sorry, and my notes were on my now-dead laptop) should have constant chatter if the unit has managed to boot successfully. If the boot has been unsuccessful there'll be no chatter and the lines will essentially be ground.

While RD Ram is exceptionally finicky the interface between the CPU and RCP is also exceedingly well balanced, so it should be fine as long as line ratios are the same as original (I think, again I don't have my notes sorry). The other suggestions given have been very very good pertaining to line resistance etc. but I never hit that personally and was surprised how well the system worked despite my swinging a cat under the hood. Not all RD Ram is the same, but with the stock unit it seems that any RD Ram will suffice - I've swapped the base 2MB chips out with a couple of other types and found that with about three different chips that I tried the unit booted and worked without issue*

The N64 is an exceedingly fickle system, and it's managed to beat me on more than one project that I've undertaken with it so I've got to commend you on what you're doing here - it's really a monumental task that I wasn't capable of succeeding at!

*So about that...I was looking over the units that I've got left in my cupboard and realised the other day that I'd sold off the unit that had low-latency RD Ram installed in it! That was my test unit, so it's not only a bummer that I don't have it anymore, but I hope that it doesn't die on whoever I sold it to!
 
Joined
Sep 27, 2016
Messages
417
Likes
896
I appreciate your input. I was actually able to get further information from YveltalGriffin and Marshall:

- RAM trace impedances should be 50Ω (currently is 60Ω)

- VTERM needs a beefier LDO for stability/longevity (current LDO worked on an original board for a few short tests but not adequate for reliability)

- VTERM needs a ton more decoupling caps to have a high capacitance value on that rail like maybe 100uF total (currently is about 20uF)

- CCtlPgm trace on the RCP (pin 159) needs to be 22Ω (currently is 43Ω)

Really pays off to learn from the engineers in this community. Now that I have a lot more information than I did before just diving into this project, I am correcting these few issues as well as rerouting a few traces/components and sending the board off to the fab for round 2!
 
Joined
Aug 2, 2016
Messages
294
Likes
144
It would be dope if we could collaborate on a design for the case and use a cnc to etch the line art and handpaint the color and detail etc.
 
Joined
Jan 18, 2019
Messages
34
Likes
66
I plan on open sourcing this board design for others to attempt once complete and confirmed fully functional, so you could design anything you want with it!
I better start designing my V4 case before I've finished my V3! With the ability to squeeze all power management and audio amp onto the same board; as well as removing the need for quite so many breakout boards/ adding FPC connectors directly to the board... The possibilities for form factor are going to be endless! The screen control board will become the new cumbersome part to incorporate! o.O
 
Joined
Sep 27, 2016
Messages
417
Likes
896
Brief update:

Not too much has changed but I did correct everything I think I need to for this design to boot. Guess I'll find out.

- CCtlPgm trace on the RCP (pin 159) is now 22Ω (according to an impedance calculator using JLC's JLC04161H-3313 Stackup)

- RAM traces impedance values are now 50Ω (according to impedance calculator again based on JLC's 3313 Stackup)

- VTERM has a beefier LDO (went from 0.25A to 1A in the same footprint, original LDO is only 0.5A) as well as proper capacitance now

- Moved RAM termination circuitry to the top instead of the bottom and enlarged the VTERM copper plane. Moved the RAM chips as close as possible to achieve the enlarged plane with my current layout. Reorganized the GND vias for the termination resistors and caps. Hopefully RAM chips this close is not an issue but we are working out the kinks one by one of what works/doesn't work

Screenshot 2024-03-31 161751.png


This is the impedance calculator I used:
https://chemandy.com/calculators/coplanar-waveguide-with-ground-calculator.htm
 
Last edited:

Benji

.
Joined
Apr 4, 2024
Messages
1
Likes
1
Can’t wait to see if you get this working. I’d love to use this setup to make a mini N64
 
Joined
Sep 27, 2016
Messages
417
Likes
896
IMG_3208.jpeg

This is Rev 2, not too much has changed physically but I corrected everything that should make it boot and it still doesn’t.

I’m a little confused but will figure it out.

Still learning and growing in this process.

The next step is to create a flex to relocate the RAM and jumper pack on a stock N64 applying this knowledge to impedance match and verify it boots. If it does, that will ensure I got the termination circuitry correct and should be able to apply that to the Rev 3 board redesign.

Not a fun update but we’re getting there.
 
Last edited:
Top