Tutorial  Updated

Internal modchip - SAMD21 (Trinket M0, Gemma M0, ItsyBitsy M0 Express) Guide, Files & Support

Notice: I am not receiving notifications for this thread. I didn`t realise people were still posting in it.

Please please accept my apologies if I haven`t replied to tags etc... I have no idea what is happening. I`m subscribed to this thread but I am not receiving notifications. Please inbox me if possible. Or tag me in another thread.

Its amazing that people are still checking all of this out. I thank you for all of the help and support I have received in this thread over this year.

Cheers. Matty.


A video showing a modchip in action. Thank you once again to @metaljay for providing this. This is what you can achieve by fitting a chip!



Section 1. Gather your software.

Get your chip software from THIS THREAD.
Follow the flashing instructions there...




Section 2. Removing USB port and unneeded LEDs. (Adafruit chips only)
  • Next, we need to remove the USB port from the modchip. I recommend a heatgun or a rework station. Heat up until the USB port just lifts off the modchip.
  • Do the same for the LED just to the right of the USB port.
See picture:
20181031_110415.jpg


You are now ready to fit your device. Proceed to Fitting section.





Section 3. Fitting modchip to your Switch.
New Universal Method. All SAMD-based internal chips. If your chip is not supported and you cannot work it out, PM me.

Trinket M0.
Solder as laid out in the following picture

trinketfinal.jpg

==================================================
Rebug SwitchME M0. Use Trinket files.
Solder as laid out in the following picture

rebugfinal.jpg

==================================================
RCMX86 - Internal modchip version.
Solder as laid out in the following picture

RCMX86-Internal-Final.jpg


==================================================
Gemma M0. Use Gemma files.
Solder as laid out in the following picture


gemma final.jpg

==================================================
ItsyBitsy M0 Express. Use ItsyBitsy files.
Solder as laid out in the following picture

itsybitsyfinal.jpg




==================================================
Feather M0 Express. Use Feather files.
Solder as laid out in the following picture

feather_final.jpg




BUILD YOUR OWN FROM A QFP ATSAMD21E18. Trinket equivalent pins.
Flash Trinket bootloader using OpenOCD via serial pins SWDIO / SWDCLK. Fit a reset switch somewhere... Or going to power / wake (aka method 2). If building for external use, it is good practice to fit a third capacitor between 3V & GND. This is deliberately vague and ambigious, as this needs research and you need to know what you are doing.

Link for setting the Pi up with OpenOCD: HERE
Raspberry Pi OpenOCD image in downloads section or HERE
SAMD pi connection.png



Alternative Solder Points

Credit to @consolex for original pic. I`ve added alternative points to solder to:
Alternatepoints.jpg


Credit to @pyorin for this much tidier version showing the same info as the above one!
Alternatepoints2.jpg

s-l1600.jpg

alternative3v.jpg




Replacement Parts List

Ok... So you have damaged your switch soldering your chip in. Not to worry.

First things first, DO NOT BRIDGE THE CONTACTS HOPING TO REVIVE YOUR SWITCH. With resistors, you may possibly get away with this, but with the capacitors listed below, if you jump these points, you will make a nice short-circuit to the PMIC and / or the M92T36, killing them instantly. Don`t do it.

OK... I`ll list these parts with METHOD 2 & 3 TRINKET PIN NUMBERS and the values of the components they solder to.

TRINKET 3V (POWER SUPPLY) - 2.2uF 0402 size MLCC capacitor. Voltage unimportant as long as it is over 6.3v
TRINKET PIN 2 (POWER ON RESET - goes to pin 5 on M92T36)- 4.7uF 0402 size MLCC capacitor. Voltage unimportant as long as it is over 6.3v
TRINKET PIN 0 (VOL+) - 150R (150 ohms) 0201 Thick Film resistor. 50mW
TRINKET RESET (SWITCH POWER BUTTON) - 150R (150 ohms) 0201 Thick Film resistor. 50mW


