Checking Your Raspberry Pi Board Version & 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 introduced a new CPU and additional memory.

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)
256MB 0003
Model B Rev 2 256MB 0004
Model A 256MB 0007
Model B Rev 2 512MB 000d
Model B+ 512MB 0010
Compute Module 512MB 0011
Compute Module 512MB 0014 (Embest, China)
Model A+ 256MB 0012
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 0x9000C1
Pi 3 Model B 1GB a02082 (Sony, UK)
Pi 3 Model B 1GB a22082 (Embest, China)

In order to find out what hardware revision you have you can run 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”.

NOTE : The Revision number given in cpuinfo file is the hardware revision number. This is not the same as the Raspberry Pi Revision. In this example I have a Revision 1.0 with a hardware revision code of 0002. This is not a Revision 2 board!

The differences between the board revisions are minor but it now makes it sensible to identify which board revision you are using when creating hardware or software.



  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.

Leave A Reply