Checking Your Raspberry Pi Revision Number & Board Version

24

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 RevisionRAMHardware Revision Code from cpuinfo
Model B Rev 1256MB0002
Model B Rev 1
ECN0001 (no fuses, D14 removed)
256MB0003
Model B Rev 2256MB0004
0005
0006
Model A256MB0007
0008
0009
Model B Rev 2512MB000d
000e
000f
Model B+512MB0010
0013
900032
Compute Module512MB0011
Compute Module512MB0014 (Embest, China)
Model A+256MB0012
Model A+256MB0015 (Embest, China)
Model A+512MB0015 (Embest, China)
Pi 2 Model B v1.11GBa01041 (Sony, UK)
Pi 2 Model B v1.11GBa21041 (Embest, China)
Pi 2 Model B v1.21GBa22042
Pi Zero v1.2512MB900092
Pi Zero v1.3512MB900093
Pi Zero W512MB9000C1
Pi 3 Model B1GBa02082 (Sony, UK)
Pi 3 Model B1GBa22082 (Embest, China)
Pi 3 Model B+1GBa020d3 (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 :

pinout

and the output will look something like this :

Pinout Command Output showing Pi Revision Number

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 :

 cat /proc/cpuinfo

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 :

cat /proc/device-tree/model

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.

Share.

24 Comments

  1. Dear Matt, I’m familiar with interfacing the old bbc micro but new to RPi. I’m designing an I/O board and am confused about the GPIO PINOUT. My RPi has cpuinfo as follows…
    Hardware BCM2708
    Revision 000e
    Serial 000000003dc78485
    Which pcb revision do I have?
    Best wishes
    Tom

    • Almost certainly a Rev 2. It will have two mounting holes in the PCB. At the time I did this article the Rev 2 was fairly new which is why my table doesn’t cover the newer “Revision” numbers.

  2. Rodney Shinkfield on

    Just a bit of updating: 17th July 2014 – I’ve just bought the Raspberry Pi B+ and the revision number is 0010.

  3. Great stuff – I now know what model I have. How do I turn this into useful documentation – I/O configuration, schematic/circuit diagram particularly the former?

  4. I received an A+ with board revision 0015 – do you know what has changed in this revision? (compared to the A+ with 0012)

    • I’ve not seen any references to 0015 so at the moment the differences are unknown, if indeed there are any differences.

  5. Thanks for the information. A quick Bash command for focusing on the desired string (“Revision”):

    pi_rev=(`cat /proc/cpuinfo | grep Revision`); echo ${pi_rev[2]}

    The above table and this Bash logic would make a very straight-forward Python program design. That is, given a Revision string value, show the mo0del and its characteristics.

  6. It’s a bit confusing when you say Pi Zero W = 0x9000C1 (I know it’s the hexadecimal notation)
    In /proc/cpuinfo it’s 9000c1

    Nice overview anyway!

  7. To get the Pi model in plain text, you can use this:
    cat /proc/device-tree/model
    might return “Raspberry Pi 3 Model B Rev 1.2”

  8. Great info, just got a new pi 3 and the board was a slightly different shade of green. seems its the first of my pi 3’s that i have to be from the UK. So now i have 2 pi 3’s from china, 1 from the UK, 1 b+, 1 pi zero 1.2, 1 Pi Zero W, and my first is a model b rev 2 with 512 mb ram.

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.