I recommend RS components.

FAQ

Q - How do I boot the switch into APX (RCM) mode?

A - You need to short out pin 10 on the right joycon rail to GND with a jig or modded joycon or paperclip (not recommended... Buy a jig you cheap-ass gyppo). Once shorted out, hold down vol+ and power. The switch screen should be off... Plug into your PC and it should recognise a APX device. Well done. You are in RCM.

Q - What glue should I use?
A - Only glue if necessary! Ideally if your soldering is of sufficient quality and your wire is thin enough, you don`t need glue. I use a bit because I am OCD. Anyway, use Epoxy. It`s what I use. Gives you some working time, is solid. Superglue makes a mess DO NOT USE SUPERGLUE. The only thing super about it is how it melts things. Epoxy won`t stick to the shield long-term, so bear that in mind. Pure Acetone will remove epoxy. Acetone tends to remove / melt anything to be warned. CHECK YOUR GLUE WON`T GO CONDUCTIVE OVER TIME - LOOKING AT YOU SCAMSUNG! The combination of heat cycles and absorbing of moisture can turn adhesive into a high-impedance connection!

Q - What size wire should I use?
A - I use AWG40 magnet wire or AWG30 Kynar. AWG40 goes onto components easier... And if you snap it, chances are the wire will snap and not the trace / component.
A2 - You can also use AWG30. I recommend Kynar wrapping wire but any will do. Looks nice, good resistance to elements, tidy. Nothing thicker than AWG30. You are just causing yourself more headaches. Trust me.

Q - Is AWG40 thick enough?
A - Yes. AWG40 is good for around 90mA.

Q - which methods do you recommend?
A - Connect all the straps...

Q - how do you recommend to set it up?
A - Fusee Suite. Search for Fusee Suite or go to link at top of this OP.

Q - My switch is flat and won't turn on.
A - Have you got the charger connected? Disconnect it or your switch won't boot! Boot to a payload (SX loader/Hekate), reconnect charger and leave on the payload menu and charge. Leave for 15 minutes and switch will start normally. It will continue charging one booted.

Disclaimer:
You have only yourself to blame. This voids warranty. This may or may not get you banned from online services. If it does, you got yourself banned. I`m not responsible if you kill your switch / your first-born with any of this in this post. I`m not infalliable. I`m partly senile. Do your own research. Kids, get bill payers permission before you attempt even using a screwdriver.
NUTSHELL: Don`t come having a go at me because you fooked your £300 console up. I`ll do my best to help you though if you do, Just don`t blame me.

Credits to Quantum-Cross, Atlas44, @Ninoh-FOX , @jcrorxp , @tecfreak, @mooglazer, @subcon959, @64Dp128k, @mikeleuskaldunak, @M-O-B, CTCaer, @evilsperm, @consolex and everyone else for valuable input.


IF YOU REQUIRE SUPPORT, IF YOUR CONSOLE ISN`T WORKING CORRECTLY... PLEASE POST A HIGH RESOLUTION PICTURE OF YOUR INSTALL. You might think it isn`t your soldering, but in all cases with the new methods, it is bad soldering. So, please post a picture.


A BRIEF WARNING - PLEASE READ
THIS MOD IS NOT FOR THE FEINT OF HEART. WE ARE SOLDERING TO TRACES AND COMPONENTS ON THE FRONT SIDE OF THE BOARD TO SAVE HAVING TO REMOVE THE BOARD AND SOLDER TO TESTPOINTS. IF YOU ARE STRUGGLING, OR THINK YOU ARE GOING TO STRUGGLE, PLEASE PLEASE SOLDER TO THE TEST POINTS NOTED IN THIS AND OTHER THREADS (YOU WILL NEED TO REMOVE THE MOTHERBOARD). DOUBLE - TRIPLE CHECK EVERYTHING. YOU HAVE BEEN WARNED!!!
Good soldering skills are needed!
A magnifying glass is needed!
Good soldering iron needed - ideally with a 0.3 conical tip. No more than 30w!
SECURE YOUR WIRES PRIOR TO SOLDERING. Stick them down with double-sided tape.
Only use glue if you need to and glue wires after soldering. Don`t glue the solder to the component!
Put the tiniest amount of glue on the PCB mask only. Never on components. Use a cocktail stick for more glue control!!!
Take a look at alternative solder points to get you out of the sh*t if you do rip something off the board
If you aren`t the best at soldering, then think very carefully about connecting to pin 6 capacitor (the one in these new methods). If you rip this pad, you WILL NEED TO REMOVE YOUR BOARD and run from a testpoint.
 

