Worklog OpeN64 - Worklog

  • Thread starter Thread starter cy
  • Start date Start date
Update time, here's the front:
1771056192896.webp

1771056215270.webp


And here's the back:
1771056255189.webp

1771056272145.webp


There's still plenty of work to do, but progress is coming along well. Initially I had the voltage planes filled in with filled zones, but today I corrected that.

That's all for now, just wanted to post a brief progress update.
 
Time for another update:
Screenshot_20260220_235243.webp
Screenshot_20260220_235257.webp
Screenshot_20260220_235311.webp
Screenshot_20260220_235326.webp


I've added the majority of the silkscreen and I have just about everything together at this point. There's a small handful of things missing, for example, the cartridge slot's silkscreen is incomplete. But that's something I'll look into adding a bit later.

Before I added all this silkscreen, I went ahead and sent the design to JLCPCB so production of the first prototype could begin. Nothing electronic has really changed since I've made that order, so when I receive the boards, I imagine if they work, then this revision will also work.

I chose to order the boards early like this because I'm a bit impatient and I really am excited to acquire the first revision of these boards! I ran the DRC pretty religiously before sending the first revision in, and I've continued to run it religiously ever since, so I think this is all going to work out. Only one way to find out!

Once I verify that the first prototype board is working, I'll go ahead and order up another set with the updated silkscreen. Once I know that works I'll be releasing the first revision of this. Know that once the first revision may be visually incomplete (areas that exclude solder mask and silkscreen missing, etc), but it should be functionally complete.

Looking forward getting next week's mail...
 
I'm really starting to run out of things to do on this project. There are a few misc internal file things that I've gone ahead and done, and I also changed the names of a lot of the nets since they were auto-assigned names by KiCAD.

Here's how things look right now:
1772174468087.webp

1772174484338.webp


This itself isn't really much of an update as far as the files and changes to the project are concerned. However...

This arrived in the mail on Wednesday!!!
1772174593868.webp

1772174624933.webp

1772174629955.webp

1772174635466.webp


This thing is absolutely sexy! You may notice that this board doesn't reflect my latest revision. This is because I ordered this revision of the board up as soon as I finished recreating the electronics, so there's very little silk screen on it outside of the front of the board. I plan on ordering another set of these boards up and sending a few to @CrazyGadget for assembly and testing after I assemble one of these earlier prototype versions.

Nothing has really changed electrically between this prototype board and the latest revision of the files, so if this prototype works, then my latest revision should also work.

Additionally:
1772174863766.webp


