To fix a Raspberry Pi 5 not detecting an NVMe SSD, you need to check the physical flexible flat cable (FFC), update the bootloader, and enable PCIe in the system configuration files.
Step 1: Check and Reseat the FFC Ribbon Cable
A loose, upside-down, or damaged ribbon cable is the most common cause of detection failure.
• Verify orientation: Ensure the copper contact points face the correct direction on both ends (typically inward toward the USB ports on the RPi 5 side, and matching the PCB markings on the HAT/M.2 base side). If you are unsure, try flipping the cable 180 degrees at one or both ends.
• Reseat firmly: Lift the black/grey plastic latches on both the Raspberry Pi 5 PCIe port and the M.2 HAT, push the cable straight and fully into the slot, and snap the latches down.
• SSD Incompatibility: Certain NVMe drives (such as select models with Phison or Polaris controllers) have known compatibility quirks with Pi 5 adapters. Test the SSD in a standard USB-to-NVMe enclosure on a PC/Mac to verify the drive itself isn't dead.
• Power Supply: Use the official 27W Raspberry Pi USB-C Power Supply. Underpowered supplies can cause PCIe/NVMe link drops.