Attachments

  • Trinket equivalent.png
    Trinket equivalent.png
    118 KB · Views: 3,801
Last edited by mattytrog,

Boomerams

Well-Known Member
Member
Joined
Dec 16, 2016
Messages
102
Trophies
0
Age
37
XP
506
Country
United States
Sooo....Honestly, I am completely overwhelmed at the wealth of knowledge in this thread and no clue where to start, LOL. Basically, from the start, I am not sure what method I should consider using. I don't care much for autoRCM and rather not use it but would love not to have to use a jig every single time I want to boot a payload. Would be great to have dual boot as well...What method should I consider using? Thanks in advance for any help.
 

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
Sooo....Honestly, I am completely overwhelmed at the wealth of knowledge in this thread and no clue where to start, LOL. Basically, from the start, I am not sure what method I should consider using. I don't care much for autoRCM and rather not use it but would love not to have to use a jig every single time I want to boot a payload. Would be great to have dual boot as well...What method should I consider using? Thanks in advance for any help.

OK... Lets see...

AutoRCM? Nope.
Jig every boot? Nope.

That leaves method 3.
Or method 1 (with joycon strap connected maybe, so you push back cover in while holding vol+ & power)

Method 3 drains battery over periods of non-use
Method 1 doesn`t. However, it requires autoRCM OR a joycon strap to be connected and you need to push cover as I said.
Forget method 2. Causes problems. Then again, people use it with autoRCM which is a big NONO! So, maybe method 2 might work for you.
 

Moquedami

Well-Known Member
Member
Joined
Nov 16, 2006
Messages
436
Trophies
1
XP
1,816
Country
Argentina
Besides a nand backup, what other safety meassures should I observe before using auto RCM?
Whats the best way to activate / deactivate RCM? Is it sx os safe?
 

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
Besides a nand backup, what other safety meassures should I observe before using auto RCM?
Whats the best way to activate / deactivate RCM? Is it sx os safe?
autoRCM is completely safe. There is a common misconception that it is dangerous. I get sick and tired of debunking this. But I will anyway.

As long as you have a NAND backup, you are safe.

Think about this...

There has not been one switch anywhere on the planet that has been killed by autoRCM. Not one. Not a single one.

NAND corruption in the traditional sense comes from other things people are doing.

Now... If you are asking if autoRCM could lead to a ban... I`d say no - at the moment.
I`ve never seen anyone banned from using autoRCM.

However this could change depending what vectors Ninntendo checks for. But there doesnt appear to be a check for autoRCM at this time.
 
  • Like
Reactions: Deleted-172301
D

Deleted-172301

Guest
OK... Lets see...

AutoRCM? Nope.
Jig every boot? Nope.

That leaves method 3.
Or method 1 (with joycon strap connected maybe, so you push back cover in while holding vol+ & power)

Method 3 drains battery over periods of non-use
Method 1 doesn`t. However, it requires autoRCM OR a joycon strap to be connected and you need to push cover as I said.
Forget method 2. Causes problems. Then again, people use it with autoRCM which is a big NONO! So, maybe method 2 might work for you.
Why would using AutoRCM cause an issue with Method 2? I've read a bit through the thread it looks like you were modifying the timing of how a payload is delivered because there was a problem with boot?

