Recently I saw a video about a GBA SP cartridge swapper thing where you could insert 3 cartridges at the same time and use a little switch to swap between them. My initial response was why doesn't something like this exist for the switch so that docked mode players can just swap between games while still on the couch (Using IR for like spare buttons on your TV remote or something). I am an electronics novice and I wasn't sure exactly how to accomplish this but after looking at a cartridge pinout I decided that the best way to move forward would be to have the data pins of all cartridges connected at all times and just swap which cartridge is actually getting power. Took me about 4 hours to create a prototype (but I honestly have to clue if it will even work).
It essentially uses an Arduino to trigger MOSFETs on both the 3v3 and the 1v8 line for each cart. The back side also has an attiny85, whose only job is to check if any of the cartridges are actively being swapped and if so it will disconnect and reconnect the "Cart Detect" pin to ground. The ribbon cable on the side of the cartridge will most likely be directly soldered on because of the direction of the connector and the space constraints. If it prototype ends up working I'll probably end up 3d printing a case that would replace the back plate on the dock to enclose and hold all this together. Would love some feedback on if this could work or why it won't.
It essentially uses an Arduino to trigger MOSFETs on both the 3v3 and the 1v8 line for each cart. The back side also has an attiny85, whose only job is to check if any of the cartridges are actively being swapped and if so it will disconnect and reconnect the "Cart Detect" pin to ground. The ribbon cable on the side of the cartridge will most likely be directly soldered on because of the direction of the connector and the space constraints. If it prototype ends up working I'll probably end up 3d printing a case that would replace the back plate on the dock to enclose and hold all this together. Would love some feedback on if this could work or why it won't.