Checking Raspberry Pi Revision Number & Board Version


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 :

As new models are released this table will be updated.

Model and PCB RevisionRAMRevisionPi Revision Code from cpuinfo
Model B Rev 1256MB0002
Model B Rev 1
ECN0001 (no fuses, D14 removed)
Model B Rev 2256MB0004
Model A256MB0007
Model B Rev 2512MB000d
Model B+512MB0010
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.21GB1.2a22042
Pi Zero v1.2512MB1.2900092
Pi Zero v1.3512MB1.3900093
Pi Zero W512MB1.19000C1
Pi 3 Model B1GB1.2a02082 (Sony, UK)
Pi 3 Model B1GB1.2a22082 (Embest, China)
Pi 3 Model B+1GB1.3a020d3 (Sony, UK)
Pi 41GB1.1 a03111 (Sony, UK)
Pi 42GB1.1 b03111 (Sony, UK)
Pi 42GB1.2b03112 (Sony, UK)
Pi 42GB1.4b03114 (Sony, UK)
Pi 44GB1.1 c03111 (Sony, UK)
Pi 44GB1.2c03112 (Sony, UK)
Pi 44GB1.4c03114 (Sony, UK)
Pi 48GB1.4d03114 (Sony, UK)
Pi 4004GB1.0c03130 (Sony, UK)
Pi Zero 2 W1GB1.0902120 (Sony, UK)

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 :

Pinout Command Output showing Pi Revision Number

As well as the 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 describe 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.



  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

    • 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.

  9. This is a very useful table. Would you please revise it for the new Pi 4 and any other models that may have been added? Or is there a better place I should look for this information?

  10. The table is great information. Thanks for sharing. I would love to know if there is an official source for these Hardware Revision Codes and where it might be located.

    Also, for FreeBSD folks, this Hardware Revision Code is found with the sysctl command instead of /proc/cpuinfo.

    sysctl -x hw.board.revision

    This will give you the Hardware Revision Code in hexadecimal.

Leave A Reply

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