Worklog Swiitch 2.5

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
After spending way too much time on this to tweak it, i finally got the shoulder buttons just right.
The soft tact is on a separate piece thats glued in, and the hard (red) tact is glued in as well. The actual button is inserted from outside, with a hook snap mechanism thing. You can see how it fits in the cross section here:
upload_2019-9-4_23-15-5.png

And here how its assembled:
Normally these shoulder buttons wouldn't be that hard to do but i had a lot of issues given the amount of space i have. The distance from the outside of the shell to the battery is just 7mm, which isn't a lot..
upload_2019-9-4_23-21-42.png

But thats alright if it makes it possible to use these batteries, so eh. The shoulder button feels just right as is, and it actually works which is somewhat surprising, as these soft tacts aren't designed to be pressed like this. Its always a little bit pressed in its "off" state with this design, as i didn't have the space to get the full amount of travel you'd get from the normal switches. Getting it to work like that was probably the hardest thing to tweak.
Next up will be the custom heatsink.. That thing is going to be very interesting to make, as i don't have the budget rn to CNC route one, which was the original plan. I'm probably going to cut up a GC heatsink now instead as it has about the same profile. That'll be next week or so. The board revision is going alright, but i haven't ordered it yet as this time i want to be 10 billion percent sure that everything will work this time :D
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
So uuh time for an update i guess, its been a while. First: I trimmed a gc heatsink. Since i've had issues with cooling in the past, and since i had space for it anyways, i decided to make it quite large, as you can probably see. The fan is the standard 35x35x7mm fan everyone always uses.
IMG_0219 2.jpeg

I still have some sanding / filing left on top to get it perfectly smooth, but its quite neat already. A nice thing about having a heatsink this large is that i have the ability to run the fan quite slowly without really affecting temps much. In an open air test it didn't even get that warm with the fan turned off. Since the fan is controlled by a PIC and an NTC the speeds and stuff can be adjusted later.
I also did a few multicoloured test prints for the back case to see how a 3d printed logo would look. Turns out, quite nice (obviously not sanded yet)
IMG_0327-2.JPG

Then: the main reason for the update, i finally finished the pcb revision. I replaced the backlight boost converter to a less chinesium one, changed a few things in the lcd driver part, added pull up resistors for GC+ 1.0 compatibility (since they are pin compatible), changed the programming headers, moved the joycon ffc connectors, did some smaller tweaks to clean everything up (for example flipping the dot for the SPI flash) and probably some other stuff i forgot. It doesn't really look that different though so no pics of that i guess. Expect more memes soon™.
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
Henlo bois, this update is a bit late.. done a bunch of stuff since last time, so its gonna be a bit longer.
Since the last time i've done a bunch of changes to the case (all internal, but eh)
upload_2019-11-29_2-1-8.png

The supports for the main pcb and screen for example are now much better. When i printed it this happened tho.. Don't make your walls too thin..


image0.jpg

This was kinda stupid, but i gotta say the case is looking very nice with all components installed. These switch lite sticks really look great. This pic shows how thin it really is:
image0-2.jpg

Other then this theres some minor changes to the case but they're not that interesting.
Next.. The main PCB. I finished the board revision and ordered it and all the required parts.

Assembling it wasn't very hard cause i had a stencil. Took about 5 hours i think. At first it didn't entirely work, but after messing with some stuff and some help from Aurelio i got it to work:
IMG_0731-2.JPG

So thats neat. The thing is tho, vga wasn't working very well. With a wii it looks like this rn:
As you can see there is a red "haze" over the entire screen when displaying VGA. At first i thought this was a firmware issue since it affects the osd as well, but i realised this isn't the case..
unknown-2.png

The OSD is probably muxed together with the output of the scaler in the LCD driver. The problem is, the green/blue channels of at least the ADCs (probably more) aren't powered on this board, as i made some mistakes. B- and G- are NC here, while B+ and G+ are connected to GND. Yeah thats not gonna cut it lol. As summarised by Aurelio:
upload_2019-11-29_13-32-55.png

So (at this point it was 1am i think) i tried lifting the pins connecting G+ and B+ to GND, but that didn't really work. I might try removing the 2660 entirely later and pre bending the pins, but i don't think its necessary since i'm 99% sure this is the issue and will end up getting a new board revision fixing this and a few other things anyways.
This was still the only real big issue, tho there were some others as well, including (but maybe not limited to, who knows) fucked up button wiring, fucked up tact placement, and a missing pullup on the power button.
I'll be testing the audio amp later today, then depending on if that works i'll order the new pcb tomorrow or early next week. This board can still be used to write the firmware for all the mcus and test the custom firmware for the RTD, so thats nice at least :D. And even though it doesn't work perfectly yet, its still progress.
pcb.png