I'm interested in a dual boot solution as well, but I don't want to intervene with the payload process unless I need to.

EDIT:

Okay, I've read a bit more. Essentially a cold boot is what causes the problem. It gets resolved by plugging the switch into a power source.
 
Last edited by ,

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
Why would using AutoRCM cause an issue with Method 2? I've read a bit through the thread it looks like you were modifying the timing of how a payload is delivered because there was a problem with boot?

I'm interested in a dual boot solution as well, but I don't want to intervene with the payload process unless I need to.

EDIT:

Okay, I've read a bit more. Essentially a cold boot is what causes the problem. It gets resolved by plugging the switch into a power source.
Pretty much.

It is about timing. Method 2 has the reset pad hooked up to the hard reset on the trinket.
Also method 2 relies on a quirk which shorts the joycon "strap" to ground when this reset switch is pressed.

Once this reset switch is pressed, the trinket goes through this routine of booting. However, if autoRCM is enabled, the trinket cannot power up and "put" the console in RCM, therefore resulting in a non boot and the console is stuck in RCM with no power to the trinket.

It's a bit like chopping off your own head, then checking to see if you have chopped off your own head. Impossible.

So, because the joycon strap is shorted to ground via hardware quirk in the samd, we need to disable the straps that do it in software.

So, the idea is, to get method 2 working, do not enable autoRCM under any circumstances... Furthermore, use my all-in-one payload injector uf2 firmware and place in a mode that has the straps disabled.

I appreciate this is probably as clear as mud. Sorry!
 
  • Like
Reactions: Deleted-172301
D

Deleted-172301

Guest
Pretty much.

It is about timing. Method 2 has the reset pad hooked up to the hard reset on the trinket.
Also method 2 relies on a quirk which shorts the joycon "strap" to ground when this reset switch is pressed.

Once this reset switch is pressed, the trinket goes through this routine of booting. However, if autoRCM is enabled, the trinket cannot power up and "put" the console in RCM, therefore resulting in a non boot and the console is stuck in RCM with no power to the trinket.

It's a bit like chopping off your own head, then checking to see if you have chopped off your own head. Impossible.

So, because the joycon strap is shorted to ground via hardware quirk in the samd, we need to disable the straps that do it in software.

So, the idea is, to get method 2 working, do not enable autoRCM under any circumstances... Furthermore, use my all-in-one payload injector uf2 firmware and place in a mode that has the straps disabled.

I appreciate this is probably as clear as mud. Sorry!
Ah okay. Do you think this will ever be resolved? I know that there is a small battery that can probably be used in order to alleviate the cold boot issue, but I think that would only make things a tiny bit easier.

I do want to use AutoRCM, but I don't want to be forced to use it like one is with Method 1.

Also, why is there a risk to burn fuses when booting between the default FW and a CFW, or am I misunderstanding the whole fuse situation? I know that the tegra chip burns a fuse when an official update is installed...

Lots of learning, but its all really cool!
 

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
Ah okay. Do you think this will ever be resolved? I know that there is a small battery that can probably be used in order to alleviate the cold boot issue, but I think that would only make things a tiny bit easier.

I do want to use AutoRCM, but I don't want to be forced to use it like one is with Method 1.

Also, why is there a risk to burn fuses when booting between the default FW and a CFW, or am I misunderstanding the whole fuse situation? I know that the tegra chip burns a fuse when an official update is installed...

Lots of learning, but its all really cool!

The fuses are burnt by Nintendos bootloader at power on. Not during actual installation...

Those fuses are turned to carbon / ash the moment you press the power button without autoRCM installed.

Method 2 resolution...

