{"id":50128592,"url":"https://github.com/NVNTLabs/switch2-SDEX2M2","last_synced_at":"2026-06-09T13:01:15.174Z","repository":{"id":298057518,"uuid":"998705796","full_name":"NVNTLabs/switch2-SDEX2M2","owner":"NVNTLabs","description":"Micro SD Express to M.2 NVME Adapter for Nintendo Switch 2","archived":false,"fork":false,"pushed_at":"2025-08-25T07:51:24.000Z","size":10280,"stargazers_count":345,"open_issues_count":5,"forks_count":9,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-08-25T09:58:42.700Z","etag":null,"topics":["microsd","nintendo","nintendo-switch","nintendo-switch-hacking","nvme","switch-2","switch2"],"latest_commit_sha":null,"homepage":"","language":"ANTLR","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NVNTLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-09T05:50:54.000Z","updated_at":"2025-08-25T07:51:28.000Z","dependencies_parsed_at":"2025-07-28T06:29:29.936Z","dependency_job_id":null,"html_url":"https://github.com/NVNTLabs/switch2-SDEX2M2","commit_stats":null,"previous_names":["nvntlabs/switch2-sdex2nvme"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NVNTLabs/switch2-SDEX2M2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVNTLabs%2Fswitch2-SDEX2M2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVNTLabs%2Fswitch2-SDEX2M2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVNTLabs%2Fswitch2-SDEX2M2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVNTLabs%2Fswitch2-SDEX2M2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NVNTLabs","download_url":"https://codeload.github.com/NVNTLabs/switch2-SDEX2M2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NVNTLabs%2Fswitch2-SDEX2M2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34107866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["microsd","nintendo","nintendo-switch","nintendo-switch-hacking","nvme","switch-2","switch2"],"created_at":"2026-05-23T21:00:29.529Z","updated_at":"2026-06-09T13:01:15.166Z","avatar_url":"https://github.com/NVNTLabs.png","language":"ANTLR","funding_links":[],"categories":["ANTLR"],"sub_categories":[],"readme":"# NVNT's SDEX2M2 (MicroSD Express to M.2) Adapter Project\n\n![image](https://github.com/user-attachments/assets/679e10da-82e8-4d7a-8257-d86a05efd59d)\n\nSDEX2M2 (Micro**SD** **Ex**press to **M2**) is an adapter for the Nintendo Switch 2 which converts the MicroSD Express slot to a NVME M.2 (M-Key) slot. Think MicroSD Express cards are difficult to find or expensive? Looking to expand your storage for cheaper? Just use the NVME M.2 SSD that you have, and/or can easily find! The project is open source hardware under the GPLv3 License.\n\nThis project also encompasses the sister-project of \"MicroSD Express to SD Express\" adapter, which is a pin-to-pin conversion kit allowing full size SD Express cards to be used on the Nintendo Switch 2.\n\n---\n\n## 📚 Table of Contents\n- **Introduction**\n  - [Goals](#goals)\n  - [Status](#status)\n  - [Warnings](#warnings)\n- **Assets \u0026 Hardware Info**\n  - [Bill of Materials (BOM)](#bill-of-materials-bom)\n  - [PINOUT \u0026 LEGEND](#pinout--legend)\n    - [MicroSD Express to M.2 NVMe Mapping](#microsd-express-to-m2-nvme-mapping)\n    - [M.2 NVMe Pinout](#m2-nvme-pinout)\n    - [MicroSD Express Pinout](#microsd-express-pinout)\n- **PCB's / Boards**\n  - [Wiring Schematic](#wiring-schematic)\n  - [MicroSD Express Dummy Card](#microsd-express-dummy-card)\n  - [MicroSD Express to FPC Flex Cable Connector](#microsd-express-to-fpc-flex-cable-connector)\n  - [MicroSD Express Breakout Board](#microsd-express-breakout-board)\n  - [NVMe M.2 SSD Breakout Board](#nvme-m2-ssd-breakout-board)\n  - [MicroSD Express to SD Express Prototype Adapter](#microsd-express-to-sd-express-prototype-adapter)\n  - [SDEX2M2 MicroSD Express to NVMe M.2 Prototype Pin-to-Pin Adapter WIP](#sdex2m2-microsd-express-to-nvme-m2-prototype-pin-to-pin-adapter)\n  - [MicroSD Express Sniffer for Switch 2 Handshake (UPDATED!) - USE THIS FOR SIGNAL CAPTURING](#microsd-express-sniffer)\n- [License](#license)\n\n---\n\n## How is this possible?\n\nThis is possible because the Nintendo Switch 2's MicroSD Express slot supports the SD Express 7.1 standard, which exposes a **true PCIe Gen3 x1 interface** and utilizes the **NVMe protocol** for communication.\n\nThis adapter simply maps PCIe x1 from the Switch 2’s MicroSD Express slot to a standard M.2 2230 NVMe SSD. After further research and review from users, an onboard mcu/fpga will be required for the handshake process with the Switch 2.\n\nCurrently, we've developed a sniffer board which will be used to facilitate this.\n\n---\n\n## Goals\n\n- ✅ Create Pinout \u0026 Pin Definitions (UPDATED!)\n- ✅ Create Footprints for MicroSD Express\n- ✅ Create Schematic for PCB layout\n- ✅ Create Dummy MicroSD Express Card V2\n- ✅ Create M.2 Breakout for prototyping (Updated 2-layer PCB)\n- ✅ Create MicroSD Express Breakout Board V0.1 (Updated 2-layer PCB)\n- ✅ Create MicroSD Express to SD Express Adapter (Experimental, Updated 2-layer PCB)\n- ✅ Create BOM for fabrication and sourcing (WIP)\n- ✅ Create MicroSD Express to NVMe M.2 SSD Pin to Pin Adapter (Proof of concept)\n- ✅ Create basic 3D printable enclosures/shells for the PCBs\n- ✅ Create MicroSD Express Sniffer PCB for capturing Nintendo Switch 2 Handshake (for getting NVMe drives to be functional!)\n- ✅ Update MicroSD Express Sniffer PCB with new components and better grounding\n- 🔲 Create MicroSD Express to NVMe M.2 SSD Adapter with FPGA/MCU Proto (for handshake with Nintendo Switch 2) **(in progress)**\n- ✅ Create MicroSD Express to Flex Cable Adapter\n- 🔲 Create Flex Cable to NVMe Adapter **(in progress)**\n- 🔲 Create MicroSD Express to NVMe M.2 SSD Dock **(in progress)**\n\n---\n\n## Status\n\nWork in progress. Currently, a prototype with handshake capability with the Switch 2 and also designs for the final product design are being worked on.\n\nAn early proof of concept prototype of the SDEX2M2 MicroSD Express to NVMe M.2 SSD Adapter has been made, but it does lack Switch 2 compatibility. \n\n**For prototyping, a new MicroSD Express sniffer has been uploaded which is used for capturing the signal/handshake that the Nintendo Switch 2 uses for communicating with the MicroSD Express card. With this, we are one step closer to our goal!**\n\nAdditionally, production-ready 2-layer PCBs for the MicroSD Express breakout board, NVMe breakout board, and the MicroSD Express to FPC Connector (which may be used in the final design) have been uploaded.\n\nThe MicroSD Express to SD Express adapter production ready prototype board has been uploaded as well, for users with full-size SD Express cards.\n\nBasic 3D printable shells have been added too, for convenience.\n\n---\n\n## Warnings\n\n- Use at your own risk. We are **not liable** for any damage to your drive, Switch 2, or other devices.\n- Only use **low-voltage, low-power M.2 2230 NVMe drives**.\n- **Do not use this in legacy MicroSD slots** (e.g., original Nintendo Switch).\n  \n---\n\n## Bill of Materials (BOM)\n\n| Reference | Quantity | Description                             | Part Number        | Manufacturer   |\n|-----------|----------|-----------------------------------------|--------------------|----------------|\n| J2        | 1        | M.2 Socket (M-Key, 2230)                | 114020             | Amphenol       |\n| FB1       | 1        | Ferrite Bead 220Ω@100MHz 0603           | BLM18PG221SN1D     | Murata/OEM     |\n| PCB       | 1        | 4-Layer PCB        | N/A                | Fabricated         | *              |\n|*          | 1        | 10kΩ – 100kΩ Pull Up Resistor (Optional) | N/A               | *              |\n\nThe optional resistor is for the PERST# lane, may help with state when idle. Not sure if needed until prototyping commences.\n\n---\n\n## PINOUT \u0026 LEGEND\n\n### MicroSD Express to M.2 NVMe Mapping\n\n| microSD Express Pin  | PCIe Function | M.2 M-Key Pin(s) | M.2 Function         |\n| -------------------- | ------------- | ---------------- | -------------------- |\n| 7 (Row 1)            | REFCLK+       | B10              | REFCLK+              |\n| 8 (Row 1)            | REFCLK−       | B11              | REFCLK−              |\n| 2 (Row 1)            | PERST#        | A11              | PERST#               |\n| 1 (Row 1)            | CLKREQ#       | B8               | CLKREQ#              |\n| 11 (Row 2)           | TX+           | B23              | PCIe TX+             |\n| 12 (Row 2)           | TX−           | B24              | PCIe TX−             |\n| 14 (Row 2)           | RX-           | A21              | PCIe RX+             |\n| 15 (Row 2)           | RX+           | A22              | PCIe RX−             |\n| 4 (Row 1)            | 3.3V VDD      | B2, B3, B4       | 3.3V Power           |\n| 6, 10, 13, 16     | GND           | A1, A4, etc.     | Ground               |\n\n---\n\n### M.2 NVMe Pinout\n\n| Pin     | Name     | Function                 |\n|---------|----------|--------------------------|\n| A11     | PERST#   | PCIe Reset               |\n| A21     | RX+      | PCIe RX+ (to host)       |\n| A22     | RX−      | PCIe RX− (to host)       |\n| B10     | REFCLK+  | PCIe Reference Clock +   |\n| B11     | REFCLK−  | PCIe Reference Clock −   |\n| B23     | TX+      | PCIe TX+ (from host)     |\n| B24     | TX−      | PCIe TX− (from host)     |\n| B2–B4   | 3.3V     | Power Supply             |\n| A1, A4  | GND      | Ground Pins              |\n\n---\n\n### MicroSD Express Pinout\n\nIn SD Mode \u0026* PCIe Mode\n\n| Pin | Row 1 Contact | SD Mode Function | PCIe Mode Function               |\n| --- | ------------- | -------------------- | ---------------------------- |\n| 1   | DAT2          | Data Line 2          | CLKREQ# (Power / Signal Mgmt)         |\n| 2   | DAT3 / CD     | Data Line 3 / CD     | PERST# (Reset)               |\n| 3   | CMD           | Command Line         | CMD (unused in PCIe mode)    |\n| 4   | VDD           | 3.3V Power           | 3.3V Power                   |\n| 5   | CLK           | Clock Line           | CLK (unused in PCIe mode)    |\n| 6   | VSS           | Ground               | Ground                       |\n| 7   | DAT0          | Data Line 0          | REFCLK+ (PCIe Ref Clock)     |\n| 8   | DAT1          | Data Line 1          | REFCLK− (PCIe Ref Clock)     |\n\n\n| Pin | Row 2 Contact   | PCIe Function                 |\n| --- | --------------- | ----------------------------- |\n| 9   | 1V8             | 1.8 Volts                     |\n| 10  | VSS2            | Ground for isolation          |\n| 11  | TX+             | PCIe TX+ (Transmit)           |\n| 12  | TX-             | PCIe TX- (Transmit)           |\n| 13  | VSS3            | Ground for isolation          |\n| 14  | RX-             | PCIe RX- (Receive)            |\n| 15  | RX+             | PCIe RX+ (Receive)            |\n| 16  | VSS4            | Ground for isolation          |\n| 17  | 1V2             | 1.2 Volts                     |\n\nPlease note: Row 2 is only operational in PCIe Mode. Row 2 is based on M1cha's (https://github.com/M1cha/sdexpress_pcbs) schematic.\n\n---\n\n### MicroSD Express Card to SD Express Slot Pinout\n\n| **MicroSD Express Pin** | **Function (PCIe Mode)**  | **SD Express Slot Pin** | **Function in Slot** | \n| ----------------------- | ------------------------- | ----------------------- | -------------------- | \n| 1 DAT2                  | CLKREQ#                   | 51                      | CLKREQ# (Power / Signal Mgmt) | \n| 2 DAT3 / CD             | PERST#                    | 52                      | PERST# (Reset line)  |\n| 3 CMD                   | CMD (unused)              | —                       | CMD (unused in PCIe mode) | \n| 4 VDD                   | 3.3V VDD                  | 18, 48                  | VDD                  |\n| 5 CLK                   | CLK (unused)              | —                       | —                    | \n| 6 VSS                   | GND (VSS1)                | 17, 47, 49, 50          | GND                  |\n| 7 DAT0                  | REFCLK+                   | 45                      | REFCLK+              | \n| 8 DAT1                  | REFCLK−                   | 46                      | REFCLK−              | \n| 9 1V8                   | 1.8V VDD (VDD2)           | 1, 2, 3 (often shared)  | VDD 1.8 Volts        | \n| 10 VSS2                 | GND (VSS2)                | 17, 47, etc.            | GND (GND Ground for isolation)| \n| 11 TX+                  | TX+                       | 39                      | PCIe TX+ (Transmit)  |\n| 12 TX-                  | TX−                       | 41                      | PCIe TX- (Transmit)  |\n| 13 VSS3                 | GND  (VSS3)               | 17, 47, etc.            | GND (Ground for isolation)| \n| 14 RX-                  | RX−                       | 35                      | PCIe RX- (Receive)|\n| 15 RX+                  | RX+                       | 37                      | PCIe RX+ (Receive)|\n| 16 VSS4                 | GND (VSS4)                | 17, 47, etc.            | GND (Ground for isolation)|                 \n| 17 1V2                  | 1.2V VDD (VDD3, optional) | —                       | Not used (May be unused)|\n\nNote: WIP\n\n---\n\n### Wiring Schematic\n\n![image](https://github.com/user-attachments/assets/4307b001-33de-480f-b8d2-8748455a149e)\n\nStill a WIP. Some discrepencies may exist.\n\n---\n\n### MicroSD Express Dummy Card\n\nA dummy card has been created (thanks to M1cha's design examples!), for reference. Files have been attached.\n\n![image](https://github.com/user-attachments/assets/9f630c3f-1d3a-49ea-a7c7-d65ca15c190f)\n\n---\n\n\n### MicroSD Express to FPC Flex Cable Connector\n\nA MicroSD Express to Flex Cable Connector (FPC) has been created for reference. Schematic, Geberer and PCB files have been attached.\n\n\u003cimg width=\"1861\" height=\"808\" alt=\"image\" src=\"https://github.com/user-attachments/assets/95d59788-1a3f-4cc0-a73a-3c443dbfbbd2\" /\u003e\n\n\n---\n\n### MicroSD Express Breakout Board\n\nA production-ready 2-layer breakout board for MicroSD Express has been created (codenamed: \"The Key\"). Files have been attached in the repo. The purpose of this is for prototyping with a breadboard.\n\n![image](https://github.com/user-attachments/assets/4a90a0a4-8f00-47b9-b7c8-c64651572659)\n\n\n---\n\n### NVMe M2 SSD Breakout Board\n\nA breakout board for a NVMe M.2 SSD slot (M-key) has been created. Files have been attached in the repo. The purpose of this is for prototyping with a breadboard.\n\n![image](https://github.com/user-attachments/assets/fd900180-43a0-4ebc-8bef-532b3a13d7fb)\n\n---\n\n### MicroSD Express to SD Express Prototype Adapter\n\nAn extremely experimental production ready MicroSD Express to **Full Size** SD Express Slot adapter has been made. The purpose of this is to allow full size SD Express cards to be inserted into the Nintendo Switch 2.\n\nPlease be aware that it is untested as of the time of writing.\n\n![image](https://github.com/user-attachments/assets/9b83f480-f018-4ea3-ac5c-bcd25908664c)\n\n\n---\n\n### SDEX2M2 MicroSD Express to NVMe M.2 Prototype Pin-to-Pin Adapter\n\nA production-ready (but experimental) 2-layer PCB for the SDEX2M2 MicroSD Express to NVMe M.2 adapter has been uploaded. \n\nPlease note that this is a pin-to-pin adapter, and is **not capable of completing the handshake with Nintendo Switch 2**. It is a proof of concept board.\n\n![image](https://github.com/user-attachments/assets/aca24f83-d0b5-4648-ab6a-90056126c72f)\n\n---\n\n### MicroSD Express Sniffer\n\n**Newly updated!**\n\nA experimental PCB MicroSD Express sniffer has been uploaded and updated. **This is used for capturing the handshake signal/commands from the Nintendo Switch 2**, which will be used to create the final SDEX2M2 Switch 2 NVME M.2 Drive Adapter.\n\nNow updated to use an Amphenol MicroSD Express Slot and with updated grounding for better signal isolation.\n\n\u003cimg width=\"1477\" height=\"849\" alt=\"SnifferV3\" src=\"https://github.com/user-attachments/assets/bc40fd3b-7e0e-4ee8-bff3-5e1ff20065a7\" /\u003e\n\n\n---\n\n## License\n\n\u003cimg width=\"210\" height=\"112\" alt=\"NVNT SDEX2M2 License\" src=\"https://github.com/user-attachments/assets/2b7edad0-3b00-4674-8fde-178494ccade5\" /\u003e\n\n\nThis hardware design is licensed under the **CERN Open Hardware License Version 2 – Strongly Reciprocal (CERN-OHL-S v2)**.\n\nThe software/firmware design is licensed under the **GNU General Public License v3.0 (GPLv3)**\n\nThe documentation and readme is licensed under the **Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA 4.0)**.\n\nSee [LICENSE](LICENSE.txt), [LICENSE-HARDWARE](LICENSE-HARDWARE.txt) and [LICENSE-DOCUMENTATION](LICENSE-DOCUMENTATION.txt) for more information.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNVNTLabs%2Fswitch2-SDEX2M2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNVNTLabs%2Fswitch2-SDEX2M2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNVNTLabs%2Fswitch2-SDEX2M2/lists"}