Today and yesterday I spent a ton of time getting the passives on the back of this board together. I've estimated that there's around 220ish surface mount components here (I know there's at least 170 capacitors on this board), and I spent the majority of today and like 3 hours yesterday getting these all transplanted from an original rev 03 board.

I'll be moving on to the front tomorrow, and I'm hoping that by late tomorrow or sometime Saturday I'll be able to test this! Things are really coming along with this project and I'm really seriously hoping that this thing just works when I go to test it.

I am a little nervous about the polarity of some components on the back. I don't think the ceramic capacitors or resistors are anything to worry about in that regard, but I don't know about the filters for the P1-P4 controller ports. I'm like 90% sure I kept the polarity the same on those and the two un-keyed diodes, but it's easy to make mistakes when there's tons of tiny components to relocate, and it's sometimes hard to keep track of a component's orientation. I'm probably just being paranoid though.
 
It's time for a major update! The assembly process for this was rather slow seeing how there were TONS of components to relocate. As seen in my previous post, I transplanted everything on the back first.

So after that, I went ahead and moved on to the front:
1772337004073.webp


My first major priority with the front was relocating all of the aluminum capacitors. These caps are sensitive to heat, and I didn't want to use hot air on the board until they were all relocated. After that, I focused my efforts on removing the bigger parts from the OEM N64 board - things like the disk expansion slot, power port, video port, power switch, and controller ports. I was going to have to do this eventually, and doing so also prevented me from making any fatal errors with hot air.

After that, I focused my efforts on transplanting various chips over since I was finally certain I could use hot air without damaging anything:
1772337575402.webp


With this done, I was finally ready to transplant the CPU, RCP, RAM, and RAM expansion port! But not before comparing the bare OEM board to my OpeN64 board!
1772337637214.webp

1772337643456.webp

Again, this revision of the OpeN64 is out of date and is missing lots of silkscreen. I imagine the similarities between the OEM and the most up to date version of the project are even greater!

That's nice and all, but that's not what any of you are here to see... What you're all here to see is this:
1772337870042.webp

1772337877818.webp


Here's a video of me turning it on...



As you can see... IT WORKS!

After shooting that quick little video, I went ahead and tested all the controller ports, and played it for about an hour. As far as I can tell, everything is working exactly as it should be! 4 player multiplayer works without any problems (all controller ports work), The reset button works, and the SummerCart even works on this thing!

1772338830463.webp


So... what now?

Well, I want to make a few more improvements to the project files before I release anything. And as stated above, I would also like to enlist the help of @CrazyGadget to test the most up to date revision of this project. I will be ordering up a large handful of these boards so I can give them out to people at MGC in person.

As for the files, I want to wait until CrazyGadget fully assembles the most up to date version of this project and verifies it still works (there's no reason it shouldn't, but it doesn't hurt to be sure since I want what I release to be accurate and reliable). Once that's done, I'll make a video going over this project in more detail, publish the files to Github, and after that, I'll be posting a proper showoff thread in The Cutting Edge complete with the Github link, video showcase, and other details about this project.

I would like to thank the community for giving me advice and being supportive of this project! I hope this ends up being useful to everyone and that it helps people with any of their N64 related needs! Looking forward to when I'm finally able to release this! :)
 
Amazing job! I’m really glad I was able to help you in this journey!

Looking forward to the release!
 
  • Like
Reactions: cy
This is outstanding! See now I've got a little voice in the back of my head saying "we should minify this" ;)
 
Thank you both! Yeah, I've been thinking that an N64 mini is definitely among the projects I'd like to see come from this!

I've done some additional testing on this project since my last post. I tested expansion pak support, ran the unit for over 4 hours straight, verified SummerCart and Everdrive support, verified that the controller ports and reset button all work, and I believe this project is likely also compatible with the N64 DD since N64 DD games on the SummerCart work without any problems! I don't have an actually N64 DD though, so this is simply going to remain the assumption until proven otherwise.

As far as I can tell, the OpeN64 is perfectly stable and doesn't have any known issues. I've played on it for several hours, and I even let it run for over an hour while I took a nap. I'm still yet to encounter any real problems with this thing despite extensive testing. I'll continue it test it more in the coming days, but unless I find something wrong with it, I'll probably be leaving things as they are in this thread. I will post one final update here once the project is fully open sourced - it'd be good to change the title to reflect this no longer being a WIP and in the first and final post I may link where they can find the finished project.

I'm hoping to see people make great things with this! :D
 
Just a quick little update here. The latest revision of the boards has arrived!

20260306_144315.webp

20260306_144335.webp


Things still seem to check out electronically, so I imagine these probably still work. Looking forward to seeing CrazyGadget assemble one of these bad boys! Thank you again @CrazyGadget for providing scans, giving me advice, and offering to assemble one of these! It certainly isn't a quick and easy assembly process...
 
Just a quick little update here. The latest revision of the boards has arrived!

View attachment 41868
View attachment 41869

Things still seem to check out electronically, so I imagine these probably still work. Looking forward to seeing CrazyGadget assemble one of these bad boys! Thank you again @CrazyGadget for providing scans, giving me advice, and offering to assemble one of these! It certainly isn't a quick and easy assembly process...
Wow! I wonder if this could be possible for the wii at some point...
 
  • Like
Reactions: cy
Wow! I wonder if this could be possible for the wii at some point...
It's definitely possible on the Wii, but it's extremely difficult to remove and resolder the CPU and GPU properly. Mods involving a custom Wii motherboard wouldn't be very accessible as a result. That said, there do exist functional custom Wii boards, although the success rate of transferring the CPU and GPU from a Wii board onto one of these custom boards is very low with our current methods. There wouldn't be much of a point to an open source Wii unless we find a way to consistently and successfully remove and replace said components.
 
It's definitely possible on the Wii, but it's extremely difficult to remove and resolder the CPU and GPU properly. Mods involving a custom Wii motherboard wouldn't be very accessible as a result. That said, there do exist functional custom Wii boards, although the success rate of transferring the CPU and GPU from a Wii board onto one of these custom boards is very low with our current methods. There wouldn't be much of a point to an open source Wii unless we find a way to consistently and successfully remove and replace said components.
Oh right, I forgot the Wii uses solder balls and the N64 uses pins. Also, I can't wait to see the portables that could be possible by this reverse engineering.
 
  • Like
Reactions: cy
The 1.0 release of OpeN64 is live and can be found here!

The project is now in a state to where I feel comfortable releasing the files for it. I would like to thank everyone involved in this project and the community as a whole for inspiring me to work on it! I'm really hyped to see what all comes from this bad boy!
 
Back
Top