What's new

Worklog N64 Micro

Y2K

"The PS1 Guy"
Staff member
.
.
Joined
Apr 14, 2022
Messages
181
Likes
400
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!
 

thedrew

.
.
Joined
Sep 27, 2016
Messages
453
Likes
1,028
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
411
Likes
496
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!
 

thedrew

.
.
Joined
Sep 27, 2016
Messages
453
Likes
1,028
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
37
Likes
78
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
 

thedrew

.
.
Joined
Sep 27, 2016
Messages
453
Likes
1,028
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
3
Likes
2
Can’t wait to see if you get this working. I’d love to use this setup to make a mini N64
 

thedrew

.
.
Joined
Sep 27, 2016
Messages
453
Likes
1,028
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:

euler

.
Joined
Jun 10, 2024
Messages
1
Likes
1
First off, that PCB looks great! Hopefully you get it working soon.

Secondly, not necessarily related to this thread, but can someone tell me what the footprints are for the RCP and the RDRAM chips? To my eye, the RCP looks to be a standard QFP160 (28x28mm .64mm pitch), is that correct? I don't currently have an N64 to measure myself. As for the RDRAM, I have no idea what those are. I tried searching this forum and the web in general but couldn't find this info. If someone could tell me, that would be greatly appreciated.
 

Y2K

"The PS1 Guy"
Staff member
.
.
Joined
Apr 14, 2022
Messages
181
Likes
400
Location
Chicago, IL
First off, that PCB looks great! Hopefully you get it working soon.

Secondly, not necessarily related to this thread, but can someone tell me what the footprints are for the RCP and the RDRAM chips? To my eye, the RCP looks to be a standard QFP160 (28x28mm .64mm pitch), is that correct? I don't currently have an N64 to measure myself. As for the RDRAM, I have no idea what those are. I tried searching this forum and the web in general but couldn't find this info. If someone could tell me, that would be greatly appreciated.
To answer your question, I believe these are the correct footprints for the various major chips:
CPU (QFP-120) | RCP (QFP-160) | RDRAM ("SHP-32" - I would reference the datasheets for the various RDRAM chips found on this link.)

Second, in the future, please do not ask questions in someone else's worklog that are largely unrelated to the project. Worklogs exist for the OP to update others on the progress of a project. Any other user discussion/questions needs to be geared towards the project specifically, whether that be clarification questions, suggestions, comments, or anything along those lines. Please feel free to create a new thread or ask on the Discord server if you have any further questions. Thanks!
 

Xyzven

.
Joined
Jul 29, 2023
Messages
45
Likes
13
View attachment 32961
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.
Just a thought but I wonder if you checked the traces on the unpopulated n64 original board to see if there’s any special or funky traces/connections that you may have missed. Like the whole U10 on the Wii that is delayed or possibly built in resistance/ cross connection on specific traces?!

Please don’t take my suggestion as anything but an offer of direction. You’re doing great work and my eyes are glued for the next update. I am totally fascinated by your gumption and fortitude to take on this project.
 
Top