Edit: Pic of the new board added
 

Attachments

MRKane

.
Joined
Nov 5, 2017
Messages
318
Likes
305
I'm crazy impressed with how far you've come with the RTD programming/development - I got it into my head about a year ago that it'd be cool to develop a little board for doing component input for the PS2/Wii etc. and assorted video resolutions as output, but for the life of me the lack of resources (and my overall lack of finances) rather beat me in that endeavour!
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
After a very long hiatus, i finally have a new update on this portable. I've made another board revision, with some new stuff and some improvements. Some of the new / fixed / improved stuff:
- Redesigned audio amp, its using WiiHUD and i2S now. Volume buttons are gone as a result of that.
- Redesigned abxy, dpad and stick connector parts
- Fan is decently controlled now by PWM
- Battery percentage indicator is slightly less crappy
- BT module is on the board now
- Pullups for buttons are gone now, since GC+ 2.0 is definitively out anyways
- Programming headers are larger to make it less of a pain to program the board
- other tweaks like idfk, i changed a bunch of other things but i can't list them like this
edit: ratsnest lol
Swiitch 2.5 v1.4.png
That revision was finished about a month ago at this point, and i just received the final parts to assemble it, and will be streaming the assembly of my main PCB tomorrow with StonedEdge. Tune in in about 14 hours (from the time of this post):
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
So uuh something something not updating this enough, but yeah over the next few days i'll slowly be dumping a bunch of info in here. TLDR: Its finished now, and its working great :D
IMG_4592.png

IMG_4594.png

IMG_4596.png

IMG_4598.png

Final list of main features:- Revision 1.5 of a giant custom PCB that integrated literally everything but the wii and - no thats it actually, its all on there ehe
- 4 hours and 20 minutes of battery life from 10000mah of lipos
ignore the lap, i accidentally pressed that half an hour before it was done, didn't want to redo it
IMG_4397.png
- Integrated gamecube controller with dual tact triggers and rumble
- Internal kingston sd reader with USB data switching
- Digital audio amplifier, controlled with wiihud
- lmaov2 ish trimmed wii with a nand relocation
- USB C charging with the switch charger at 15v
- lcd driver memes (see below)

