Now from using different languages I’ve grown accustomed to using the BCM references for the GPIO pins. However as some of you may know, these differ slightly between Rev1 and Rev2 of the boards so it is important to ensure you code matches and is easily adapted for the board you are using.
Diagram (above) includes BCM GPIO references (GPIO.BCM), common functions, Header GPIO references, and Pin numbers (GPIO.BOARD). An easy solution is simply to use a define for each and edit the code accordingly. But for python I’d often heard it suggested to detect the revision of the board, which seems sensible to me.
Well, to test it, I made a simple script. (I did consider using multiple lists, iterating through them and tab formatting into tables etc). Just remember RPi.GPIO will require you to run as a super user (sudo python gpiopins.py)….