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: 4,019
Last edited by mattytrog,
I installed method 3 this morning and I have some issues.
  • When I've tried to load the ReiNX it fires the payload but I've got white screen if I send the play payload from PC it works perfect (I have this package on my sd Darth Meteos Super Special SD Stash v3).
  • The other thing is when I've entered OFW in orison I could not see the device I have to press two times reset button in order to make it apear on my Mac.
Could someone give me some lights on this?
 
I could send the payload if I put the boot loader that disable the trinket. I had some issues in the past because I pass the files using a MAC and it add extra information into the files that make it crash. Could this be the issue?
With method 3 if you want to update the playload Is mandatory to hit the reset button to times always? or it will apear when you are in horizon?

Below you could see the video of what happen

 
Method 3 doesn`t cold-boot the trinket as it always has powered. Cold-boot = too slow, soft reset (method 3) = fast enough.

--------------------- MERGED ---------------------------

To quote myself


Pin 3 seems not to pull down pin 3 which i have soldered to RCM solder point!?
Soldering is 100% ok, when ill manually short trinket pin3 to gnd RCM is entered, so the wire and soldering is ok.
Seems the trinket doesnt pull it down.

I have the old method 1 UF2 files on it.
Are the new method needed?

Thank you
pOpY
 
Pin 3 seems not to pull down pin 3 which i have soldered to RCM solder point!?
Soldering is 100% ok, when ill manually short trinket pin3 to gnd RCM is entered, so the wire and soldering is ok.
Seems the trinket doesnt pull it down.

I have the old method 1 UF2 files on it.
Are the new method needed?

Thank you
pOpY

Only when you press the reset button. Soft reset does both straps. What happens when you touch the point straight to ground rather then found through the trinket?

I could send the payload if I put the boot loader that disable the trinket. I had some issues in the past because I pass the files using a MAC and it add extra information into the files that make it crash. Could this be the issue?
With method 3 if you want to update the playload Is mandatory to hit the reset button to times always? or it will apear when you are in horizon?

Below you could see the video of what happen


The payload has sent. The rest of it is dealt with by the SD card.

Just thought. Reinx could be outdated either the thread side or your side. Go on the dickscord and see if there is another one to try. I might need to make a new file.
 
Last edited by Joe88,
  • Like
Reactions: mikeleuskaldunak
Pin 3 seems not to pull down pin 3 which i have soldered to RCM solder point!?
Soldering is 100% ok, when ill manually short trinket pin3 to gnd RCM is entered, so the wire and soldering is ok.
Seems the trinket doesnt pull it down.

I have the old method 1 UF2 files on it.
Are the new method needed?

Thank you
pOpY

@mattytrog:

Whe ill short the wire comming from RCM point to GND, the payload is started successfully.
Also i cant power on the console a second time until i have removed battery.

Going back now to old method 1.

Any thoughts?
 
@mattytrog:

Found the issue with the power-strap (to reset the trinket).
My soldering was 100% ok, first i have desoldered the wire from trinket RST pin.
Switch now behaves as it should.
Also, i meassured on the wire, comming from power-strap resistor with an multimeter to gnd.
Everytime i have pressed the power button it goes to 0 ohm, so wire and soldering was ok.

So the electrical issue seems that the trinket RST pin pulls power-strap low when its off.
I have comfirmed this, because the switch is powering itself on (like you press the power switch) when you put battery cable back.
WHICH IS NOT THE NORMAL BEHAVIOUR.

So here are my findings on new method 2:
  • pin 3 isn't pulled low from the trinket -> RCM isnt triggered'
    OR IS A NEW PAYLOAD NEEDED? i have the one fro old method 1
  • trinket pin RST is pulling the power-strap always down
    This switches on the switch all the time and also cant switch it off correctly.
So i am back at old method 1 - 4 wire install and autoRCM.

pOpY
 
@mattytrog:

Found the issue with the power-strap (to reset the trinket).
My soldering was 100% ok, first i have desoldered the wire from trinket RST pin.
Switch now behaves as it should.
Also, i meassured on the wire, comming from power-strap resistor with an multimeter to gnd.
Everytime i have pressed the power button it goes to 0 ohm, so wire and soldering was ok.

So the electrical issue seems that the trinket RST pin pulls power-strap low when its off.
I have comfirmed this, because the switch is powering itself on (like you press the power switch) when you put battery cable back.
WHICH IS NOT THE NORMAL BEHAVIOUR.

So here are my findings on new method 2:
  • pin 3 isn't pulled low from the trinket -> RCM isnt triggered'
    OR IS A NEW PAYLOAD NEEDED? i have the one fro old method 1
  • trinket pin RST is pulling the power-strap always down
    This switches on the switch all the time and also cant switch it off correctly.
So i am back at old method 1 - 4 wire install and autoRCM.

pOpY

Yes. Was you method 3 by any chance? If so I think I left a line commented out by mistake. Will fix later. You can use the all in one in the mean time.
 
Hi Matty will you be uploading method 1 no pin version also SD card image would be great to try.
It needs some more testing. I made two versions. One that changes on every reboot and one that changes every trinket reset. I don't think either are ideal solutions.

But I'll post something prob tomorrow now

:)

I'm at caravan doing some more work but I have scraptop with me. Will have a play tomorrow
 
Last edited by mattytrog,
  • Like
Reactions: 64Dp128k
hi i have a virgin chip atsamd2118A that i wired on a test plate. I saw that the trinket M0 there is a bootloader has injected with Jlink. that's good for restoring the trinket M0.
you will have more information on this question
thank you
 
hi i have a virgin chip atsamd2118A that i wired on a test plate. I saw that the trinket M0 there is a bootloader has injected with Jlink. that's good for restoring the trinket M0.
you will have more information on this question
thank you
I can't comment on jlink. I use openocd to do the virgins. Pick a uf2 bootloader and flash :)
 
I do not leave with a trinket M0. I'm leaving with a virgin chip atsamd2118A

as I can not put a link, go see on digikey the chip

I redrew the wiring as if I had a trinket M0. Of course, nothing happens? so for the awake it must be injected a bootloader for it to be recognized by windows.
to make simple a clone without PCB:P
 
Quick update. As I thought the issue was related to the files being copied using a Mac I've copied the boot loader using a windows 10 and the issue still happen (White screen when loading ReiNX). I've disabled the trinket and I pass the play loader using the web version and the ReiNX boot normally. Second try was with hekate and it works perfectly. I guess the problem is with the pack builded for ReiNX that the trinket have.

Another question I have is using method 3 if I would like to update the trinket I must press the button reset always or it will enter automatically on drag&drop when I will be in horizon?
 
Quick update. As I thought the issue was related to the files being copied using a Mac I've copied the boot loader using a windows 10 and the issue still happen (White screen when loading ReiNX). I've disabled the trinket and I pass the play loader using the web version and the ReiNX boot normally. Second try was with hekate and it works perfectly. I guess the problem is with the pack builded for ReiNX that the trinket have.

Another question I have is using method 3 if I would like to update the trinket I must press the button reset always or it will enter automatically on drag&drop when I will be in horizon?

you have to double press the reset button.
 
Quick update. As I thought the issue was related to the files being copied using a Mac I've copied the boot loader using a windows 10 and the issue still happen (White screen when loading ReiNX). I've disabled the trinket and I pass the play loader using the web version and the ReiNX boot normally. Second try was with hekate and it works perfectly. I guess the problem is with the pack builded for ReiNX that the trinket have.

Another question I have is using method 3 if I would like to update the trinket I must press the button reset always or it will enter automatically on drag&drop when I will be in horizon?

More than likely it's the reinx payload. I do that one blind as I don't use reinx. I can modify or build anything you like, but I don't know what any issues with reinx are as I don't use it.

Yes double press reset to reprogram.

Put sxos payload on trinketboot, boot from sxos, hold vol+ and load reinx. That way. I'll post some updates later on.

I'm rebuilding a motor controller and associated inverters today so replies might be a bit distant. But everything will be updated.

Sorry if my reinx payload is causing issues!

--------------------- MERGED ---------------------------

I do not leave with a trinket M0. I'm leaving with a virgin chip atsamd2118A

as I can not put a link, go see on digikey the chip

I redrew the wiring as if I had a trinket M0. Of course, nothing happens? so for the awake it must be injected a bootloader for it to be recognized by windows.
to make simple a clone without PCB:P
Yes I know. I program all mine with a raspberry pi running openocd. Pins 24-32 are all you need for programming. For a 4.7uF filter cap between gnd and (vss I think from memory). Check the data sheet. Program it with the pi.
 
Quick update. As I thought the issue was related to the files being copied using a Mac I've copied the boot loader using a windows 10 and the issue still happen (White screen when loading ReiNX). I've disabled the trinket and I pass the play loader using the web version and the ReiNX boot normally. Second try was with hekate and it works perfectly. I guess the problem is with the pack builded for ReiNX that the trinket have.

Another question I have is using method 3 if I would like to update the trinket I must press the button reset always or it will enter automatically on drag&drop when I will be in horizon?


not sure what ReiNX your using but if it's this one then I just updated the payload.h file in it. see if that help with your trinket.
 

Attachments

I've tried the las version provided by M-O-B and it works perfectly find. However I will stay for now in Hekate. Regarding the reset button to reprogram the trinket Are you having a hole on the case in order to access it? Or you just open the switch all the time you want to update it?
 

Site & Scene News

Popular threads in this forum