So to continue from my last update, i assembled my portable with the last board and pretty much everything was working, with a few minor things that i wanted to fix. So uuuh since i had enough parts, i was like eh fuck it, i want to actually make it nice now, so i ordered another board.. Tho i could reuse the existing stencil, since no component positioning has been changed. So what i did change:
- Trigger routing adjusted to they actually work ಠ_ಠ
- A bunch of extra traces connecting the lcd driver to the bms and pic near the bms (more on this in a bit)
- A bunch of extra testpads everywhere to make it easier to debug stuff
- Removed all the remaining circuitry for the lcd driver osd control (its not needed anymore)
- Routing of the switch pin for usb moved directly to 3.3v instead of the pic near the bms
- Changed some of the filtering circuitry for vga to finally make that perfect
- Removed some other old crap that was preventing everything from working nicely (i don't remember)
<new pcb shots>
So i assembled that about a month ago, and trimmed a new wii as well actually cause i somehow fucked up the gcc data line on the one from the stream :/. That is working nicely now tho. So after that i think i went through about 5 case revisions, a bunch of test prints constantly and all that, but it is nice now too. The most important addition to the case is proper screw holes, actually kinda shit that i didn't have those before. So in the mean time i also adjusted the dpad, and the abxy mounts to use actual new 3ds membranes, so those feel pretty nice now. The spacing had to be readjusted too since i switched from pla to petg filament, which is much stronger while somehow being waay easier to post process? I can now wet sand down a case to look pretty much perfect in about 3-4 hours max, and that is manually, compared to 8 hours on my last portable which i did electrically. I also adjusted the speaker position to be in the front, giving actually decent audio now. I'm using replacement switch speakers, which surprisingly only start to just barely crack 2 ticks before max volume (with the wiihud amp). So about 2 weeks ago somewhere i was pretty much done and it was fully working, but i hadn't done any lcd driver memes yet. Yea so thats a thing. About a year ago i posted about working with @ahrlad on reverse engineering / rewriting the RTD2660/2662 firmware. I still need to properly update that thread, but yeah its resulted in some hot shit. It has allowed me to do a bunch of stuff:
- On screen battery notifications when the power button is pressed, charger is plugged on unplugged, regardless of wether the portable is on or off as the wii doesn't need to turn on, and i seperated the regs powering the wii from those powering the lcd driver
IMG_4591.png
- On screen brightness control with a double press of the power button
- On screen warnings when the battery hits 10% and 5%, for about 25 minutes and 12 minutes left each
- Sexy boot screen when its turned on, no artifacts or flashing when syncing to vga or anything (it even has anti aliasing)
- No blue screens or input messages ever (except if there is actually an issue, after 10s of no signal it lets you know)
So yeah thats pretty cool, and it feels waay more integrated because of this. I am still working on making the code slightly more readable and portable, but at some point i may just release it all on github :D
So now i was actually really close to actually finishing it. I printed the final case 3 days ago, and was in the process of transferring all the parts over to the new case.. and yeah rip, if something doesn't fit it doesn't fit :/
IMG_4567.png

Its not all bad tho, as i apparently had another panel just laying around, which surprisingly actually looks way better then the panel i was using before. The viewing angles are like 10x wider tho still not IPS. I do have an IPS panel coming in a few days tho, so that'll probably be in the video i'll hopefully finish in a few weeks :D
IMG_4604.png

IMG_4601.png

The internals are about 100x better then those of my last portable, tho i suppose i could still clean up the wiring a little bit.. Maybe for the video.
232EA075-915E-4F2C-83F6-DB1599A0E414.png

I might post some more stuff here if i forgot anything, not really sure so yeah. Then a nice thing, in a few days i'm gonna release all the schematics for the main board, and maybe eventually all the pcb / cad designs too as open source. Hopefully some other people can use it as a learning resource / base for their own designs, as i really don't recommend building one unless you really know you can assemble pcbs.
 

Attachments

StonedEdge

Moderator
Staff member
.
.
.
Joined
Nov 16, 2018
Messages
203
Likes
804
Location
Japan, Tokyo
Portables
2
Congrats on finishing! It looks incredible.

I know how hard you worked on this and the struggles you faced along the way through the constant DMs, board revisions and vented frustrations. Looks fantastic! And compared to your first... well... I’m just going to leave this here to show other members how far you can come in a short period of time if you put the effort in. Anything is possible! (Please don’t kill me for this lol)

2B405B89-FC1B-47B2-97A8-E2480F637EB1.jpeg
 
Joined
Jan 3, 2020
Messages
6
Likes
1
Is there any schematics for a layout using the RTD2660? Been trying to find something on google recently but no luck. Awesome build!
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
Joined
Sep 27, 2016
Messages
161
Likes
232
This is so freaking incredible. Probably the most feature integrated portable and most engineered portable to date that I've seen. Congrats man, you can really see the time spent on this and what a rewarding accomplishment!
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
Thanks everyone for the nice replies! I'm really happy too with how it turned out, but uh actually.. It just got better! The IPS display arrived, and hot damn is it nice. I guess it better be nice for the 30usd i paid for it after searching through all of ebay in hopes of finding one.. The colors are definetly a lot better, but hot damn look at them viewing angles O.o
IMG_4635.png

IMG_4636.png

And then since i forgot in my last post, i want to thank a few people in this post, most notably:
@Aurelio - without your help, sometimes at 4am, i would never have been able to complete this.. from the most random bits of useful advice to sitting in voice chat with me for an hour trying to figure out a compression algorhytm.. Thanks a lot!
@JacksonS - for initially inspiring me with your Wii SP and Wii SP 2.0, damn those are some amazing portables, and also for willing to share schematics with me to start from when initially starting with the lcd driver stuff
@Gman - i wouldn't want to admit it but i very much based my regulation circuitry off of the RVL PMS, using the same regs and stuff after failing with my own design.
@StonedEdge - the endless DMs, just working on stuff and talking about what we're doing or the most random shit, and then streaming is always just great
I'm working on a video rn, and will update the worklog again once its done, so that'll be fun ^-^
 

BocuD

.
Joined
Jul 21, 2016
Messages
461
Likes
566
Location
The Netherlands
Portables
3
Schematics are nice enough to post i suppose.. So for anyone interested, here you go :D
I have to note, these schematics are what i am using in my portable, so some of the wiring to the lcd driver for example is not going to be very useful without the custom firmware. Same goes for the bms. I might upload at least binaries for the lcd driver firmware too at some point, but not sure about that. When the bms firmware is clean enough (and this one bug i am still having is gone) i'll post sources to that too, probably move it all into a github repo.
 

Attachments

Top