I`ve tried editing / rewriting parts of the bootloader (of the trinket) and the trinket / switchme just cannot boot fast enough to beat the Nintendo bootloader. There are fixes that I have not published. But are extreme to say the least.

So the way to get it working is to not use autoRCM, use my all-in-one UF2 which is HERE (Look at version 1) and use mode 5,6,9,12,15 or 18.

It is far from ideal and not how I like to solve problems. But it works. At least for my poor butchered bench unit anyway.
 
  • Like
Reactions: Deleted-172301
D

Deleted-172301

Guest
The fuses are burnt by Nintendos bootloader at power on. Not during actual installation...

Those fuses are turned to carbon / ash the moment you press the power button without autoRCM installed.

Method 2 resolution...

I`ve tried editing / rewriting parts of the bootloader (of the trinket) and the trinket / switchme just cannot boot fast enough to beat the Nintendo bootloader. There are fixes that I have not published. But are extreme to say the least.

So the way to get it working is to not use autoRCM, use my all-in-one UF2 which is HERE (Look at version 1) and use mode 5,6,9,12,15 or 18.

It is far from ideal and not how I like to solve problems. But it works. At least for my poor butchered bench unit anyway.

So basically, you are working around it by making method 2 function as method 1 since you are accomplishing the same thing?
 

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
So basically, you are working around it by making method 2 function as method 1 since you are accomplishing the same thing?
Method 2 and method 1 were originally designed to be the same. Only difference being the straps.

At the time (Back in June / July) it was believed that the Trinket could boot fast enough, so it was quite different to what method 2 is now.

The idea of method 2 was to offer...
  • Zero battery drain (you get in method 3)
  • AutoRCM not required (you need in method 1)
But because the Nintendo bootloader can run rings around the Trinket regarding bootup, it didn`t work.

Then we discovered that pin 3 (the one we use to short the joycon to ground) went to ground upon a hard reset. This should not happen. However, it is a flaw / feature / quirk of the Atmel SAMD chip.

It appears it is linked to the PM (power management) / Power on reset part of the SAMD21. Actually in the silicon itself.

We use this to our advantage. I thought this "quirk" was in the bootloader code. But it wasn`t. I spent days and days going through the bootloader code.
I should add that when I say "bootloader code", I do not mean the actual "payload pusher", I mean the actual UF2 / SAM-BA bootloader.

We cannot use it to permanently boot the switch (with joycon & vol+ straps shorted to ground) as in method 3, as only ONE of the straps is grounded.

So we can only use it in dual-boot.
 
Last edited by mattytrog,
  • Like
Reactions: Deleted-172301
D

Deleted-172301

Guest
Method 2 and method 1 were originally designed to be the same. Only difference being the straps.

At the time (Back in June / July) it was believed that the Trinket could boot fast enough, so it was quite different to what method 2 is now.

The idea of method 2 was to offer...
  • Zero battery drain (you get in method 3)
  • AutoRCM not required (you need in method 1)
But because the Nintendo bootloader can run rings around the Trinket regarding bootup, it didn`t work.

Then we discovered that pin 3 (the one we use to short the joycon to ground) went to ground upon a hard reset. This should not happen. However, it is a flaw / feature / quirk of the Atmel SAMD chip.

It appears it is linked to the PM (power management) / Power on reset part of the SAMD21. Actually in the silicon itself.

We use this to our advantage. I thought this "quirk" was in the bootloader code. But it wasn`t. I spent days and days going through the bootloader code.
I should add that when I say "bootloader code", I do not mean the actual "payload pusher", I mean the actual UF2 / SAM-BA bootloader.

We cannot use it to permanently boot the switch (with joycon & vol+ straps shorted to ground) as in method 3, as only ONE of the straps is grounded.

So we can only use it in dual-boot.
Dang. Would the only solution to this then be to find another modchip solution? I don't really mind triggering volume and power when I cold boot in order to save a fuse.

I definitely do not want my switch to run in RCM mode permanently with method 3.
 

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
Dang. Would the only solution to this then be to find another modchip solution? I don't really mind triggering volume and power when I cold boot in order to save a fuse.

