Raspberry Pi boards have long served as the foundation for hardware hacking and DIY engineering, but a recent firmware update has introduced a significant barrier for those looking to modify their hardware. A lock now exists on the Raspberry Pi 5 and Compute Module 5 (CM5) that prevents users from upgrading or even replacing RAM chips, effectively tethering the device to its factory-shipped memory configuration.
The restriction, first introduced in the 2024-09-23 bootloader (EEPROM) update, performs a hardware-level check during the boot process. If the firmware detects that the installed RAM does not match the configuration stored in the System-on-Chip’s (SoC) One-Time Programmable (OTP) memory, the device will fail to boot. Instead, the board triggers “Error Code 9,” indicated by a sequence of ten slow and four fast LED flashes, signaling an SDRAM mismatch.

The lock is an intentional security measure according to Phil Elwell, Senior Principal Software Engineer at Raspberry Pi. Elwell confirmed that the check was implemented to combat a specific type of reseller fraud, where third parties would purchase low-memory models, desolder the RAM, install higher-capacity chips, and sell the modified boards as genuine high-tier products. By locking the memory signature to the OTP memory at the factory, Raspberry Pi aims to ensure that the hardware reported by the system matches the physical components originally sold.
However, this protection comes at a cost to the hobbyist community. Technical analysis by hardware expert Jeff Geerling reveals that the lockdown is more restrictive than a simple capacity check. The firmware also looks for manufacturer-specific signatures and density attributes. This means that even a “like-for-like” repair—swapping a damaged 8GB chip for an identical 8GB chip from a different donor board—may still trigger a boot failure if the manufacturer signatures do not align perfectly with the factory-set parameters.
Technical Mechanisms and the OTP Lock
The core of the issue lies in the BCM2712 SoC’s OTP memory. This is a permanent, non-writable area of the chip where the factory “burns” the hardware specifications. Because this data cannot be reset or modified by the user, there is no way to officially update the SoC to recognize a new RAM chip once the initial signature is set.
While older models like the Raspberry Pi 4 do not currently feature this aggressive verification, the move marks a shift in how Raspberry Pi manages its hardware ecosystem as it moves further into industrial and commercial markets. For industrial clients, ensuring component integrity is a priority; for the individual tinkerer, it represents a loss of the “right to repair” and the end of DIY memory expansion.
Known Workarounds and Trade-offs
There is currently one primary method to bypass the RAM check, though it requires staying on older software. Users who have successfully performed RAM swaps or upgrades must use bootloader version v2024-09-10-2712 or earlier. These versions do not contain the “Error Code 9” verification logic.
Relying on outdated firmware presents its own set of challenges. As Raspberry Pi continues to update its official operating system and drivers, newer kernels may eventually require more recent bootloader versions to function correctly. Furthermore, staying on older firmware may leave boards without critical bug fixes or performance optimizations tailored for the Pi 5’s power management and high-speed interfaces. For now, the message to the hardware modding community is clear: unless you are willing to freeze your firmware in time, upgrading a Raspberry Pi’s RAM is no longer a viable project.
















