Cách Mod Picofly
Nintendo Switch
Tất Cả Đời Máy
Hướng dẫn kỹ thuật đầy đủ nhất: linh kiện cần chuẩn bị, quy trình tháo máy, hàn MOSFET / SoC ribbon cable, sơ đồ điểm hàn CLK/CMD/DAT0/RST từng đời, flash firmware, cài Hekate và Atmosphere — dành cho kỹ thuật viên và người tự làm có kinh nghiệm hàn vi mạch.
Tổng Quan: Picofly Là Gì, Hoạt Động Như Thế Nào?
Picofly là modchip mã nguồn mở dựa trên vi điều khiển RP2040 (Raspberry Pi), được cộng đồng phát triển để mod Nintendo Switch các dòng Mariko (V2, Lite, OLED) và Erista (V1). Đây là modchip duy nhất được hỗ trợ chính thức bởi NH Switch Guide — cộng đồng mod Switch lớn nhất hiện nay.
Picofly hoạt động theo nguyên lý CPU voltage glitching: chip RP2040 kết nối vào các tụ điện cạnh APU (chip xử lý chính), tạo ra các xung điện áp cực nhỏ và cực nhanh đúng thời điểm trong quá trình khởi động. Điều này khiến APU bỏ qua kiểm tra chữ ký bảo mật của Nintendo, cho phép tải payload (Hekate) từ thẻ SD thay vì boot thẳng vào firmware gốc (OFW).
- Tụ APU đứng dọc (khác V2)
- Cần flex cable V1 riêng
- DAT0 dễ tiếp cận từ mặt trên
- Máy unpatched: có thể dùng RCM thay modchip
- Tụ APU nằm ngang
- Flex cable V2 / V2 OLED đều dùng được
- DAT0 tiếp cận từ mặt trên board
- Phổ biến nhất, tài liệu nhiều nhất
- Mainboard nhỏ hơn, không gian hẹp
- Dùng flex cable V2 (Mariko)
- DAT0 tiếp cận từ mặt trên
- Cần cẩn thận với dây ribbon màn hình
- DAT0 không tiếp cận từ mặt trên
- Cần adapter DAT0 hoặc Kamikaze
- Flex cable V2 hoặc V3 OLED
- Khó nhất trong 4 đời máy
- Mod này YÊU CẦU kinh nghiệm micro-soldering thực tế — KHÔNG phải dự án cho người mới bắt đầu hàn
- Các điểm hàn có kích thước 0.1–0.3mm, cần kính lúp 10× hoặc kính hiển vi soi
- Hàn sai hoặc chập mạch CÓ THỂ phá hỏng mainboard vĩnh viễn (brick máy)
- Flux là BẮT BUỘC — không hàn không có flux ở các điểm này
- Đây là hướng dẫn kỹ thuật — người dùng tự chịu trách nhiệm về máy của mình
Linh Kiện & Dụng Cụ Cần Chuẩn Bị
Linh Kiện Phần Cứng
RP2040-Tiny được khuyến nghị nhất vì chất lượng kiểm soát tốt, đã có sẵn 3 điện trở 47Ω. Mua bản Kit (kèm flashing board). Tìm trên AliExpress, eBay.
Flex cable tích hợp sẵn MOSFET, dễ lắp hơn hàn MOSFET rời. Quan trọng: V1 và V2 KHÔNG dùng chung được. Kiểm tra nhãn trước khi mua.
Dùng nếu không dùng flex cable. Nhỏ gọn, vừa khít dưới shield APU. Mua 3–5 cái dự phòng vì rất dễ mất khi hàn.
CLK: 47Ω · CMD: 47–100Ω · DAT0: 47–100Ω · RST: 47Ω. RP2040-Tiny đã có sẵn — chỉ cần mua thêm nếu dùng RP2040-Zero.
Dây càng mảnh càng tốt cho điểm hàn nhỏ. Không dùng dây quá dài (>10cm) cho CLK/CMD/DAT0 — gây nhiễu tín hiệu.
Chỉ cần cho Switch OLED. Có 2 loại: V5 (dọc) và Corner adapter (góc). Corner adapter ổn định hơn theo phản hồi cộng đồng.
Tránh thẻ no-name. Format FAT32 (≤32GB) hoặc exFAT (>32GB). Dùng để chứa payload.bin, Hekate, Atmosphere.
Nintendo dùng ốc Y00 cho thân và JIS #000 cho board. Thiếu bộ tuốc-vít đúng loại = không tháo được máy.
Dụng Cụ Hàn
| Dụng Cụ | Thông Số | Tại Sao Cần |
|---|---|---|
| Mỏ hàn điều nhiệt | 320–360°C, mũi nhọn ≤ 0.5mm | Kiểm soát nhiệt độ là bắt buộc — quá nóng cháy pad, quá nguội hàn nguội |
| Kính lúp / kính hiển vi | 10–40× phóng đại | Pad hàn chỉ 0.1–0.3mm — không thể thao tác bằng mắt thường |
| Flux hàn SMD | No-clean flux gel hoặc liquid | BẮT BUỘC — flux giúp thiếc chảy vào đúng vị trí, tránh cầu hàn |
| Thiếc hàn 0.3mm | Sn63Pb37 hoặc SAC305 (lead-free) | Thiếc mảnh 0.3mm kiểm soát lượng thiếc tốt hơn trên điểm nhỏ |
| Bấc hút thiếc | 1.5–2mm width | Sửa cầu hàn, hút thiếc thừa |
| IPA 99% | Isopropyl Alcohol 99% | Vệ sinh flux sau khi hàn — đặc biệt quan trọng quanh điểm RST |
| Nhíp SMD cong | Đầu nhọn cong 45° | Gắp và giữ linh kiện 0805 khi hàn |
| Đồng hồ vạn năng | DMM, chế độ Diode Test + Continuity | Kiểm tra thông mạch và giá trị diode trước khi bật máy |
Bảng Điện Trở Chuẩn
Flash Firmware Picofly Trước Khi Hàn
Flash firmware trước khi lắp vào máy là bước bắt buộc. Firmware cũ (dưới v2.75) không được hỗ trợ. Phiên bản mới nhất hiện tại là v2.82.
- Chuẩn bị flashing board và cáp USB Kết nối flashing board (debug board) vào Picofly qua connector nhỏ. Dùng cáp USB-C hoặc Micro-USB (tùy revision chip) sang USB-A. Máy tính cần nhận thiết bị dạng USB Drive.
- Vào chế độ Bootloader (BOOTSEL) Giữ nút BOOTSEL trên board RP2040, rồi cắm USB vào máy tính. Giữ nút cho đến khi máy tính nhận một ổ đĩa USB mới tên
RPI-RP2. Thả nút. - Tải firmware mới nhất Tải file
picofly_fw_vX.XX.uf2từgithub.com/Ansem-SoD/Picofly/releases. Đây là nguồn chính thức duy nhất — không dùng firmware từ nguồn khác. - Copy file .uf2 vào ổ RPI-RP2 Kéo thả (hoặc copy) file .uf2 vào ổ đĩa
RPI-RP2đang hiện trên máy tính. Chip sẽ tự flash và reboot — ổ đĩa sẽ biến mất sau vài giây. - Xác nhận flash thành công Rút USB, cắm lại. Chip sẽ nhấp nháy xanh 1 lần rồi báo lỗi đỏ (vì chưa kết nối vào máy — bình thường). Nếu chip không sáng gì = flash thất bại, thử lại từ bước 2.
Payloads → modchip_toolbox.bin → Picofly Options → Info. Hiển thị version 2.82 = thành công. Hiển thị “No valid picofly descriptor” = đang dùng firmware hwfly-nx fork không hỗ trợ, cần flash lại đúng firmware Picofly.Tháo Máy & Chuẩn Bị Mainboard
- Tắt máy hoàn toàn và xả pin Hold nút Power → Power Options → Turn Off (không phải Sleep). Nếu có thể, sạc xả pin xuống dưới 20% trước khi tháo để giảm nguy cơ. Không tháo máy khi đang sạc.
- Tháo ốc vít thân máy Switch V1/V2/OLED: 4 ốc Y00 (tri-wing 3 cánh) ở mặt sau. Switch Lite: tổng 9 ốc bao gồm 4 ốc Y00 và 5 ốc JIS #000. Đặt từng ốc vào khay có nhãn để không nhầm vị trí.
- Mở thân và tháo pin Dùng spudger nhựa tách nhẹ 2 nửa thân. Rút connector pin ngay lập tức trước khi làm bất cứ điều gì khác — đây là bước an toàn quan trọng nhất.
- Tháo shield APU (tấm chắn kim loại) Tháo tất cả ốc JIS #000 giữ shield. Dùng spudger hoặc nhíp nhấc nhẹ các chốt giữ ở góc shield. Đặt shield sang bên — sẽ cần đục/cắt notch cho dây flex cable đi qua.
- Cắt notch trên shield APU Xác định hướng SoC ribbon cable sẽ thoát ra (thường phía cạnh ngắn giữa APU và RAM). Dùng đục nhỏ hoặc Dremel tạo notch đủ rộng cho flex cable đi qua mà không bị gập. Làm sạch mạt kim loại bằng khí nén và IPA.
- Vệ sinh và chuẩn bị bề mặt Lau sạch toàn bộ mainboard bằng IPA 99% để loại bỏ dầu tay, bụi và flux cũ. Đặt mainboard lên thảm chống tĩnh điện. Đeo vòng tay ESD.
Hàn MOSFET hoặc SoC Flex Cable
MOSFET là linh kiện thực hiện voltage glitch — nó kết nối vào các tụ điện lọc điện áp của APU để tạo xung nhiễu điện áp đúng thời điểm. Có 2 cách thực hiện:
Phương án A: Dùng SoC Ribbon Cable (Dễ hơn, Khuyến nghị)
- Flex cable đã tích hợp sẵn 1 hoặc 2 MOSFET — không cần hàn MOSFET rời
- Chọn đúng loại: V1 cable cho Switch Erista (V1), V2 cable cho Mariko/Lite/OLED
- Trượt phần anchor của flex vào dưới khung kim loại bên dưới APU
- Đầu flex với MOSFET đặt tiếp xúc với tụ điện cạnh APU — không hàn, chỉ giữ bằng áp lực của shield
- Đầu kia của flex cắm vào connector trên Picofly chip (hoặc hàn theo pin của RP2040)
Phương án B: Hàn MOSFET Rời IRFHS8342 (Khó hơn)
- MOSFET kích thước 2×2mm — cần kính hiển vi và nhíp SMD
- V1 (tụ đứng dọc): Hàn MOSFET vào mặt bên của tụ điện — Gate vào dây điều khiển từ chip, Drain+Source nối 2 cực tụ
- V2/Lite/OLED (tụ nằm ngang): Có thể bỏ 1 tụ trái, hàn MOSFET vào pad tụ vừa bỏ ra. Hoặc hàn song song lên tụ còn lại
- Dây điều khiển Gate: dây AWG 40 từ chân CPU trên Picofly → Gate MOSFET
- Cố định MOSFET bằng solder mask sau khi hàn xong
Hàn Dây Tín Hiệu: CLK, CMD, DAT0, RST, 3.3V, GND
Đây là phần khó và quan trọng nhất. 6 điểm hàn tín hiệu quyết định modchip có hoạt động được không. Vị trí chính xác từng điểm phụ thuộc vào đời máy — xem Phần 7 bên dưới.
Quy Trình Hàn Đúng Chuẩn
- Hàn điện trở lên Picofly trước Hàn 3–4 điện trở SMD 0805 lên pad CLK, CMD, DAT0, RST trên board Picofly. Đây là bước dễ nhất — làm trước khi chạm vào mainboard Switch.
- Chuẩn bị pad hàn trên mainboard Thêm một chút flux vào pad đích trên mainboard. Dùng mũi hàn nhỏ “tin” pad (phủ một lớp thiếc mỏng) trước — giúp thiếc bám tốt hơn khi hàn dây vào.
- Cắt dây hàn đúng độ dài CLK, CMD, DAT0: không quá 8–10cm. Dây quá dài gây nhiễu tín hiệu ở tần số cao. 3.3V và GND có thể dài hơn (đến 15cm). Bóc vỏ 1–2mm hai đầu.
- Hàn dây vào pad mainboard Đặt đầu dây vào pad, chạm mũi hàn nhẹ <2 giây. Flux và nhiệt độ đúng sẽ cho mối hàn đẹp ngay. Không nên chà mũi hàn — giữ yên và nhấc lên.
- Hàn đầu còn lại vào điện trở trên Picofly Đảm bảo không nhầm CLK/CMD (phổ biến nhất). Kiểm tra lại sơ đồ pinout chip của bạn trước khi hàn.
- Vệ sinh flux và kiểm tra thông mạch Lau sạch flux bằng IPA 99% — đặc biệt quanh pad RST. Dùng DMM chế độ Continuity kiểm tra từng đường dây. Kiểm tra không có cầu hàn (bridge) giữa các pad.
- Đảo dây CLK và CMD — boot hoàn toàn không được, máy vào OFW ngay
- Để flux thừa trên pad RST — máy tự reboot liên tục sau khi bật
- Dây quá dài trên CLK/CMD/DAT0 — boot ngẫu nhiên thất bại 10–30%
- Pad CMD bị nhấc (lifted pad) — cần vá trace vi mạch, rất phức tạp
- Không có GND — chip có điện nhưng không tham chiếu được, hành vi không dự đoán được
Sơ Đồ Điểm Hàn Chi Tiết Từng Đời Máy
Chọn đời máy để xem vị trí điểm hàn, đặc điểm riêng và những lưu ý cụ thể:
Switch V1 (Erista · HAC-001 · Chip T210)
Switch V1 có tụ APU đứng dọc (khác với V2/Lite/OLED nằm ngang). Đây là điểm khác biệt lớn nhất trong cách hàn MOSFET. V1 không unpatched có thể dùng RCM thay modchip — chỉ cần modchip nếu máy đã bị patch (máy V1 sau 2018).
- Tụ APU đứng dọc: Khi hàn MOSFET hoặc dùng flex cable V1, các tụ nằm đứng dọc — hướng cắm flex cable khác với V2
- Flex cable V1 bắt buộc: Flex cable V2 KHÔNG dùng được cho V1 (connector và hướng MOSFET khác)
- Máy V1 unpatched (serial < XAW1003000): Không cần modchip — dùng RCM jig và TegraRcmGUI nhanh hơn nhiều
- Picofly đặt lên IHS: Chip Picofly đặt trên tấm tản nhiệt (IHS) phía trên RAM, kẹp bởi shield và IHS
Switch V2 (Mariko · HAC-001(-01) · Chip T210B01)
Switch V2 Mariko là đời phổ biến nhất để mod Picofly, có nhiều tài liệu và video hướng dẫn nhất. Tụ APU nằm ngang. DAT0 dễ tiếp cận từ mặt trên board.
- Tụ APU nằm ngang: Dùng flex cable V2 (hoặc V3 OLED) — đều hoạt động được
- MOSFET rời: Có thể bỏ 1 tụ trái cạnh APU, hàn MOSFET IRFHS8342 lên pad vừa trống
- eMMC brands: Samsung và SK Hynix — Picofly v2.82 hỗ trợ cả hai out-of-the-box
- Firmware Switch hiện tại: Tương thích đến OFW 22.x với Picofly v2.82
Switch Lite (Mariko · HDH-001 · Chip T210B01)
Switch Lite dùng cùng chip T210B01 với V2, nhưng mainboard nhỏ hơn và không gian làm việc hẹp hơn đáng kể. Đặc biệt cẩn thận với ribbon màn hình và các connector nhỏ.
- Dùng flex cable V2 (Mariko): Tương thích hoàn toàn với Lite
- Không gian hẹp: Khi đặt dây, đảm bảo không chèn ép ribbon màn hình LCD bên dưới
- SD card slot hàn cố định: Lite không dùng board SD rời — nếu SD slot hỏng phải thay nguyên slot
- Notch shield: Shield APU của Lite nhỏ hơn — cắt notch cẩn thận hơn, ít không gian thao tác hơn
- Kiểm tra video sau khi lắp: Ribbon màn hình dễ bị lỏng nếu không lắp đúng cách
Switch OLED (Aula · HEG-001 · Chip T239)
Switch OLED là đời khó nhất để mod. Điểm DAT0 KHÔNG tiếp cận được từ mặt trên board — cần dùng phương pháp đặc biệt. Có 2 lựa chọn:
| Phương Pháp | Ưu Điểm | Nhược Điểm | Khuyến Nghị |
|---|---|---|---|
| DAT0 Adapter | Không cần khoan/mài board, có thể tháo ra | Có thể bong sau nhiều thermal cycle; SK Hynix eMMC khó hơn Samsung | Cho đa số người |
| Kamikaze Method | Vĩnh cửu, không bong, ổn định nhất | Khoan qua 3 lớp board — sai 0.1mm = brick; cần kỹ năng cao và hiển vi | Cho kỹ thuật viên chuyên |
- Cắt frame cho CLK: Dùng dao cắt sắc hoặc Dremel mài nhẹ góc frame kim loại cạnh pad CLK. Không mài quá sâu — có linh kiện nhỏ ngay bên cạnh
- DAT0 Adapter loại nào: Corner adapter (flex góc) ổn định hơn V5 adapter (dọc) theo cộng đồng GBAtemp
- eMMC SK Hynix: Khó lắp DAT0 adapter hơn Samsung vì ball DAT0 vị trí khác. Kamikaze thường ổn định hơn với Hynix
- Dây CLK đặc biệt: Sau khi cắt frame, dây CLK chạy qua notch này ra ngoài shield
- Flux thừa trên mặt dưới board (quanh eMMC): Vệ sinh kỹ bằng IPA trước khi lắp adapter
Kiểm Tra & Lần Boot Đầu Tiên
- Đo diode mode trước khi cắm pin Que đen (-) vào GND, que đỏ (+) lần lượt vào CLK/CMD/DAT0/RST. Giá trị chuẩn: CLK ≈ 0.42V, CMD ≈ 0.46V, DAT0 ≈ 0.465V, RST ≈ 0.41V. Bất kỳ giá trị nào là 0V (chập GND) → dừng lại, tìm và sửa cầu hàn trước.
- Kiểm tra thông mạch Dùng chế độ Continuity (bíp) kiểm tra: CLK chip → CLK mainboard phải bíp, CMD → CMD bíp, DAT0 → DAT0 bíp. Kiểm tra không có thông mạch chéo (CLK không bíp với CMD chẳng hạn).
- Đặt lớp cách điện giữa chip và RAM Trước khi lắp lại, đặt một miếng vải cotton mỏng, giấy Kapton, hoặc miếng nhựa không dẫn điện giữa board Picofly và các chip RAM. Tránh chập mạch do tiếp xúc trực tiếp.
- Cắm pin (CHƯA đậy thân máy), cắm thẻ SD với payload.bin Thẻ SD phải có file
payload.bin(Hekate) ở thư mục gốc. Cắm pin, giữ mọi thứ trên bàn không đóng thân máy lại. - Bật máy và quan sát LED Picofly LED Picofly: nhấp nháy xanh/tím vài lần (đang glitch) → vàng hoặc xanh ổn định (thành công). Màn hình hiện Picofly splash screen “No SD Card” (nếu chưa có thẻ) hoặc thẳng vào Hekate menu.
- Lần boot training đầu tiên có thể lâu hơn Lần đầu Picofly “học” timing glitch của máy có thể mất 30–60 giây. Kiên nhẫn đợi. Nếu sau 90 giây vẫn không có gì → kiểm tra lại kết nối phần cứng.
- Đóng máy và test thực tế Sau khi boot thành công lần đầu, đóng thân máy, tắt và bật lại 5–10 lần để xác nhận ổn định. Tỉ lệ boot thành công nên đạt ≥ 95% — nếu thấp hơn, kiểm tra lại kết nối DAT0 và giá trị điện trở.
Cài Hekate và Atmosphere Lên Thẻ SD
Cấu Trúc Thẻ SD Chuẩn
| File / Thư Mục | Nguồn Tải | Mục Đích |
|---|---|---|
payload.bin (gốc SD) | github.com/CTCaer/hekate | File Hekate đổi tên thành payload.bin — modchip tải file này khi boot |
atmosphere/ | github.com/Atmosphere-NX/Atmosphere | Thư mục CFW Atmosphere — chứa package3, modules, contents |
bootloader/ | Cùng release Hekate | Chứa hekate_ipl.ini, payloads, res (icon) |
bootloader/hekate_ipl.ini | Tự viết hoặc dùng mẫu | Cấu hình menu boot Hekate |
switch/ | Tùy homebrew cài thêm | Chứa file .nro của homebrew apps |
File hekate_ipl.ini Mẫu
[config] autoboot=0 bootwait=3 verification=1 autohosoff=2 autonogc=1 updater2p=1 [CFW EmuMMC] fss0=atmosphere/package3 kip1patch=nosigchk emummcforce=1 icon=bootloader/res/emummc.bmp [CFW SysMMC] fss0=atmosphere/package3 kip1patch=nosigchk emummc_force_disable=1 icon=bootloader/res/sysnand.bmp [Stock OFW] fss0=atmosphere/package3 stock=1 emummc_force_disable=1 icon=bootloader/res/stock.bmp
Các Bước Thiết Lập Sau Boot Đầu
- Tạo emuMMC (Khuyến nghị cao) Trong Hekate:
emuMMC → Create emuMMC → SD Partition. emuMMC là bản sao NAND chạy trên thẻ SD — dùng CFW trên emuMMC, OFW trên SysMMC, tránh ban Nintendo Account. - Tạo backup NAND Trong Hekate:
Tools → Backup eMMC → eMMC BOOT0/1 + eMMC RAW GPP. Backup này cho phép khôi phục máy nếu có sự cố. Lưu file backup an toàn ra máy tính. - Cập nhật firmware qua OFW (không qua Daybreak) NH Guide khuyến nghị: boot vào OFW → System Settings → System Update. Đảm bảo e-fuse burn đúng và tránh lỗi BOOT0/1 partition khi dùng Daybreak.
- Cập nhật Atmosphere và Hekate sau mỗi lần update OFW Tải bản mới từ GitHub, giải nén và copy đè lên thẻ SD. Đổi tên file hekate*.bin thành payload.bin.
NH Modchip Guide: guide.nx-modchip.info — Chi tiết kỹ thuật lắp Picofly từng model
Picofly GitHub: github.com/Ansem-SoD/Picofly — Firmware, mã LED lỗi
Bảng Mã LED Picofly & Xử Lý Lỗi Thường Gặp
Picofly dùng LED nhấp nháy để thông báo trạng thái. Quy ước: = là nháy dài, * là nháy ngắn. Đọc mã sau lần nhấp xanh đầu tiên.
Bảng Lỗi Thường Gặp & Giải Pháp
| Triệu Chứng | Nguyên Nhân Khả Năng | Giải Pháp |
|---|---|---|
| Boot OFW ngay, không có LED tím | Chip không có điện (3.3V) | Kiểm tra dây 3.3V và GND |
| LED đỏ, boot OFW | DAT0 đứt hoặc lỏng | Đo diode DAT0, hàn lại hoặc thay adapter |
| Boot thất bại 10–30% (ngẫu nhiên) | Điện trở CMD/DAT0 quá nhỏ | Tăng CMD và DAT0 lên 100Ω |
| Máy tự reboot liên tục sau bật | Flux thừa trên pad RST | Vệ sinh kỹ IPA quanh điểm RST |
| LED bình thường nhưng vẫn vào OFW | File payload.bin sai tên/sai vị trí | Kiểm tra file tên payload.bin ở root SD |
| Hekate load nhưng eMMC lỗi | BOOT0/BOOT1 partition hỏng | Restore backup NAND, hoặc dùng emuMMC |
| Không nhận thẻ SD trong Hekate | SD card slot hỏng hoặc thẻ lỗi | Thử thẻ SD khác; kiểm tra connector SD |
| Training mất 60+ giây mỗi lần boot | eMMC brand chưa được tối ưu trong firmware cũ | Cập nhật Picofly firmware lên v2.82 |