I definitely do not want my switch to run in RCM mode permanently with method 3.
Forget trying to save fuses if you don`t want to use autoRCM. Not going to happen.

Just one failed boot into RCM will burn them.

The best we can get out of method 2 is to forget saving fuses with it, forget autoRCM, and use it for dual-boot only. For this purpose, it works.

You just need to remember to power on by following these steps:
From the console being off...

1. Hold vol+
2. Keep vol+pressed and press POWER button
3. Release power button, keeping vol+ pressed for a second
4. Let go and console boots into CFW
 
  • Like
Reactions: Deleted-172301

Boomerams

Well-Known Member
Member
Joined
Dec 16, 2016
Messages
102
Trophies
0
Age
37
XP
506
Country
United States
Sooo....Honestly, I am completely overwhelmed at the wealth of knowledge in this thread and no clue where to start, LOL. Basically, from the start, I am not sure what method I should consider using. I don't care much for autoRCM and rather not use it but would love not to have to use a jig every single time I want to boot a payload. Would be great to have dual boot as well...What method should I consider using? Thanks in advance for any help.

OK... Lets see...

AutoRCM? Nope.
Jig every boot? Nope.

That leaves method 3.
Or method 1 (with joycon strap connected maybe, so you push back cover in while holding vol+ & power)

Method 3 drains battery over periods of non-use
Method 1 doesn`t. However, it requires autoRCM OR a joycon strap to be connected and you need to push cover as I said.
Forget method 2. Causes problems. Then again, people use it with autoRCM which is a big NONO! So, maybe method 2 might work for you.

You kind of sorta seemed to recommend every method in your reply lol.

I apologise if I'm being a pain, but just for clarification sake...either method one (with joy con strap) or method three would be the way to go for what I am looking for? Any benefits of one over the other? I firmly believe in the 7p's (Prior Proper Planning Prevents Piss Poor Performance) so I like to plan and map everything out before soldering with small components like this.

Thanks in advance for any help on the matter...Also, :evil::ha:B-) i'm not a millennial B-):ha::evil:, so not offended if you throw a "Listen here dumbass, I said....(something barney style)" in there somewhere.

Edit: Just joking you millennial kiddos...so don't fret, your participation in this joke gets you a trophy in the mail. On its way I promise :rofl2:.
 
Last edited by Boomerams,

mattytrog

You don`t want to listen to anything I say.
OP
Member
Joined
Apr 27, 2018
Messages
3,708
Trophies
0
Age
48
XP
4,328
Country
United Kingdom
You kind of sorta seemed to recommend every method in your reply lol.

I apologise if I'm being a pain, but just for clarification sake...either method one (with joy con strap) or method three would be the way to go for what I am looking for? Any benefits of one over the other? I firmly believe in the 7p's (Prior Proper Planning Prevents Piss Poor Performance) so I like to plan and map everything out before soldering with small components like this.

Thanks in advance for any help on the matter...Also, :evil::ha:B-) i'm not a millennial B-):ha::evil:, so not offended if you throw a "Listen here dumbass, I said....(something barney style)" in there somewhere.
No! I'm only rude to those who are rude to me.

I really don't want to offend anyone. Apart from certain people on here...

Method 3 would be best for you if you don't want to use autoRCM.

Just Bear in mind that your battery will go very dead if you don't play on your console for a while.

Or you could mod your joycon.
 

Boomerams

Well-Known Member
Member
Joined
Dec 16, 2016
Messages
102
Trophies
0
Age
37
XP
506
Country
United States
No! I'm only rude to those who are rude to me.

I really don't want to offend anyone. Apart from certain people on here...

Method 3 would be best for you if you don't want to use autoRCM.

Just Bear in mind that your battery will go very dead if you don't play on your console for a while.

Or you could mod your joycon.

How much drain are we thinking here when we say "a while"? Like if it's 100% when I go to work it would be dead when I got home (typical 8-9 hour day)?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Gotta smash em all!