Each variant of the Raspberry Pi has a different Pi Revision Number. There have now been a number of revisions to the Raspberry Pi PCB so the device you have in front of you could be one of a number of variants. The changes include mounting holes, modifications to the power supply circuitry, different GPIO headers and varying numbers of USB ports. The Pi 2 and Pi 3 introduced new CPUs and additional memory.
Finding your Pi Revision Number is a useful technique to identify what model of Pi you have and, in some cases, where it was manufactured.
The variants currently available are :
|Model and PCB Revision||RAM||Hardware Revision Code from cpuinfo|
|Model B Rev 1||256MB||0002|
|Model B Rev 1
ECN0001 (no fuses, D14 removed)
|Model B Rev 2||256MB||0004
|Model B Rev 2||512MB||000d
|Compute Module||512MB||0014 (Embest, China)|
|Model A+||256MB||0015 (Embest, China)|
|Model A+||512MB||0015 (Embest, China)|
|Pi 2 Model B v1.1||1GB||a01041 (Sony, UK)|
|Pi 2 Model B v1.1||1GB||a21041 (Embest, China)|
|Pi 2 Model B v1.2||1GB||a22042|
|Pi Zero v1.2||512MB||900092|
|Pi Zero v1.3||512MB||900093|
|Pi Zero W||512MB||9000C1|
|Pi 3 Model B||1GB||a02082 (Sony, UK)|
|Pi 3 Model B||1GB||a22082 (Embest, China)|
|Pi 3 Model B+||1GB||a020d3 (Sony, UK)|
As new models are released this table will be updated.
Methods for Finding Raspberry Pi Revision Number
In order to find out what hardware revision you have you can use two methods
Method 1 – Pinout Utility
In the new versions of Raspbian the pinout command was added. This can be run at the command prompt or via a terminal window :using :
and the output will look something like this :
This method also provides lots of other information including the position of GPIO numbers on the Pi’s GPIO Header and amount of RAM fitted. More information about the Pi’s GPIO header can be found on the simple guide to the GPIO header page.
Method 2 – cpuinfo File
The traditional method of finding the Pi Revision Number was reading the “cpuinfo” file by running the following command at the command prompt or via a terminal window :
This will give you a text output something like this :
Processor : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 847.05 Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 Hardware : BCM2708 Revision : 0002 Serial : 000000000abc0ab1
In this example I’ve got a PCB with a Revision code of 0002. That is a plain old “Model B Revision 1.0”.
For models with multiple cores (Pi 2 and Pi 3) you will see a block of information per core with the Hardware/Revision/Serial numbers at the bottom.
NOTE : The Revision number given in cpuinfo file is the hardware revision number. This is not the same as the Raspberry Pi Rev number sometimes used to descripe updated PCBs. In this example I have a Model B “Rev 1.0” with a hardware revision code of 0002.
The reading the cpuinfo file is a useful technique if you want to find out this information within a Python script.
Raspberry Pi Model Information
With the latest version of Raspbian you can also retrieve the Pi model as a string by using :
This will output the model information. For example :
Raspberry Pi 3 Model B Plus Rev 1.3
Obviously the output will vary depending on what hardware you are running the command on.