1. This modification allows you to easily install an M.2 NVMe SSD 2230/2242 to your A1706 13-inch MacBook Pro Touchbar 2016 & 2017.
2. The full list of compatible SSDs will be sent only after you purchased the adapter here(to avoid seller jacking up SSD price): Tindie A1706
3. By all means this mod should be performed to a good working MacBook(no other issue other than SSD issue), it is intended to add value to the Mac, not further downgrading it to a non-working state. So please make sure you are aware of your soldering capabilites and the requirement it takes to perform all these soldering steps successfully. We WILL NOT be responsible if you messed up your logic board.
This 13" MacBook came in with no SSD issue, boots straight up to Question Mark Folder.
Make sure the lifeboat connector is properly plugged in all the time.
Booting into Recovery doesnt show any sign of internal SSD presence.(only Recovery Volume found)
You can try to boot external MacOS using external drive, but you will end up with "Critical Software Update" prompt. This is the sign of missing T1 partition inside the onboard SSD. We will call this T1 Partition as "T1 Critical Software Update" for now. More about this at the end of this guide. So, when you are having this kind of SSD issue(only for T1 Mac), its either:
1. The NANDs/Controller are dead
2. Voltage SSD supply issue
3. The Lifeboat connector is not connected properly
4. Shorted caps, etc
We dont really care which one is it, because this A1706 NVMe adapter will solve all of them once.
Disassemble the whole MacBook to get access to the MLB.
MLB safely removed from the chassis, focus to the SSD area on the right.
Pry off the EMI metal shields covering the NAND and controller.
Exposed NAND(left) and SSD controller(right).
Remove the (left) black plastic clip on the speaker FPC(because they're easily melt)
Remove the (right) black plastic clip on the speaker FPC(because they're easily melt)
Begin to remove the metal guard around the SSD using hot air gun(no nozzle). Circulate the hot air around the local area until it reach liquidus lead-free temperature(poke any SSD caps to guess the timing) and slowly lift the guard. Look, we've forgot to cover the speaker FPC with some metal or coin, so they're slightly melt right now(we can be idiot sometimes). So make sure to cover them up!
Remove the black underfill around the NANDs & controller's perimeter for easier BGA lifting later on.
Surrounding black epoxy removed, local SSD circuits and ICs dont matter anymore.
Unbox the A1706 NVMe Adapter like you did for your Gundam Kit.
Try to place the A1706 NVMe Adapter in position, anything that comes in the way can be removed.
Start to heat the right wing again with the hot air gun(no nozzle) and begin to remove the NANDs and controller using knife. Make sure the temperature reach lead-free liquidus temperature to minimize solder pad loss.
All SSD components safely removed. We also removed the speaker FPC since they're melted and will be replaced later.
Apply flux and run the pads with leaded solder wire.
Begin to scrape the remaining underfill on the surface using the solder iron aided with hot air gun(if you have better removal method then do it)
Remove the remaining solder on the surface using wick & flux.
This is how it looks like after completing underfill removal. You might see some solder pads are missing, and I know some of you can do better than this. But its not really an issue because the critical testpoints are only as follows:
You MUST NOT lose the pads in the red lines.
They are PCIE_SSD_R2D <0-3> , PCIE_SSD_D2R <0-3>, and PCIE_CLK100M_SSD.
You can measure their diode values and it should be around 0.2-0.4 , MAKE SURE they're not shorted or OL. These values are coming from the PCH.
So now, "PROFESSIONALLY" feel it with your fingers to make sure all underfills are gone. You have to make sure the surface is flat and smooth. Im not kidding, it has to be real flat and smooth, because the balls youre going to use on the A1706 adapter is only 0.3mm-0.45mm size.
Use the stencil to reball the solder balls(using solder balls or solder paste).
If you are reballing using solder balls, the optimum sizes are stated as the above picture.
Apply flux to the MLB surface,
Spread it out to make it really thin layer of flux.
Align the adapter into place,
Align the adapter following these 3 lines. Basically you have to align it matching the edges of the MLB.
A correct placement should allow these pads in straight line peep at you lol. The A1706 adapter was designed to perfectly match the MLB dimension with the PCIe functional pads.
Heat it with the hot air gun(in circle, no nozzle) until it reaches leaded liquidus temperature.
Measure the testpoints on the A1706 adapter with diode mode, they were marked as small arrow. For an arrow, there will be a differential pair = 2 copper traces = 2 diode values close to each other. This is to ensure the solder balls fall correctly on all testpoints, & to make sure the joints integrity are established after soldering. (picture above: measuring on CLK100M)
Picture above: measuring diode value on caps (small arrow). All of them should have value around 0.2 - 0.4 and should NOT be shorted or OL. These values are directly connected to PCH.
Run the speaker pads with leaded solder(slightly low melt), as we're going to install the FPC back
Do the same thing for the M.2 pads as well.
Reflow the speaker FPC area with hot air gun (310C air setting)
Position the M.2 FPC female connector on the M.2 footprint.
Reflow the M.2 area with hot air gun (310C air setting)
Touch up any bad solder joints with soldering iron + leaded solder.
Solder jumper wire of 0.1mm to RST pad on the adapter
Connect it to the SSD_RESET_L. Testpoint near lifeboat connector.
Solder another 0.1mm jumper to SSD_CLKREQ_L.
Connect it to any nearest GND pad. You can cover the RST line and CLKREQ line with any conformal coating.
Solder any thick copper wire to 3V pad on the adapter for 3.3V supply to NVMe.(In this picture we used the Motor's Winding Core Copper)
Connect the other end to PP3V3_S5. Yes, it is connected to S5 state rail, but DONT FREAK out just yet, we will explain the rational at the end of this guide.
Optional but recommended: Connect the GND pad on the adapter to any GND pad on MLB for better Return Current Path.
Connect it to GND pad of the Tant Cap.
Here is the final result! This is the end of soldering phase, and you can clean all the flux and use ultrasonic cleaner if you want to. You can also cover the exposed copper wires with conformal coating.
Install the black clips you removed for the speaker FPC.
To test whether the M.2 port is functional or not, we're gonna plug in an NVMe SSD with MacOS preinstalled in it.
Plug in the USB-C charger, and the LED light will starts to blink when the MLB turns on and reads the NVMe drive.
Reinstall the MLB into the chassis as you usually do,
Tape the thin LCD tape to hold the SSD in place(yes, we learn well from Apple to tape everything and stuff). This small tape size should be enough. REMEMBER, the foundation support for this PCB adapter is only 0.3mm balls. So make sure to be gentle with it as you remove/install the SSD, or else youre going to rip off the solder pads and done.
Turn on the Mac, the LED light should blink as usual, and start to boot MacOS installer as usual. This time we will be installing Monterey
After you install MacOS like the standard procedure, and everything goes really well, then it will welcome you to Hello page, and as you go further it will ask you to connect to WIFI. This is where it will prompt "A critical software update is requred", because your 3rd party NVMe SSD is not native Apple SSD, and its missing the T1 Critical Software. But don't worry, it will download it from the Apple server and install it to your 3rd party NVMe.
Key in the WIFI password, and let it download the necessary T1 Critical Software from their server. (you will never observe this kind of prompt in A1708 nontouchbar MacBook)
Let it install for few minutes.
Andd youre done! You have a fully working A1706 with new, upgradable NVMe SSD!
128GB 2230 NVMe SSD - SSSTC. Make sure to always check it to run with x4 @ 8.0GT/s
The reason the 3.3V NVMe supply is taken from PP3V3_S5:
1. A1708 nontouchbar MBP also use PP3V3_S5 as their SSD supply(you can check the boardview)
2. PP3V3_S0 is too far to set a jumper.
3. The PP3V3_S5 behaves like S4 rail after latest software update, meaning that it will be turned off after shutdown, as follows:
Note the System Firmware version: 220.127.116.11.0 , SMC Version: 2.44f1With this firmware and SMC version, if you turn off the MBP and measure the PP3V3_S5, the voltage will be present. So you MUST apply the latest Monterey Security Update, and the MLB will be flashed with the latest Firmware and SMC Version.
After installing the latest Security Update, System Firmware Version: 418.104.22.168.0 , SMC Version: 2.44f6
With this firmware and SMC version, if you turn off the MBP and measure the PP3V3_S5, the voltage will be absent. So you dont have to worry about the S5 state anymore!
If you read this far, THANK YOU! Have a nice day! :)